Есть цепочка A → B → C. Редактируем A и ставим ей родителем C. Проверка смотрит только на прямых детей A, то есть на B. C там нет, проверка проходит. Получается кольцо A → B → C → A.
Дальше Group.parents идёт вверх бесконечно
Из parents вызывается indirect_scopes, из него User.scopes, а он дёргается при проверке прав.
Итог: любой запрос к сервису виснет
https://github.com/profcomff/auth-api/blob/main/auth_backend/routes/groups.py#L83
Есть цепочка A → B → C. Редактируем A и ставим ей родителем C. Проверка смотрит только на прямых детей A, то есть на B. C там нет, проверка проходит. Получается кольцо A → B → C → A.
Дальше Group.parents идёт вверх бесконечно
Из parents вызывается indirect_scopes, из него User.scopes, а он дёргается при проверке прав.
Итог: любой запрос к сервису виснет
https://github.com/profcomff/auth-api/blob/main/auth_backend/routes/groups.py#L83