ProjectAdmin
Collection project_admins — canonical-документ адмін панелей партнерських сайтів для всіх проєктів. Поточна schema та unique index оголошені в @it-monkeys/backend-common.
Поля
- directorId — ID директора з access token, який додав адмін панель.
- project — проєкт, до якого належить адмін панель (Golden,Chathouse…)
- login — login адмін панелі, збережений як string. Адаптер проєкту перетворює його на
id_api,emailабоsecret_id. - passwordEncrypted — зашифрований password; не входить у звичайні read projections.
- status —
active,blocked. - partnerIds — ідентифікатори, отримані після перевірки адмін панелі на партнері: Golden
idApi, UdateulidіlegacyId. - settings — додаткові поля конкретного проєкту, валідовані його schema.
- validatedAt — час останньої успішної перевірки credentials.
- createdAt / updatedAt — час створення й останньої зміни документа.
Відмінності проєктів
| Проєкт | 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 |
Ідентифікатори
| Назва | Що означає |
|---|---|
projectAdminId | ProjectAdmin.id із collection project_admins. Усі нові зв’язки з адмін панеллю використовують тільки його. |
adminLogin | Login адмін панелі на партнері. В ProjectAdmin зберігається як login; Golden id_api конвертується у string. |
Поточні поля не мають одного змісту:
| Проєкт | 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 залежно від проєкту |
Legacy-поля не додаємо в canonical document. Під час backfill зберігаємо старий Mongo _id, де це можливо; Golden migration уже зберігає _id із golden_admins. Legacy-код отримує стару форму { id_api, password, isBlocked } через compatibility repository, який читає project_admins, розшифровує password і виконує явне перетворення.
Заповнити
- Визначити правила вибірки адмін панелей для майбутньої ролі з глобальним доступом.
- Залишити unique index
{ project, login }. - Затвердити validation schema для
settingsкожного проєкту.