FamilySenderInvite
Спільна collection ще не спроєктована. Зараз кожна Family зберігає інвайти по-різному.
Поточні collections
| Family | Зберігання | Основні поля |
|---|---|---|
| Golden | golden_extension_message — один chat-invite; golden_extension_mail — один mail-invite; golden_sender_state — вибрані active ID | TU, text, status, type, moderation dates; для mail також send counter, first send та expired |
| Prime | prime_sender_message — один документ TU з масивами chat, mail, sendingErrors | text, media, send counter, createdAt; порядок задає позиція в масиві |
| Chathouse | chathouse_sender_messages — один документ TU з масивами chat, mail, sendingErrors | text, media, counters; chat може мати до двох additional messages із delay; mail має senderForLowCredit |
| Udate | udate_sender_messages — один документ TU з масивами chat, mail, sendingErrors | text, 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 в окремі сутності.