Family Admin API
Сервіс, який має бути реалізований у кожному Family-проєкті. Виконує запити до партнерського API від імені FamilyAdmin.
Задача
Для кожної операції сервіс викликає типізований метод відповідного Family API client. Сирі URL, command і partner body не виходять за межі API client.
Family-сервіс не перетворює partner response у canonical FamilyTU. Він повертає типізований Family-контракт, а canonical-нормалізацію виконує adapter у family-application-api.
Реалізований internal API Golden
family-golden не має публічного frontend API. У внутрішній Docker network доступні лише операції, які вже використовує family-application-api:
| № | Операція | Endpoint |
|---|---|---|
| 1 | Перевірити credentials адмінки | POST /internal/admins/validate-credentials |
| 2 | Отримати TU всіх активних canonical-адмінок директора | POST /internal/admins/tus |
| 3 | Змінити partner password TU | PATCH /internal/admins/tus/password |
family-golden читає credentials із family_admins, розшифровує secret лише перед partner request і не повертає його назовні.
Важливі запити
Це не повний список partner API. Тут фіксуємо лише запити, потрібні поточним або запланованим логікам Family Platform.
Таблиця нижче описує відомі partner/legacy можливості, а не готовність нових family-* сервісів. ✅ є та використовується у чинній системі · 🟡 API є, але ще не використовується · ❓ не підтверджено · — не знайдено
| № | Можливість | Golden | Prime | Chathouse | Udate |
|---|---|---|---|---|---|
| 1 | Перевірка credentials адмінки | ✅ | ✅ | ✅ | ✅ |
| 2 | Список TU | ✅ | ✅ | ✅ | ✅ |
| 3 | Профіль TU | ✅ | ✅ | ✅ | ✅ |
| 4 | Зміна пароля TU | ✅ | ✅ | ✅ | — |
| 5 | Статистика | ✅ | ✅ | ✅ | ✅ |
| 6 | Online TU через admin API | ✅ | ✅ | ✅ | ✅ |
| 7 | Коди доступу / створення TU | — | ✅ | ✅ | — |
| 8 | Реальні подарунки для TU | 🟡 | ✅ | — | — |
| 9 | Оператори партнера | — | — | — | ✅ |
Нюанси
1. Перевірка credentials адмінки
- Для кожної Family реалізується тестовий API-запит, успішна відповідь якого підтверджує credentials.
2. Список TU
- Golden Official API має
getLadies; він також використовується після login для перевірки, що credentials належать адмінці. Повний legacy sync окремо обходить active і deleted сторінками по 500. - Prime спочатку отримує counts за статусами, потім завантажує кожен статус сторінками по 15.
- Chathouse використовує pagination через
next. - Udate має
/female/listі GraphQLReferredUsersListShortз фільтром статусів.
3. Профіль TU
- Golden Official API не повертає пароль TU. Повний
extendedladydtoз паролем поки завантажується через GWT legacy transport. - Prime використовує
trusted-user/form-data, Udate — GraphQLSUProfile. - Chathouse повертає profile у paginated списку TU, тому окремий запит не потрібен.
4. Зміна пароля TU
- Golden використовує GWT
ChangePasswordRequestProcessor. - Prime перед зміною пароля додатково читає профіль TU.
- Chathouse має окремий
trusted-user/{id}/change-password. - В Udate пароля TU немає.
/api/operator/passwordзмінює пароль translator/operator, а GraphQLUpdateAgencyUserPassword— пароль поточного agency user.
5. Статистика
- Endpoint-и, фільтри та відмінності response описані у Family Statistics API.
6. Online TU через admin API
- Golden
agencyhelper getLadiesповертаєonlineдля кожної TU. Поточний Electron endpointcheckLadiesOnlineчитає адмінку TU, викликає цей список і фільтрує передані ID. Official APIgetOnlineLadiesчерез credentials TU — окремий механізм. - Prime
trusted-user/collectionповертаєis_onlineу списку TU. - Chathouse
trusted-userповертаєis_online.trusted-user/ping-list— окрема операція підтримки активності, а не отримання online. - Udate
/female/listповертаєis_online, аSUProfile—isOnline./operator/online-statusesокремо повертає online операторів.
У всіх випадках admin API повертає snapshot стану на момент запиту. Історія online та стан активних Electron/worker connections є окремими логіками.
7. Коди доступу / створення TU
- Prime створює referral code.
- Chathouse створює, читає й активує auth codes.
8. Реальні подарунки для TU
- Golden має admin-операцію
setGiftsAvailable. Вона створюєpendingGiftsAvailable, після чого зміну має підтвердити директор. У наших робочих логіках ця операція ще не використовується. - Prime має admin endpoints для ввімкнення та вимкнення
realPresent; локально стан зберігається якprofile.gifts. - Udate повертає
canReceiveGiftу профілі TU, але mutation або admin endpoint для зміни цього дозволу в нашому коді не знайдено.
9. Оператори партнера
- Udate читає, створює й видаляє translators, змінює їхні паролі та виконує assign/unassign оператора до TU.
Заповнити
- Для Golden залишити GWT лише для операцій, яких ще немає в Official API.
- Зафіксувати нормалізований результат кожної спільної задачі під час проєктування відповідної фічі.