family-sender-invite

FamilySenderInvite

Спільна collection ще не спроєктована. Зараз кожна Family зберігає інвайти по-різному.

Поточні collections

FamilyЗберіганняОсновні поля
Goldengolden_extension_message — один chat-invite; golden_extension_mail — один mail-invite; golden_sender_state — вибрані active IDTU, text, status, type, moderation dates; для mail також send counter, first send та expired
Primeprime_sender_message — один документ TU з масивами chat, mail, sendingErrorstext, media, send counter, createdAt; порядок задає позиція в масиві
Chathousechathouse_sender_messages — один документ TU з масивами chat, mail, sendingErrorstext, media, counters; chat може мати до двох additional messages із delay; mail має senderForLowCredit
Udateudate_sender_messages — один документ TU з масивами chat, mail, sendingErrorstext, media, send counter; chat може мати до двох additional messages із delay

Golden окремо зберігає банк approved-інвайтів і active slots. Prime, Chathouse та Udate вважають упорядковані масиви одночасно банком і активним списком.

Counters, sending errors та send history зараз змішані з контентом. У новій схемі їх треба винести з Entity інвайта.

TODO: нова collection

Повністю спроєктувати family_sender_invites після затвердження нового спільного lifecycle:

  • один документ на invite чи один документ на TU;
  • спільні channel, audience, status, active та order;
  • moderation і права ролей;
  • main/additional messages, media й delay;
  • Golden active slots, Chathouse low-credit та поточні Family-типи;
  • міграція counters, errors і history в окремі сутності.