Files
SHiNE-server/Черновик_CHANNEL_MEMBERSHIP_для_каналов.md

3.0 KiB

Черновик CHANNEL_MEMBERSHIP для каналов

Статус документа

Этот файл является отдельным отложенным черновиком.

Важно:

  • тема временно вынесена из основной первой итерации;
  • в текущую реализацию не входит;
  • документ нужен, чтобы не потерять уже согласованные мысли и вернуться к ним позже.

Зачем вынесено отдельно

CHANNEL_MEMBERSHIP пока решено не делать вместе с TEXT и STATUS_ACTION, чтобы:

  • не перегружать текущую реализацию;
  • не смешивать две разные задачи;
  • спокойно завершить первую итерацию по контенту и статусам;
  • вернуться к membership позже отдельным этапом.

Отложенная схема ссылок

На текущий момент в отложенный черновик заносится такая схема:

  • JOIN_REQUEST ссылается на root-блок канала;
  • JOIN_ACCEPTED ссылается на JOIN_REQUEST;
  • LEFT ссылается на root-блок канала;
  • REMOVED ссылается на последнее membership-событие этого участника в этом канале, лучше всего на JOIN_ACCEPTED.

Предварительные подтипы

Если тема будет возвращена в реализацию, предварительно рассматриваются:

  • subType=10CHANNEL_JOIN_REQUEST
  • subType=20CHANNEL_JOIN_ACCEPTED
  • subType=30CHANNEL_LEFT
  • subType=40CHANNEL_REMOVED

Что ещё нужно будет отдельно решить позже

Перед возвратом к теме нужно будет отдельно утвердить:

  • точный байтовый формат CHANNEL_MEMBERSHIP;
  • в чьём блокчейне пишутся membership-события;
  • политику прав доступа:
    • кто может писать JOIN_ACCEPTED;
    • кто может писать REMOVED;
    • кто и как подтверждает актуальный состав канала;
  • как сервер строит read-model текущего состава канала;
  • как UI показывает pending-заявки, принятых участников, вышедших и исключённых.

Краткий итог

CHANNEL_MEMBERSHIP не отменён, а именно отложен.

Следующий рекомендуемый шаг:

  • сначала завершить первую итерацию TEXT + STATUS_ACTION;
  • потом отдельным этапом вернуться к membership-логике каналов.