feat(auth): make upload review a separate grant instead of an admin privilege

Reviewing the upload queue is now a per-user flag (reviews_uploads), not part
of the admin role: several people can hold it, a moderator can have it, and an
admin may not. Only admins grant or revoke it; existing admins keep it.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
mrleo1nidandClaude Opus 5.5 committed 2026-10-21 10:07:05 +03:00
1 parent 066ba24834
commit 74da457362
27 files changed
+503 -319

No files matched your search

@@ -1648,6 +1648,8 @@ export interface components {
username: string;
display_name: string | null;
role: components["schemas"]["Role"];
/** @description Может рассматривать очередь на добавление. Не следует из роли и может быть у нескольких людей сразу */
reviews_uploads: boolean;
locale: string;
ui_prefs: components["schemas"]["UiPrefs"];
must_change_password: boolean;
@@ -1675,6 +1677,8 @@ export interface components {
username: string;
display_name: string | null;
role: components["schemas"]["Role"];
/** @description Может рассматривать очередь на добавление. Не следует из роли и может быть у нескольких людей сразу */
reviews_uploads: boolean;
locale: string;
is_blocked: boolean;
must_change_password: boolean;
@@ -1692,6 +1696,8 @@ export interface components {
username: string;
display_name?: string;
role: components["schemas"]["Role"];
/** @description Сразу выдать аудит загрузок. Может задать только админ */
reviews_uploads?: boolean;
};
CreatedUser: {
user: components["schemas"]["AdminUser"];
@@ -1703,6 +1709,8 @@ export interface components {
display_name?: string;
role?: components["schemas"]["Role"];
is_blocked?: boolean;
/** @description Выдать или забрать аудит загрузок. Может менять только админ, в том числе у себя */
reviews_uploads?: boolean;
};
TemporaryPassword: {
temporary_password: string;