/
tm-project
/
rbac-react-system
Обзор
Документация
Войти
/
tm-project
/
rbac-react-system
Код
Запросы
0
Пакеты
0
Релизы
1
CI/CD
Аналитика
Безопасность
gitverse
src/domain/exceptions/CircularRoleInheritanceException.ts
31 строка
2 KB
Artem
chore: release v1.0.4
30 ноя 2025, 22:51
30 ноя 2025, 22:51
f6f509c
Код
Авторство
О чём код?
/** * rbac-react-system v1.0.4 * Copyright (c) 2025 TM Project * Licensed under the MIT License */ import { RbacException } from './RbacException' /** * Исключение, выбрасываемое при обнаружении циклического наследования ролей. * Циклическое наследование возникает, когда одна из ролей в цепочке наследования напрямую или косвенно наследует саму себя, * что приводит к бесконечному циклу при разрешении прав доступа. * Данное исключение предотвращает такие ситуации, обеспечивая корректность иерархии ролей. */ export class CircularRoleInheritanceException extends RbacException { /** * Создаёт экземпляр исключения для сигнализации о циклическом наследовании ролей. * * @param {string[]} rolePath - Массив идентификаторов ролей, образующих цикл. * Первый и последний элементы указывают на роль, вызвавшую зацикливание. * * @example * throw new CircularRoleInheritanceException(['admin', 'moderator', 'admin']); * // Сообщение исключения: "Обнаружено циклическое наследование ролей: admin -> moderator -> admin" */ constructor(rolePath: string[]) { super(`Обнаружено циклическое наследование ролей: ${rolePath.join(' -> ')}`) this.name = 'CircularRoleInheritanceException' Object.setPrototypeOf(this, CircularRoleInheritanceException.prototype) } }