import { Module } from "@nestjs/common"; import { BusinessLogicsModule } from "src/time-and-attendance/domains/business-logics.module"; import { VacationService } from "src/time-and-attendance/domains/services/vacation.service"; import { BankedHoursService } from "src/time-and-attendance/domains/services/banking-hours.service"; import { PaidTimeOffModule } from "src/time-and-attendance/paid-time-off/paid-time-off.module"; import { PaidTimeOffController } from "src/time-and-attendance/paid-time-off/paid-time-off.controller"; import { PaidTimeOffBankHoursService } from "src/time-and-attendance/paid-time-off/paid-time-off.service"; import { ExpenseController } from "src/time-and-attendance/expenses/expense.controller"; import { ExpenseCreateService } from "src/time-and-attendance/expenses/services/expense-create.service"; import { ExpenseUpdateService } from "src/time-and-attendance/expenses/services/expense-update.service"; import { ExpenseDeleteService } from "src/time-and-attendance/expenses/services/expense-delete.service"; import { ExpensesModule } from "src/time-and-attendance/expenses/expenses.module"; import { TimesheetController } from "src/time-and-attendance/timesheets/timesheet.controller"; import { TimesheetApprovalService } from "src/time-and-attendance/timesheets/services/timesheet-approval.service"; import { GetTimesheetsOverviewService } from "src/time-and-attendance/timesheets/services/timesheet-employee-overview.service"; import { TimesheetsModule } from "src/time-and-attendance/timesheets/timesheets.module"; import { BankCodesResolver } from "src/common/mappers/bank-type-id.mapper"; import { EmailToIdResolver } from "src/common/mappers/email-id.mapper"; import { EmployeeTimesheetResolver } from "src/common/mappers/timesheet.mapper"; import { PayperiodsModule } from "src/time-and-attendance/pay-period/pay-periods.module"; import { PayPeriodsController } from "src/time-and-attendance/pay-period/pay-periods.controller"; import { GetOverviewService } from "src/time-and-attendance/pay-period/services/pay-periods-build-overview.service"; import { PayPeriodsQueryService } from "src/time-and-attendance/pay-period/services/pay-periods-query.service"; import { PayPeriodsCommandService } from "src/time-and-attendance/pay-period/services/pay-periods-command.service"; import { CsvExportModule } from "src/time-and-attendance/exports/csv-exports.module"; import { CsvExportService } from "src/time-and-attendance/exports/services/csv-exports.service"; import { CsvGeneratorService } from "src/time-and-attendance/exports/services/csv-builder.service"; import { CsvExportController } from "src/time-and-attendance/exports/csv-exports.controller"; import { ShiftController } from "src/time-and-attendance/shifts/shift.controller"; import { ShiftsCreateService } from "src/time-and-attendance/shifts/services/shifts-create.service"; import { ShiftsUpdateService } from "src/time-and-attendance/shifts/services/shifts-update.service"; import { ShiftsDeleteService } from "src/time-and-attendance/shifts/services/shifts-delete.service"; import { SchedulePresetsGetService } from "src/time-and-attendance/schedule-presets/services/schedule-presets-get.service"; import { SchedulePresetsController } from "src/time-and-attendance/schedule-presets/schedule-presets.controller"; import { SchedulePresetsModule } from "src/time-and-attendance/schedule-presets/schedule-presets.module"; import { SchedulePresetDeleteService } from "src/time-and-attendance/schedule-presets/services/schedule-presets-delete.service"; import { SchedulePresetUpdateService } from "src/time-and-attendance/schedule-presets/services/schedule-presets-update.service"; import { SchedulePresetsCreateService } from "src/time-and-attendance/schedule-presets/services/schedule-presets-create.service"; import { SchedulePresetsApplyService } from "src/time-and-attendance/schedule-presets/services/schedule-presets-apply.service"; import { PayPeriodEventService } from "./pay-period/services/pay-period-event.service"; @Module({ imports: [ BusinessLogicsModule, PayperiodsModule, TimesheetsModule, ExpensesModule, PayperiodsModule, CsvExportModule, SchedulePresetsModule, PaidTimeOffModule, ], controllers: [ TimesheetController, ShiftController, SchedulePresetsController, ExpenseController, PayPeriodsController, CsvExportController, PaidTimeOffController, ], providers: [ GetTimesheetsOverviewService, ShiftsCreateService, ShiftsUpdateService, ShiftsDeleteService, ExpenseCreateService, ExpenseUpdateService, ExpenseDeleteService, SchedulePresetsGetService, SchedulePresetDeleteService, SchedulePresetsApplyService, SchedulePresetUpdateService, SchedulePresetsCreateService, EmailToIdResolver, BankCodesResolver, TimesheetApprovalService, EmployeeTimesheetResolver, GetOverviewService, PayPeriodsQueryService, PayPeriodsCommandService, CsvExportService, CsvGeneratorService, VacationService, BankedHoursService, PaidTimeOffBankHoursService, PayPeriodEventService, ], exports: [TimesheetApprovalService], }) export class TimeAndAttendanceModule { };