orchestration-service-nestjs
Orchestration Service Pattern - NestJS
Orchestration Services coordinate multiple Model Services for workflows that span multiple domain models. They sit between Controllers and Model Services, handling cross-domain business logic.
Canonical Examples
Study these real implementations as the source of truth:
- Orchestration Service: task-orchestration.service.ts
- Processor Service: task-generation-processor.service.ts
- Module: task-orchestration.module.ts
When to Use an Orchestration Service
Use an Orchestration Service (not a Model Service) when:
- The operation spans 2+ domain models (e.g., Show + Task + TaskTarget)
- Bulk operations with per-item logic (generate tasks for N shows)
- Cross-domain validation (verify user is a studio member before assigning a task)
More from allenlin90/eridu-services
service-pattern-nestjs
Comprehensive NestJS service implementation patterns. This skill should be used when implementing Model Services, Orchestration Services, or business logic with NestJS decorators.
8erify-authorization
Patterns for implementing authorization in erify_api with current StudioMembership + AdminGuard behavior, plus planned RBAC references
6data-validation
Provides comprehensive guidance for input validation, data serialization, and ID management in backend APIs. This skill should be used when designing validation schemas, transforming request/response data, mapping database IDs to external identifiers, and ensuring type safety across API boundaries.
6code-quality
Provides general code quality and best practices guidance applicable across languages and frameworks. Focuses on linting, testing, and type safety.
6repository-pattern-nestjs
Comprehensive Prisma repository implementation patterns for NestJS. This skill should be used when implementing repositories that extend BaseRepository or use Prisma delegates.
6task-template-builder
Provides guidelines for the Task Template Builder architecture, including Schema alignment, Draft storage, Drag-and-Drop, and Validation logic.
6