Приоритет: high · Размер: L · Бэклог-ранг: 7/20
Проблема
users (0001-init.sql:42-47) содержит только id/name/sub_id/created_at — нет колонки enabled; grep не находит концепта suspend/disable/active. Единственный рычаг отключения доступа — DeleteUser (service.go:253), разрушающий строку; пересоздание минтит новый sub_id (genID на service.go:184) → новый URL, который каждый клиент должен переимпортировать. Обратимо приостановить и восстановить доступ на той же ссылке невозможно.
Почему важно
Обратимый suspend (неоплата, абьюз, диагностика) с сохранением ссылки — базовая возможность подписочного сервера, полностью отсутствует. Высокая операторская ценность.
Предлагаемое решение
Флаг enabled на users (новая NNNN-миграция), тоггл в админке, путь провижининга, флипающий 3x-ui-клиента Enable (или снимающий/добавляющий привязки) с сохранением uuid/subId.
Затронутые файлы
internal/service/provisioning/service.go, internal/handlers/users_get/handler.go, migrations/0001-init.sql, internal/handlers/web/static/app.js
Из аудита кодовой базы subgen (10 подсистем → adversarial-верификация, 71 находка). Бэклог-ранг указан для приоритизации.
Приоритет: high · Размер: L · Бэклог-ранг: 7/20
Проблема
users(0001-init.sql:42-47) содержит толькоid/name/sub_id/created_at— нет колонкиenabled; grep не находит концепта suspend/disable/active. Единственный рычаг отключения доступа —DeleteUser(service.go:253), разрушающий строку; пересоздание минтит новый sub_id (genIDнаservice.go:184) → новый URL, который каждый клиент должен переимпортировать. Обратимо приостановить и восстановить доступ на той же ссылке невозможно.Почему важно
Обратимый suspend (неоплата, абьюз, диагностика) с сохранением ссылки — базовая возможность подписочного сервера, полностью отсутствует. Высокая операторская ценность.
Предлагаемое решение
Флаг
enabledнаusers(новаяNNNN-миграция), тоггл в админке, путь провижининга, флипающий 3x-ui-клиентаEnable(или снимающий/добавляющий привязки) с сохранением uuid/subId.Затронутые файлы
internal/service/provisioning/service.go,internal/handlers/users_get/handler.go,migrations/0001-init.sql,internal/handlers/web/static/app.jsИз аудита кодовой базы subgen (10 подсистем → adversarial-верификация, 71 находка). Бэклог-ранг указан для приоритизации.