Перейти к основному содержимому

ADR-036. Student profile является учебным субъектом

Контекст

Экосистеме нужен стабильный учебный субъект ребёнка для LMS, competitions и management. Такой субъект может появиться до самостоятельного входа ребёнка в систему: семья уже выбирает программы, взрослый управляет доступом, олимпиады принимают работы, но отдельный логин ребёнка ещё может быть не создан.

Решение

student_profile принадлежит identity и является каноническим учебным субъектом ребёнка. Профиль может быть связан с user через nullable linked_user_id, но не обязан иметь самостоятельный аккаунт.

user остаётся субъектом аутентификации. student_profile используется как субъект учебных, олимпиадных и goal-сценариев, где важно сохранять историю ребёнка независимо от наличия логина.

Последствия

  • семья управляет student_profile, а не создаёт обязательный user для каждого ребёнка;
  • LMS, competitions и management могут ссылаться на student_profile_id;
  • если ребёнку нужен самостоятельный вход, identity создаёт или привязывает user к существующему student_profile;
  • подмена пользователя не допускается: взрослый действует со своим sub и actor context на student_profile.

Связи

  • relates: ADR-016;
  • relates: ADR-017;
  • relates: ADR-022;
  • relates: ADR-031.