Правила субординации (subordination)
Описание
Набор правил определяет отношения субординации между пользователями.
Отношения задаются между пользователями, группами и ролями. Существует также особый тип - ВСЕ ('all').
Каждое отношение задается между одним вышестоящим элементом одного из типов и несколькими нижестоящими элементами одного из типов.
Группы и пользователи задаются идентификаторами, роли задаются именами.
По умолчанию добавляется правило "ВСЕ КО ВСЕМ". При наличии такого правила, все остальные правила не имеют значения.
На основе набора правил субординации рассчитывается кэш субординаций, содержащий приведенные к пользователями и сокращенные списки подчинения.
При наличии правила субординации "ВСЕ КО ВСЕМ" в кэше содержится только оно. Ключом является строка "all". В противном случае кэш содержит по одному элементу для каждого пользователя с непустым списком подчиненных (включая его самого).
При подчиненности пользователю всех остальных пользователей (включая его самого) в кэш для него попадает значение 'all' (в списке).
В остальных случаях для пользователя перечислены идентификаторы всех других пользователей, подчиненных к нему на основе развертки правил через раскрытие групп и ролей.
Поля
{
"id": uuid,
"top_type": str,
"top_key": str,
"sub_type": str,
"sub_keys": array<str>,
"opts": {
"title": str,
"comment": str
},
"ext": {
"ct": date,
"lwt": date
}
}