template-saas-backend-v2/src/modules/commissions/commissions.module.ts
Adrian Flores Cortes eb6a83daba feat(sales,commissions): Add Sales and Commissions backend modules
Sales Module (SAAS-018):
- Entities: PipelineStage, Lead, Opportunity, Activity
- Services: LeadsService, OpportunitiesService, ActivitiesService, PipelineService, SalesDashboardService
- Controllers: 25 endpoints for leads, opportunities, activities, pipeline, dashboard
- DTOs: Complete CRUD and query DTOs
- Integration with DDL functions: convert_lead_to_opportunity, update_opportunity_stage, calculate_lead_score

Commissions Module (SAAS-020):
- Entities: CommissionScheme, CommissionAssignment, CommissionPeriod, CommissionEntry
- Services: SchemesService, AssignmentsService, EntriesService, PeriodsService, CommissionsDashboardService
- Controllers: 25 endpoints for schemes, assignments, entries, periods, dashboard
- DTOs: Complete CRUD and query DTOs
- Integration with DDL functions: calculate_commission, close_period, get_user_earnings

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-24 22:23:02 -06:00

59 lines
1.1 KiB
TypeScript

import { Module } from '@nestjs/common';
import { TypeOrmModule } from '@nestjs/typeorm';
import {
CommissionSchemeEntity,
CommissionAssignmentEntity,
CommissionPeriodEntity,
CommissionEntryEntity,
} from './entities';
import {
SchemesService,
AssignmentsService,
EntriesService,
PeriodsService,
CommissionsDashboardService,
} from './services';
import {
SchemesController,
AssignmentsController,
EntriesController,
PeriodsController,
CommissionsDashboardController,
} from './controllers';
@Module({
imports: [
TypeOrmModule.forFeature([
CommissionSchemeEntity,
CommissionAssignmentEntity,
CommissionPeriodEntity,
CommissionEntryEntity,
]),
],
controllers: [
SchemesController,
AssignmentsController,
EntriesController,
PeriodsController,
CommissionsDashboardController,
],
providers: [
SchemesService,
AssignmentsService,
EntriesService,
PeriodsService,
CommissionsDashboardService,
],
exports: [
SchemesService,
AssignmentsService,
EntriesService,
PeriodsService,
CommissionsDashboardService,
],
})
export class CommissionsModule {}