01-project-admins

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 — час створення й останньої зміни.

Відмінності проєктів

ПроєктЛогін на партнеріПароль на партнеріpartnerIdssettings
Goldenid_apipassword{ idApi } числовий—
Primeemailpassword—candidateSourceType
Chathousesecret_idsecret_key——
Udateemailpasswordulid, legacyId—

Нюанси

  • Unique-індекс project + login: одна адмін панель на проєкт незалежно від директора.
  • Перевірка credentials іде через сервіс проєкту і при створенні, і при кожній зміні пароля; лише після неї оновлюються partnerIds і validatedAt.
  • Legacy-поля користувачів Stack посилаються на адмін панель по-різному: Golden — партнерський id_api, Prime, Chathouse і Udate — Mongo ID старих колекцій. Тому логіки платформи шукають адмін панель і за canonical ID, і за значеннями partnerIds.