admin-service

AdminService

Спільний модуль family-application-api для керування FamilyAdmin.

UI: не описано.

Swagger: /v2/docs у family-application-api.

Задача

Тримає frontend API для отримання, додавання й оновлення адмінок. Login після створення не змінюється.

Під час додавання або зміни password спочатку викликає Family Admin API відповідної Family. Дані зберігаються тільки після успішної перевірки на партнері.

API

Фактично реалізовані операції:

ОпераціяEndpointДоступ
1Список адмінок за FamilyGET /v2/admins?family={family}director, HR
2Логіни адмінок за списком canonical IDPOST /v2/admins/resolvedirector, HR, top manager, supervisor, KM
3Створення адмінкиPOST /v2/adminsdirector
4Зміна password, settings або statusPATCH /v2/admins/{adminId}director

Список повертає counts: { supervisors, operators, tu }. Поточна Golden-реалізація вже рахує supervisor/operator зі Stack users; підрахунок TU із family_tus ще потрібно підключити перед frontend cutover.

Flow

Створення

  1. AdminService передає введені credentials у Family Admin API відповідної Family для перевірки.
  2. Якщо партнер повернув помилку, AdminService повертає її frontend і нічого не зберігає.
  3. Якщо credentials валідні, AdminService шифрує password і створює активний FamilyAdmin з directorId із access token.

Зміна password

  1. Новий password разом із незмінним login перевіряється через Family Admin API.
  2. При помилці старий password залишається без змін.
  3. Після успішної перевірки AdminService шифрує і зберігає новий password.

Блокування

Блокування та розблокування змінюють тільки status між active і blocked.

Межа з legacy

Після Golden cutover лише family-application-api створює та змінює адмінки. stack-golden не пише у golden_admins: його ще не перенесені модулі читають family_admins через типізований compatibility repository і отримують legacy-проєкцію з розшифрованим password.