Add role management validation to prevent removal of the last admin
CI / Backend (build + test) (push) Successful in 1m20s
CI / Frontend (lint + typecheck + build) (push) Successful in 34s

- Introduced a new error, `CannotRemoveLastAdmin`, to handle attempts to downgrade the last admin user in the system.
- Updated `RoleService` to check the number of admin users before allowing a role change that would remove the last admin.
- Enhanced unit tests to verify the new behavior, ensuring that attempts to downgrade the last admin correctly propagate the failure.
- Updated API documentation to reflect the new validation logic and its implications for role management.
This commit is contained in:
Leonid Pershin committed 2026-07-14 23:53:20 +03:00
1 parent 940577d8cd
commit f14daa3df1
8 files changed
+312 -2

No files matched your search

@@ -17,4 +17,8 @@ public static class RoleErrors
"Roles.RoleInUse",
"Роль назначена пользователям — сначала переназначьте их."
);
public static readonly Error CannotRemoveLastAdmin = Error.Conflict(
"Roles.CannotRemoveLastAdmin",
"Нельзя снять роль admin с последнего администратора."
);
}