Add field management module with database schema and validation
- Introduced `FieldModule` to manage cycles and plans, including read and write controllers. - Created database migrations for `company_settings`, `cycles`, `cycle_weekdays`, `cycle_destinations`, `plans`, `plan_destinations`, `plan_invoices`, and `plan_packing_slips` tables, including constraints and unique indexes. - Developed service and repository layers for handling cycle and plan data operations. - Added unit tests for the cycles and plans services, repositories, and controllers to ensure functionality and correctness. - Updated application module to include the new `FieldModule` for better organization.
This commit is contained in:
@@ -0,0 +1,48 @@
|
||||
import { Module } from '@nestjs/common';
|
||||
import { BranchesModule } from '../configuration/branches/branches.module';
|
||||
import { CustomersModule } from '../configuration/customers/customers.module';
|
||||
import { EmployeesModule } from '../configuration/employees/employees.module';
|
||||
import { PrivilegesModule } from '../privileges/privileges.module';
|
||||
import { PackingSlipsModule } from '../sales/packing-slips/packing-slips.module';
|
||||
import { SalesInvoicesModule } from '../sales/sales-invoices/sales-invoices.module';
|
||||
import { CyclesReadController } from './cycles/cycles-read.controller';
|
||||
import { CyclesWriteController } from './cycles/cycles-write.controller';
|
||||
import { CyclesRepository } from './cycles/cycles.repository';
|
||||
import { CyclesService } from './cycles/cycles.service';
|
||||
import { PlansReadController } from './plans/plans-read.controller';
|
||||
import { PlansWriteController } from './plans/plans-write.controller';
|
||||
import { PlansRepository } from './plans/plans.repository';
|
||||
import { PlansService } from './plans/plans.service';
|
||||
import { CompanySettingsController } from './settings/company-settings.controller';
|
||||
import { CompanySettingsRepository } from './settings/company-settings.repository';
|
||||
import { CompanySettingsService } from './settings/company-settings.service';
|
||||
import { FieldPrivilegeGuard } from './shared/field-privilege.guard';
|
||||
|
||||
@Module({
|
||||
imports: [
|
||||
PrivilegesModule,
|
||||
EmployeesModule,
|
||||
BranchesModule,
|
||||
CustomersModule,
|
||||
SalesInvoicesModule,
|
||||
PackingSlipsModule,
|
||||
],
|
||||
controllers: [
|
||||
CompanySettingsController,
|
||||
CyclesReadController,
|
||||
CyclesWriteController,
|
||||
PlansReadController,
|
||||
PlansWriteController,
|
||||
],
|
||||
providers: [
|
||||
FieldPrivilegeGuard,
|
||||
CompanySettingsRepository,
|
||||
CompanySettingsService,
|
||||
CyclesRepository,
|
||||
CyclesService,
|
||||
PlansRepository,
|
||||
PlansService,
|
||||
],
|
||||
exports: [CompanySettingsService, CyclesService, PlansService],
|
||||
})
|
||||
export class FieldModule {}
|
||||
Reference in New Issue
Block a user