Add factory reset functionality and update identity service
- Introduced a new DELETE endpoint `/api/admin/maintenance/factory-reset` for a complete reset of the admin panel, removing all users except the current admin and clearing various data. - Implemented the `FactoryReset` method in `AdminMaintenanceEndpoints` to handle the reset logic. - Added a new method `ListAllUserIdsExceptAsync` in `IIdentityService` to retrieve user IDs excluding a specified user, aiding in the factory reset process. - Updated the frontend to include a confirmation dialog for the factory reset action, enhancing user experience and safety. - Enhanced localization support for the new factory reset feature in both Russian and English, ensuring clarity for all users.
This commit is contained in:
+11
-3
@@ -187,9 +187,17 @@ AppUser
|
||||
| `CreatedAt` | `DateTimeOffset` | |
|
||||
|
||||
Пишется из хендлеров (или обработчиков доменных событий), append-only — из приложения ничего не
|
||||
удаляет и не редактирует записи. Единственное исключение — retention-очистка по возрасту (вкладка
|
||||
«Обслуживание», `DELETE /api/admin/maintenance/audit-logs?olderThanDays=N`), доступная только
|
||||
админу; полного удаления журнала осознанно нет.
|
||||
удаляет и не редактирует записи. Исключения — retention-очистка по возрасту (вкладка «Обслуживание»,
|
||||
`DELETE /api/admin/maintenance/audit-logs?olderThanDays=N`) и полный сброс панели (см. ниже), оба
|
||||
доступны только админу; отдельной кнопки «удалить весь журнал» без сброса всей панели осознанно нет.
|
||||
|
||||
### Полный сброс панели
|
||||
Вкладка «Обслуживание» → «Опасная зона» (спойлер + подтверждение фразой в диалоге, не просто
|
||||
`confirm()`) — `DELETE /api/admin/maintenance/factory-reset`. Возвращает панель к состоянию свежего
|
||||
деплоя: удаляет всех пользователей кроме текущего админа, конфиги (сначала best-effort отзываются
|
||||
на нодах 3x-ui), ноды/инбаунды, тикеты, новости, весь аудит и кастомные роли; каталог приложений
|
||||
пересеивается из `seed/client-apps.json`. Необратимо, не атомарно целиком — подробности и полный
|
||||
список удаляемого см. [api-design.md](api-design.md#admin--maintenance).
|
||||
|
||||
### AppUser — расширения (Identity)
|
||||
`AppUser` живёт в Identity (`Infrastructure`). **Логин — по `UserName`** (уникальный, обязательный).
|
||||
|
||||
Reference in New Issue
Block a user