FamilyAdmin
Collection family_admins — canonical-документ партнерських адмін-облікових записів для всіх Family. Поточна schema та unique index оголошені в @it-monkeys/backend-common.
Поля
- directorId — ID директора з access token, який додав адмінку.
- family — Family, до якої належить адмінка (Golden,Chathouse…)
- login — login адмінки, збережений як string. Family adapter перетворює його на
id_api,emailабоsecret_id. - passwordEncrypted — зашифрований password; не входить у звичайні read projections.
- status —
active,blocked. - partnerIds — ідентифікатори, отримані після перевірки адмінки на партнері: Golden
idApi, UdateulidіlegacyId. - settings — додаткові поля конкретної Family, валідовані її schema.
- validatedAt — час останньої успішної перевірки credentials.
- createdAt / updatedAt — час створення й останньої зміни документа.
Відмінності Family
| Family | Login у partner API | Password у partner API | Додаткові поля |
|---|---|---|---|
| Golden | id_api | password | числовий idApi у partnerIds |
| Prime | email | password | candidateSourceType у settings |
| Chathouse | secret_id | secret_key | — |
| Udate | email | password | ulid, legacyId у partnerIds |
Ідентифікатори
| Назва | Що означає |
|---|---|
familyAdminId | FamilyAdmin.id із collection family_admins. Усі нові зв’язки з адмінкою використовують тільки його. |
adminLogin | Login адмінки на партнері. В FamilyAdmin зберігається як login; Golden id_api конвертується у string. |
Поточні поля не мають одного змісту:
| Family | Legacy-поле | Поточне значення |
|---|---|---|
| Golden | golden_admin, adminId_api | Partner id_api, number |
| Prime | prime_admin | Mongo ID із prime_admin, string |
| Chathouse | admin | Mongo ID із chathouse_admins, string |
| Udate | udate_admin | Mongo ID із udate_admin, string |
| Client manager | admins[] | Змішаний legacy ID залежно від Family |
Legacy-поля не додаємо в canonical document. Під час backfill зберігаємо старий Mongo _id, де це можливо; Golden migration уже зберігає _id із golden_admins. Legacy-код отримує стару форму { id_api, password, isBlocked } через compatibility repository, який читає family_admins, розшифровує password і виконує явне перетворення.
Заповнити
- Визначити правила вибірки адмінок для майбутньої ролі з глобальним доступом.
- Залишити unique index
{ family, login }. - Затвердити validation schema для
settingsкожної Family.