FamilyFavorite
collection family_favorites (робоча назва) — спільний документ favorite для пари TU + RU.
Поля
- family — Family, до якої належить favorite.
- tuId — посилання на FamilyTU.
- ruExternalId — ID RU на партнері, збережений як string.
- type —
New,Normal,NaughtyабоAggressive. - contacts.status —
YesабоNo. - contacts.email — email RU, якщо він зберігається для цієї Family.
- blockedByRU — RU заблокував TU; оновлюється з partner-даних.
- blockedByTU — RU вручну заблокований для TU у наших робочих логіках.
- firstPaidAt / lastPaidAt — перша й остання платна дія RU для TU.
- profit — profit пари TU + RU у форматі конкретної Family.
- paidProfit — частина profit, яка враховується для визначення платного RU: без bonus/free credits або кількість платних повідомлень.
- gifts — кількість подарунків, якщо Family повертає їх у джерелі.
- isWhite — RU входить у white-list цієї TU.
- createdAt / updatedAt — час створення й останньої зміни документа.
Profit
| Family | profit | gifts |
|---|---|---|
| Golden | Сума витрат | ✅ |
| Prime | Кількість платних вхідних повідомлень | — |
| Chathouse | Сума витрат | ✅ |
| Udate | Кількість платних вхідних повідомлень | 🟡 |
В Udate поле gifts зараз є, але джерело для його заповнення не реалізоване.
Electron
FamilyFavorite є базовим server snapshot для Electron FavoriteService. Electron накладає на нього поточний statistics/message overlay.
isActiveне зберігається — рахується зlastPaidAtза однією platform-настройкою; default7днів.isFreeloaderдодається з глобальної RU-логіки.chatLimit,mailLimitі follow-up state залишаються runtime-станом Electron та в collection не зберігаються.
Профіль, avatar і online RU для глобальних фаворитів зберігаються у FamilyGlobalFavorite. Нотатки зберігатимуться окремо від favorite.
Індекси
- unique
{ family: 1, tuId: 1, ruExternalId: 1 }; { tuId: 1, lastPaidAt: -1 }— список favorites TU;{ family: 1, ruExternalId: 1 }— зв’язки RU з TU для Global Favorites.
Заповнити
- Затвердити джерело paid activity для календаря
New / Uniqueбез зберігання необмеженого масиву подій уFamilyFavorite.