Enhance API endpoints with response type annotations
- Updated various API endpoints to include response type annotations using .Produces<T>() for better documentation and type safety. - Enhanced activation, admin, user, config, and other endpoints to specify response types, improving clarity for frontend integration. - Added new DTOs for structured responses in authentication and Telegram-related endpoints. - Improved overall API schema generation to reflect these changes, ensuring consistency between backend and frontend types.
This commit is contained in:
+5
-3
@@ -73,7 +73,8 @@
|
||||
- **Админ в боте**: уведомления о запросах активации + inline «Активировать/Отклонить», `/requests` (по Telegram id из env).
|
||||
- **DM-уведомления юзеру**: активация (`ApproveActivationCommandHandler`), блокировка (`BlockUserCommandHandler`), принудительный отзыв конфига админом (`ForceRevokeConfigCommandHandler`) — если Telegram привязан. Бот — read-only по конфигам.
|
||||
- **Готово, когда**: юзер привязывает Telegram, входит без пароля, видит конфиги; админ активирует запросы прямо в боте. ✅ Достигнуто.
|
||||
- **Перенесено в backlog** (не реализовано в MVP): восстановление пароля через бота (`/resetpassword` с одноразовой ссылкой) — сейчас сброс пароля только через админа (`ResetUserPasswordCommand`); QR прямо в сообщениях бота; фронтовые кнопки «Войти через Telegram»/«Привязать Telegram» (бэкенд-контракт готов, фронт не реализовывался в эту итерацию).
|
||||
- **Перенесено в backlog** (не реализовано в MVP): восстановление пароля через бота (`/resetpassword` с одноразовой ссылкой) — сейчас сброс пароля только через админа (`ResetUserPasswordCommand`); QR прямо в сообщениях бота.
|
||||
Фронтовые кнопки «Войти через Telegram»/«Привязать Telegram» реализованы в отдельной итерации (см. M0 фронт).
|
||||
|
||||
## M8 — Закалка (hardening) ✅
|
||||
- Тесты: `PnvPanel.Domain.Tests` (54, чистые unit-тесты инвариантов сущностей), `PnvPanel.Application.Tests`
|
||||
@@ -87,8 +88,9 @@
|
||||
`dp_keys` для key-ring Data Protection (переживает пересоздание контейнера), healthcheck `app`
|
||||
через `GET /health` (curl добавлен в runtime-образ). TLS — внешним прокси (без изменений).
|
||||
- **Готово, когда**: зелёный CI, покрытие ключевых сценариев, готовность к деплою. ✅ Достигнуто
|
||||
(интеграционные тесты не запускались локально — Docker Desktop недоступен на машине разработки;
|
||||
зависят от Docker в CI для первого реального прогона).
|
||||
(интеграционные тесты прогнаны локально через Testcontainers после появления Docker на машине
|
||||
разработки — 134/134 зелёных; там же впервые собран и проверен единый Docker-образ и
|
||||
docker-compose стек end-to-end).
|
||||
|
||||
## Backlog (после MVP)
|
||||
- Полное самообслуживание в боте (создание/ротация/отзыв конфигов) — в MVP бот read-only.
|
||||
|
||||
Reference in New Issue
Block a user