TU Profiles (Stack)
(Глобальне меню → TU Profiles) — крос-Family каталог TU Card на рівні stack.
Суть
Сторінка працює з глобальними картками TU з mongo-моделі stack_ladies. Одна TU Card містить персональні дані, контакти, опис і легенду та може бути прив’язана до одного TU profile у кожній Family: golden, prime, udate, chathouse.
Не плутати з TU Profiles (per-family): глобальна сторінка веде TU Card і зв’язки між Family, а per-family сторінка працює з TU однієї Family та їх призначенням на команду.
Use cases
directorпереглядає глобальний каталог, створює й редагує TU Card, змінює рівень TU та призначеного client manager-а, керує Family- і Gmail-зв’язками.client_managerпрацює зі своїм доступним каталогом, створює й редагує TU Card, змінює рівень і прив’язує Family TU; колонка та фільтрClient Managerйому не показуються.
Доступи і маршрути
| Роль | Список | Створення | TU Card | Особливості списку |
|---|---|---|---|---|
director | /ceo/tu_profiles/all | /ceo/tu_profiles/create | /ceo/tu_profiles/:id | може фільтрувати й змінювати Client Manager |
client_manager | /client_manager/tu_profiles/all | /client_manager/tu_profiles/create?extra=<clientManagerStackId> | /client_manager/tu_profiles/:id?extra=<clientManagerStackId> | без колонки та зміни Client Manager |
Інші ролі не мають глобального пункту меню. top_manager, team_lead і operator відкривають partial-access TU Card із per-family списку; її поведінка описана в TU Card.
Список TU
Над таблицею є Add new TU і пошук по Name. Пошук і всі column-фільтри застосовуються локально до вже завантаженого списку.
Список:
- сортується за
Creation Dateвід новіших карток до старіших; - рендериться віртуалізовано;
- після фільтрації зберігає наскрізну нумерацію видимих рядків;
- не має окремого текстового empty state: якщо результат порожній, тіло таблиці залишається порожнім.
Колонки
| Колонка | Логіка |
|---|---|
№ | позиція у поточному відфільтрованому й відсортованому списку |
Creation Date | час і дата створення у локалі uk-UA |
Name | ім’я TU |
Age | вік; фільтр From / To приймає тільки цифри |
Country | країна; варіанти фільтра будуються з поточного набору даних |
Level | NEW, LOW, MID, TOP; значення можна змінити прямо в рядку |
GoldenBride, uDate, TalkyTimes, Chathouse | стан прив’язаної TU у відповідній Family |
E-mail | стан Gmail-зв’язку TU Card |
Client Manager | тільки director: поточний CM, inline-зміна та header-фільтр |
Edit | перехід у повну TU Card |
Фільтри і редагування в рядку
Age— незалежні мінімальне й максимальне значення.Country—ALLабо одна з країн у завантаженому списку.Level—ALL,NEW,LOW,MID,TOP.- Кожна Family —
ALL,Active,Blocked,Empty,Deleted. Client Managerуdirector— активні CM абоALL.- Рівень
NEWдоступний у row-selector тільки поки поточний рівень такожNEW; після переходу наLOW,MIDабоTOPповернутиNEWчерез цей список не можна. directorзавантажує доступні варіанти CM для конкретної TU тільки при відкритті row-selector-а. Для вже призначеної TU є варіантFree, який знімає прив’язку.
Статуси Family і Gmail
Family-маркер має чотири стани:
Active— TU у Family існує й активна;Blocked— TU у Family заблокована;Deleted— TU у Family видалена;Empty— зв’язку немає, тому маркер у рядку не показується.
Для E-mail активний маркер означає connected; наявний, але ще не підключений запис показується як неактивний/blocked-маркер; відсутній запис не показує маркер.
TU Card
director і client_manager відкривають із цього каталогу один full-access feature у create або edit mode. Поля, файли, валідація, Family/Gmail connections, Comments, рольові права, збереження і незбережені зміни описані лише в TU Card.
Стани
- Завантаження списку, row-selector-ів і inline mutations використовує глобальний loader.
- Backend message показується без зміни; якщо його немає, UI використовує frontend fallback-notification.
- Окремого текстового empty state немає: після успішної порожньої відповіді або фільтрації таблиця залишається без рядків.
Зв’язки
- Stack Swagger — Lady card — group deeplink для списку, TU Card, рівня, CM і Family-зв’язків.
- swagger — реєстр Swagger UI бек-сервісів.
- Глосарій:
TU Card,TU legend,id_api / stackLadyId(див. Ідентифікатори у stack-docs). - TU Card — єдине джерело логіки full-access і partial-access картки.
- TU Profiles — per-family список і командні призначення TU.
- TODO: замінити group link перевіреними Swagger operation deeplink-ами для списку, рівня, Client manager і Family-зв’язків.