What problem does it solve?
Provides a clear, organization-wide pattern for implementing HTTP controllers in the zoppy-api project so that controllers remain thin, consistent, and free of business logic while ensuring security, transaction safety, and predictable request/response contracts.
Core Features & Use Cases
- Thin-controller pattern that delegates all business rules to Application Services and prevents leakage of domain logic into HTTP layers.
- Standardized use of guards and decorators including BlockFreeTierGuard, RoleGuard, FeatureGuard, UsingTransaction, ExceptionInterceptor, RateLimit, and IsPublic to enforce security, feature flags, transactions, and observability.
- Request and response DTO conventions, multipart file handling, REST URL patterns, and explicit registration of controllers in HttpModule to ensure consistent routing and integration testing readiness.
Quick Start
Create a new NestJS controller that exposes CRUD endpoints, applies BlockFreeTierGuard and RoleGuard on protected routes, uses UsingTransaction for write operations and ExceptionInterceptor for all endpoints, defines request and response DTOs, and register the controller in the HttpModule.