TU Profiles

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країна; варіанти фільтра будуються з поточного набору даних
LevelNEW, LOW, MID, TOP; значення можна змінити прямо в рядку
GoldenBride, uDate, TalkyTimes, Chathouseстан прив’язаної TU у відповідній Family
E-mailстан Gmail-зв’язку TU Card
Client Managerтільки director: поточний CM, inline-зміна та header-фільтр
Editперехід у повну TU Card

Фільтри і редагування в рядку

  • Age — незалежні мінімальне й максимальне значення.
  • CountryALL або одна з країн у завантаженому списку.
  • LevelALL, 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-зв’язків.