import { Module } from "@nestjs/common";

import { BankCodesResolver } from "src/common/mappers/bank-type-id.mapper";

import { SchedulePresetsController } from "src/time-and-attendance/schedule-presets/schedule-presets.controller";
import { SchedulePresetsGetService } from "src/time-and-attendance/schedule-presets/services/schedule-presets-get.service";
import { SchedulePresetsCreateService } from "src/time-and-attendance/schedule-presets/services/schedule-presets-create.service";
import { SchedulePresetUpdateService } from "src/time-and-attendance/schedule-presets/services/schedule-presets-update.service";
import { SchedulePresetDeleteService } from "src/time-and-attendance/schedule-presets/services/schedule-presets-delete.service";
import { SchedulePresetsApplyService } from "src/time-and-attendance/schedule-presets/services/schedule-presets-apply.service";
import { EmailToIdResolver } from "src/common/mappers/email-id.mapper";
import { ShiftsCreateService } from "src/time-and-attendance/shifts/services/shifts-create.service";
import { VacationService } from "src/time-and-attendance/domains/services/vacation.service";
import { SickLeaveService } from "src/time-and-attendance/domains/services/sick-leave.service";
import { BankedHoursService } from "src/time-and-attendance/domains/services/banking-hours.service";
import { PayPeriodEventService } from "../pay-period/services/pay-period-event.service";



@Module({
    controllers: [SchedulePresetsController],
    providers: [
        SchedulePresetsGetService,
        SchedulePresetsCreateService,
        SchedulePresetUpdateService,
        SchedulePresetDeleteService,
        SchedulePresetsApplyService,
        EmailToIdResolver,
        ShiftsCreateService,
        BankCodesResolver,
        VacationService,
        SickLeaveService,
        BankedHoursService,
        PayPeriodEventService,
    ],
    exports: [
        SchedulePresetsGetService,
        SchedulePresetsCreateService,
        SchedulePresetUpdateService,
        SchedulePresetDeleteService,
    ],
}) export class SchedulePresetsModule { }