- Updated the `UpdateClientAsync` method in `IXuiPanelGateway` to accept nullable parameters for `name` and `expiresAt`, allowing for more flexible client management without unintended modifications. - Adjusted the `BlockUserCommandHandler`, `UnblockUserCommandHandler`, and other related command handlers to utilize the new nullable parameters, ensuring that client names remain unchanged during block/unblock operations and that expiration dates are managed correctly. - Enhanced the billing and configuration handling to reflect the new logic for managing client states based on expiration rather than enabling/disabling, improving reliability in client status management. - Updated tests to cover the new behavior and ensure proper functionality across the application.
PnvPanel — Документация
Документация описывает систему как она построена: архитектура, домен, конвенции кода, как запускать и как пользоваться.
Индекс. Читать в этом порядке для погружения:
- Product Vision & Scope — продукт, роли, пользовательские сценарии, функциональность.
- Architecture — Clean Architecture, слои, CQRS, интеграция с 3x-ui, realtime, безопасность, фоновые задачи.
- Domain Model — сущности, value objects, связи, инварианты, уведомления/аудит.
- Tech Stack — используемые технологии и ключевые решения по домену.
- Backend Conventions — структура решения, паттерны, соглашения по коду.
- Frontend — стек, структура, работа с API и realtime.
- Telegram Bot — бот: ссылка на сайт, просмотр конфигов, passwordless-вход через привязку Telegram.
- API Design — контракты REST и SignalR.