Add maintenance cleanup for revoked and orphaned configs
CI / Backend (build + test) (push) Failing after 58s
CI / Frontend (lint + typecheck + build) (push) Successful in 31s

Two new maintenance actions remove VpnConfig records (with their traffic
samples) from the database: all revoked configs, and configs whose inbound
or node no longer exists. 3x-ui is not touched; both write an AuditLog entry.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
mrleo1nidandClaude Opus 5.5 committed 2026-10-17 01:04:46 +03:00
1 parent 1bc86dc426
commit 2c20fb0427
12 files changed
+367 -1

No files matched your search

+4
View File
@@ -195,6 +195,10 @@ AppUser
ниже), не ролью. См. `Plan` ниже.
- Инбаунд должен быть доступен роли пользователя (`Inbound.AllowedRoles`).
- Разрешено несколько конфигов в одном инбаунде (ограничение — только общая квота пользователя).
- Отозванный конфиг (`Revoked`) остаётся в БД, пока админ не почистит его во вкладке «Обслуживание»
(`DELETE /api/admin/maintenance/configs/revoked`). Там же — удаление «сирот»: конфигов, чей
`Inbound` или его `Node` удалены (`DELETE /api/admin/maintenance/configs/orphaned`, в любом статусе).
Обе очистки удаляют и `TrafficSample` этих конфигов, 3x-ui не трогают.
> Лимиты трафика не реализованы. `ConfigStatus.LimitReached` в значении enum есть, но код в него
> никогда не переводит конфиг. Квота на число конфигов реализована через `AppUser.ConfigQuota` (см.