feat(api): реализация 8 backend-модулей NestJS #1

Merged
fitcrm merged 1 commits from master into main 2026-02-18 09:36:40 +00:00
Owner

Summary

  • Реализованы 8 недостающих backend-модулей: departments, rooms, catalog, clubs, licenses, reports, webhooks, integration
  • Все модули следуют существующим паттернам (cursor-based pagination, clubId defense-in-depth, RBAC, ModuleGuard)
  • 68 новых файлов, 3097 строк кода — полноценные сервисы, контроллеры и DTO с Swagger-аннотациями

Новые модули

Модуль Путь Роли Особенности
departments /v1/departments CLUB_ADMIN, SUPER_ADMIN CRUD, staff count
rooms /v1/rooms CLUB_ADMIN, SUPER_ADMIN CRUD, capacity, active filter
catalog /v1/catalog/* Все (read), CLUB_ADMIN (write) Категории, услуги, пакеты
clubs /v1/admin/clubs SUPER_ADMIN Cross-tenant, soft-delete
licenses /v1/licenses SUPER_ADMIN (write), CLUB_ADMIN (read) Grace period, renewal, статусы
reports /v1/reports MANAGER, RECEPTIONIST, CLUB_ADMIN @RequireModule(web_reports)
webhooks /v1/webhooks CLUB_ADMIN HMAC-SHA256, 12 событий, test delivery
integration /v1/integration CLUB_ADMIN @RequireModule(1c_sync), sync trigger

Test plan

  • pnpm --filter api build — сборка API без ошибок
  • pnpm build — полная сборка monorepo (7/7 пакетов)
  • Проверить Swagger docs: все новые эндпоинты отображаются
  • E2E тесты CRUD для каждого модуля
  • Проверка RBAC: доступ запрещён для неавторизованных ролей

🤖 Generated with Claude Code

## Summary - Реализованы 8 недостающих backend-модулей: departments, rooms, catalog, clubs, licenses, reports, webhooks, integration - Все модули следуют существующим паттернам (cursor-based pagination, clubId defense-in-depth, RBAC, ModuleGuard) - 68 новых файлов, 3097 строк кода — полноценные сервисы, контроллеры и DTO с Swagger-аннотациями ## Новые модули | Модуль | Путь | Роли | Особенности | |--------|------|------|-------------| | departments | `/v1/departments` | CLUB_ADMIN, SUPER_ADMIN | CRUD, staff count | | rooms | `/v1/rooms` | CLUB_ADMIN, SUPER_ADMIN | CRUD, capacity, active filter | | catalog | `/v1/catalog/*` | Все (read), CLUB_ADMIN (write) | Категории, услуги, пакеты | | clubs | `/v1/admin/clubs` | SUPER_ADMIN | Cross-tenant, soft-delete | | licenses | `/v1/licenses` | SUPER_ADMIN (write), CLUB_ADMIN (read) | Grace period, renewal, статусы | | reports | `/v1/reports` | MANAGER, RECEPTIONIST, CLUB_ADMIN | `@RequireModule(web_reports)` | | webhooks | `/v1/webhooks` | CLUB_ADMIN | HMAC-SHA256, 12 событий, test delivery | | integration | `/v1/integration` | CLUB_ADMIN | `@RequireModule(1c_sync)`, sync trigger | ## Test plan - [x] `pnpm --filter api build` — сборка API без ошибок - [x] `pnpm build` — полная сборка monorepo (7/7 пакетов) - [ ] Проверить Swagger docs: все новые эндпоинты отображаются - [ ] E2E тесты CRUD для каждого модуля - [ ] Проверка RBAC: доступ запрещён для неавторизованных ролей 🤖 Generated with [Claude Code](https://claude.com/claude-code)
fitcrm added 1 commit 2026-02-18 09:36:14 +00:00
feat(api): реализация 8 backend-модулей NestJS
Some checks failed
CI / Lint & Format (push) Has been cancelled
CI / Backend Tests (push) Has been cancelled
CI / Build All Apps (push) Has been cancelled
CI / Lint & Format (pull_request) Has been cancelled
PR Check / Lint & Typecheck (pull_request) Has been cancelled
CI / Backend Tests (pull_request) Has been cancelled
CI / Build All Apps (pull_request) Has been cancelled
8b6ef0501c
Добавлены полноценные модули с сервисами, контроллерами и DTO:
- departments: CRUD департаментов (CLUB_ADMIN/SUPER_ADMIN)
- rooms: CRUD залов с фильтрацией по активности
- catalog: категории, услуги и пакеты (3 суб-ресурса)
- clubs: управление клубами для суперадмина (cross-tenant)
- licenses: лицензии с grace period, renewal, статусами истечения
- reports: генерация отчётов с @RequireModule('web_reports')
- webhooks: подписки с HMAC-SHA256, 12 типов событий, тестовая доставка
- integration: конфигурация 1С-интеграции и журнал синхронизации

Все модули зарегистрированы в AppModule. Сборка monorepo проходит успешно.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
fitcrm merged commit 3c6c6cd402 into main 2026-02-18 09:36:40 +00:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: fitcrm/fitcrm#1