ProjectAdmin
backend-common/src/admin/project-admin.schema.ts · колекція project_admins — адмін панелі партнерських сайтів з їхніми credentials.
Поля
- directorId — scope директора, який додав адмін панель; усі вибірки обмежені ним.
- project — проєкт адмін панелі.
- login — логін на партнері як string; для Golden це числовий
id_api, сконвертований у string. - passwordEncrypted — пароль, зашифрований секретом сервісу; у звичайні вибірки не входить, читається лише методами для credentials.
- status —
activeабоblocked. - partnerIds — ID, отримані після перевірки credentials на партнері; форма залежить від проєкту.
- settings — додаткові поля конкретного проєкту, довільний об’єкт.
- validatedAt — час останньої успішної перевірки credentials на партнері.
- createdAt / updatedAt — час створення й останньої зміни.
Відмінності проєктів
| Проєкт | Логін на партнері | Пароль на партнері | partnerIds | settings |
|---|---|---|---|---|
| Golden | id_api | password | { idApi } числовий | — |
| Prime | email | password | — | candidateSourceType |
| Chathouse | secret_id | secret_key | — | — |
| Udate | email | password | ulid, legacyId | — |
Нюанси
- Unique-індекс
project + login: одна адмін панель на проєкт незалежно від директора. - Перевірка credentials іде через сервіс проєкту і при створенні, і при кожній зміні пароля; лише після неї оновлюються
partnerIdsіvalidatedAt. - Legacy-поля користувачів Stack посилаються на адмін панель по-різному: Golden — партнерський
id_api, Prime, Chathouse і Udate — Mongo ID старих колекцій. Тому логіки платформи шукають адмін панель і за canonical ID, і за значеннямиpartnerIds.