Владелец 2026-11-07: «добавь роли админ и юзер, и две панели юзер и админ; предустановленный пользователь admin имеет роль админа и может давать другим роли» + «не из таблицы ящиков, а из таблицы пользователей».
Роли
ADMIN = users.is_admin (V8); USER — все остальные.
Встроенный администратор (mailserver.admins, по умолчанию admin@<домен>) — всегда ADMIN, при старте получает роль и в базе, снять нельзя.
PUT /api/admin/mailboxes/{id}/role {"role":"ADMIN"|"USER"} — только ADMIN; свою роль менять нельзя; общий ящик (без своего входа) не может быть ADMIN. В лог — кто кому дал.
MailboxView.role, builtIn.
Панели
User panel (/settings, у всех): профиль, пароль, хранилище, вид, MY MAILBOXES.
Admin panel (/admin, ссылка в меню только у ADMIN): USERS — таблица пользователей (логины, без общих ящиков): роль, статус, MAKE ADMIN / MAKE USER с подтверждением; затем MAILBOXES и LISTS (перенесены из Settings). Бейдж ADMIN из таблицы ящиков убран — роли только в USERS.
Проверено: backend 11/11 в MailboxAdminControllerTest (новый тест ролей), весь backend зелёный; ng build; скриншот Admin panel (локальный UI с API prod, временный admin-ящик qa-alpha@ создан и удалён; колонка Role пустая — на prod ещё старый сервер).
Пара: Jambotron PR — синхронизация не снимает роль, выданную здесь.
Владелец 2026-11-07: «добавь роли админ и юзер, и две панели юзер и админ; предустановленный пользователь admin имеет роль админа и может давать другим роли» + «не из таблицы ящиков, а из таблицы пользователей».
**Роли**
- ADMIN = `users.is_admin` (V8); USER — все остальные.
- Встроенный администратор (`mailserver.admins`, по умолчанию `admin@<домен>`) — всегда ADMIN, при старте получает роль и в базе, снять нельзя.
- `PUT /api/admin/mailboxes/{id}/role {"role":"ADMIN"|"USER"}` — только ADMIN; свою роль менять нельзя; общий ящик (без своего входа) не может быть ADMIN. В лог — кто кому дал.
- `MailboxView.role`, `builtIn`.
**Панели**
- **User panel** (`/settings`, у всех): профиль, пароль, хранилище, вид, MY MAILBOXES.
- **Admin panel** (`/admin`, ссылка в меню только у ADMIN): **USERS** — таблица пользователей (логины, без общих ящиков): роль, статус, MAKE ADMIN / MAKE USER с подтверждением; затем MAILBOXES и LISTS (перенесены из Settings). Бейдж ADMIN из таблицы ящиков убран — роли только в USERS.
**Проверено:** backend 11/11 в `MailboxAdminControllerTest` (новый тест ролей), весь backend зелёный; `ng build`; скриншот Admin panel (локальный UI с API prod, временный admin-ящик qa-alpha@ создан и удалён; колонка Role пустая — на prod ещё старый сервер).
Пара: Jambotron PR — синхронизация не снимает роль, выданную здесь.
α
🤖 Generated with [Claude Code](https://claude.com/claude-code)
- Роль ADMIN = users.is_admin; встроенный администратор (mailserver.admins, по
умолчанию admin@) всегда ADMIN и получает роль в базе при старте.
- PUT /api/admin/mailboxes/{id}/role {ADMIN|USER}: только ADMIN; не свою, не
встроенного, общий ящик не может быть ADMIN.
- Admin panel (/admin, только ADMIN): USERS (логины и роли, MAKE ADMIN / MAKE USER),
MAILBOXES, LISTS. User panel (/settings): профиль, пароль, хранилище, вид, мои ящики.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Владелец 2026-11-07: «добавь роли админ и юзер, и две панели юзер и админ; предустановленный пользователь admin имеет роль админа и может давать другим роли» + «не из таблицы ящиков, а из таблицы пользователей».
Роли
users.is_admin(V8); USER — все остальные.mailserver.admins, по умолчаниюadmin@<домен>) — всегда ADMIN, при старте получает роль и в базе, снять нельзя.PUT /api/admin/mailboxes/{id}/role {"role":"ADMIN"|"USER"}— только ADMIN; свою роль менять нельзя; общий ящик (без своего входа) не может быть ADMIN. В лог — кто кому дал.MailboxView.role,builtIn.Панели
/settings, у всех): профиль, пароль, хранилище, вид, MY MAILBOXES./admin, ссылка в меню только у ADMIN): USERS — таблица пользователей (логины, без общих ящиков): роль, статус, MAKE ADMIN / MAKE USER с подтверждением; затем MAILBOXES и LISTS (перенесены из Settings). Бейдж ADMIN из таблицы ящиков убран — роли только в USERS.Проверено: backend 11/11 в
MailboxAdminControllerTest(новый тест ролей), весь backend зелёный;ng build; скриншот Admin panel (локальный UI с API prod, временный admin-ящик qa-alpha@ создан и удалён; колонка Role пустая — на prod ещё старый сервер).Пара: Jambotron PR — синхронизация не снимает роль, выданную здесь.
α
🤖 Generated with Claude Code
- Роль ADMIN = users.is_admin; встроенный администратор (mailserver.admins, по умолчанию admin@) всегда ADMIN и получает роль в базе при старте. - PUT /api/admin/mailboxes/{id}/role {ADMIN|USER}: только ADMIN; не свою, не встроенного, общий ящик не может быть ADMIN. - Admin panel (/admin, только ADMIN): USERS (логины и роли, MAKE ADMIN / MAKE USER), MAILBOXES, LISTS. User panel (/settings): профиль, пароль, хранилище, вид, мои ящики. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>