Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 | import { Module } from '@nestjs/common'; import { MongooseModule } from '@nestjs/mongoose'; import { BullModule } from '@nestjs/bullmq'; // Schemas import { LeaveType, LeaveTypeSchema, LeavePolicy, LeavePolicySchema, LeavePolicyVersion, LeavePolicyVersionSchema, LeavePolicyRule, LeavePolicyRuleSchema, LeavePolicyAssignment, LeavePolicyAssignmentSchema, LeavePeriod, LeavePeriodSchema, LeavePeriodSegment, LeavePeriodSegmentSchema, EmployeeLeavePeriodAssignment, EmployeeLeavePeriodAssignmentSchema, EmployeeLeaveAccount, EmployeeLeaveAccountSchema, LeaveBalanceLedger, LeaveBalanceLedgerSchema, LeaveBalanceSnapshot, LeaveBalanceSnapshotSchema, LeaveAdjustment, LeaveAdjustmentSchema, LeaveReservation, LeaveReservationSchema, LeaveAccrualRule, LeaveAccrualRuleSchema, LeaveAccrualSchedule, LeaveAccrualScheduleSchema, LeaveAccrualExecution, LeaveAccrualExecutionSchema, LeaveAccrualExecutionItem, LeaveAccrualExecutionItemSchema, LeaveRequest, LeaveRequestSchema, LeaveRequestDay, LeaveRequestDaySchema, LeaveRequestSession, LeaveRequestSessionSchema, LeaveRequestAttachment, LeaveRequestAttachmentSchema, LeaveRequestComment, LeaveRequestCommentSchema, LeaveRequestHistory, LeaveRequestHistorySchema, LeaveCancellationRequest, LeaveCancellationRequestSchema, LeaveModificationRequest, LeaveModificationRequestSchema, LeaveRequestRevision, LeaveRequestRevisionSchema, LossOfPayRecord, LossOfPayRecordSchema, LeavePayrollImpact, LeavePayrollImpactSchema, CompOffPolicy, CompOffPolicySchema, CompOffEarning, CompOffEarningSchema, CompOffRequest, CompOffRequestSchema, CompOffExpiry, CompOffExpirySchema, OptionalHolidayAllowance, OptionalHolidayAllowanceSchema, EmployeeOptionalHolidaySelection, EmployeeOptionalHolidaySelectionSchema, LeaveCarryForwardRule, LeaveCarryForwardRuleSchema, LeaveCarryForwardExecution, LeaveCarryForwardExecutionSchema, LeaveCarryForwardItem, LeaveCarryForwardItemSchema, LeaveEncashmentPolicy, LeaveEncashmentPolicySchema, LeaveEncashmentRequest, LeaveEncashmentRequestSchema, LeaveEncashmentTransaction, LeaveEncashmentTransactionSchema, LeaveDonationPolicy, LeaveDonationPolicySchema, LeaveDonationRequest, LeaveDonationRequestSchema, LeaveDonationTransaction, LeaveDonationTransactionSchema, LeaveConflictRule, LeaveConflictRuleSchema, LeaveConflictResult, LeaveConflictResultSchema, StaffingThreshold, StaffingThresholdSchema, LeavePayrollSummary, LeavePayrollSummarySchema, LeavePayrollExport, LeavePayrollExportSchema, LeaveImportJob, LeaveImportJobSchema, LeaveImportRow, LeaveImportRowSchema, LeaveExportJob, LeaveExportJobSchema, LeaveDailyMetrics, LeaveDailyMetricsSchema, } from './schemas'; // Services import { LeaveTypeService } from './leave-type/leave-type.service'; import { LeavePolicyService } from './policy/leave-policy.service'; import { LeavePeriodService } from './period/leave-period.service'; import { LeaveBalanceEngine } from './balance/leave-balance.engine'; import { LeaveAccrualEngine } from './accrual/leave-accrual.engine'; import { LeaveRequestService } from './request/leave-request.service'; import { LeaveCalculationEngine } from './calculation/leave-calculation.engine'; import { LeaveApprovalAdapter } from './approval/leave-approval.adapter'; import { LeaveCancellationService, LeaveModificationService, } from './cancellation/leave-cancellation.service'; import { CompOffService } from './comp-off/comp-off.service'; import { CarryForwardEngine } from './carry-forward/carry-forward.engine'; import { EncashmentService } from './encashment/encashment.service'; import { LeaveDonationService } from './donation/donation.service'; import { ConflictDetectionService } from './conflict/conflict.service'; import { CalendarService } from './calendar/calendar.service'; import { PayrollReadinessService } from './payroll/payroll.service'; import { ImportExportService } from './import-export/import-export.service'; import { OptionalHolidayService } from './optional-holiday/optional-holiday.service'; import { DashboardService } from './dashboard/dashboard.service'; // Controllers import { LeaveTypeController } from './leave-type/leave-type.controller'; import { LeavePolicyController } from './policy/leave-policy.controller'; import { LeavePeriodController } from './period/leave-period.controller'; import { LeaveBalanceController } from './balance/leave-balance.controller'; import { LeaveRequestController, LeaveMyController, LeaveCalculateController, } from './request/leave-request.controller'; import { LeaveApprovalController } from './approval/leave-approval.controller'; import { LeaveCancellationController } from './cancellation/leave-cancellation.controller'; import { CompOffController } from './comp-off/comp-off.controller'; import { CarryForwardController } from './carry-forward/carry-forward.controller'; import { EncashmentController } from './encashment/encashment.controller'; import { LeaveDonationController } from './donation/donation.controller'; import { CalendarController } from './calendar/calendar.controller'; import { PayrollReadinessController } from './payroll/payroll.controller'; import { ImportExportController } from './import-export/import-export.controller'; import { OptionalHolidayController } from './optional-holiday/optional-holiday.controller'; import { LeaveDashboardController } from './dashboard/dashboard.controller'; // Background Job Processors import { LeaveAccrualProcessor } from './jobs/leave-accrual.processor'; import { LeaveCarryForwardProcessor } from './jobs/leave-carry-forward.processor'; import { LeaveGeneralProcessor } from './jobs/leave-general.processor'; // Core Module Dependencies import { PermissionModule } from '../../../platform/permissions/permission.module'; import { FeatureFlagModule } from '../../../platform/feature-flags/feature-flag.module'; @Module({ imports: [ MongooseModule.forFeature([ { name: LeaveType.name, schema: LeaveTypeSchema }, { name: LeavePolicy.name, schema: LeavePolicySchema }, { name: LeavePolicyVersion.name, schema: LeavePolicyVersionSchema }, { name: LeavePolicyRule.name, schema: LeavePolicyRuleSchema }, { name: LeavePolicyAssignment.name, schema: LeavePolicyAssignmentSchema }, { name: LeavePeriod.name, schema: LeavePeriodSchema }, { name: LeavePeriodSegment.name, schema: LeavePeriodSegmentSchema }, { name: EmployeeLeavePeriodAssignment.name, schema: EmployeeLeavePeriodAssignmentSchema, }, { name: EmployeeLeaveAccount.name, schema: EmployeeLeaveAccountSchema }, { name: LeaveBalanceLedger.name, schema: LeaveBalanceLedgerSchema }, { name: LeaveBalanceSnapshot.name, schema: LeaveBalanceSnapshotSchema }, { name: LeaveAdjustment.name, schema: LeaveAdjustmentSchema }, { name: LeaveReservation.name, schema: LeaveReservationSchema }, { name: LeaveAccrualRule.name, schema: LeaveAccrualRuleSchema }, { name: LeaveAccrualSchedule.name, schema: LeaveAccrualScheduleSchema }, { name: LeaveAccrualExecution.name, schema: LeaveAccrualExecutionSchema }, { name: LeaveAccrualExecutionItem.name, schema: LeaveAccrualExecutionItemSchema, }, { name: LeaveRequest.name, schema: LeaveRequestSchema }, { name: LeaveRequestDay.name, schema: LeaveRequestDaySchema }, { name: LeaveRequestSession.name, schema: LeaveRequestSessionSchema }, { name: LeaveRequestAttachment.name, schema: LeaveRequestAttachmentSchema, }, { name: LeaveRequestComment.name, schema: LeaveRequestCommentSchema }, { name: LeaveRequestHistory.name, schema: LeaveRequestHistorySchema }, { name: LeaveCancellationRequest.name, schema: LeaveCancellationRequestSchema, }, { name: LeaveModificationRequest.name, schema: LeaveModificationRequestSchema, }, { name: LeaveRequestRevision.name, schema: LeaveRequestRevisionSchema }, { name: LossOfPayRecord.name, schema: LossOfPayRecordSchema }, { name: LeavePayrollImpact.name, schema: LeavePayrollImpactSchema }, { name: CompOffPolicy.name, schema: CompOffPolicySchema }, { name: CompOffEarning.name, schema: CompOffEarningSchema }, { name: CompOffRequest.name, schema: CompOffRequestSchema }, { name: CompOffExpiry.name, schema: CompOffExpirySchema }, { name: OptionalHolidayAllowance.name, schema: OptionalHolidayAllowanceSchema, }, { name: EmployeeOptionalHolidaySelection.name, schema: EmployeeOptionalHolidaySelectionSchema, }, { name: LeaveCarryForwardRule.name, schema: LeaveCarryForwardRuleSchema }, { name: LeaveCarryForwardExecution.name, schema: LeaveCarryForwardExecutionSchema, }, { name: LeaveCarryForwardItem.name, schema: LeaveCarryForwardItemSchema }, { name: LeaveEncashmentPolicy.name, schema: LeaveEncashmentPolicySchema }, { name: LeaveEncashmentRequest.name, schema: LeaveEncashmentRequestSchema, }, { name: LeaveEncashmentTransaction.name, schema: LeaveEncashmentTransactionSchema, }, { name: LeaveDonationPolicy.name, schema: LeaveDonationPolicySchema }, { name: LeaveDonationRequest.name, schema: LeaveDonationRequestSchema }, { name: LeaveDonationTransaction.name, schema: LeaveDonationTransactionSchema, }, { name: LeaveConflictRule.name, schema: LeaveConflictRuleSchema }, { name: LeaveConflictResult.name, schema: LeaveConflictResultSchema }, { name: StaffingThreshold.name, schema: StaffingThresholdSchema }, { name: LeavePayrollSummary.name, schema: LeavePayrollSummarySchema }, { name: LeavePayrollExport.name, schema: LeavePayrollExportSchema }, { name: LeaveImportJob.name, schema: LeaveImportJobSchema }, { name: LeaveImportRow.name, schema: LeaveImportRowSchema }, { name: LeaveExportJob.name, schema: LeaveExportJobSchema }, { name: LeaveDailyMetrics.name, schema: LeaveDailyMetricsSchema }, ]), BullModule.registerQueue( { name: 'leave-accrual-processing' }, { name: 'leave-carry-forward-processing' }, { name: 'leave-general-processing' }, ), PermissionModule, FeatureFlagModule, ], controllers: [ LeaveTypeController, LeavePolicyController, LeavePeriodController, LeaveBalanceController, LeaveRequestController, LeaveMyController, LeaveCalculateController, LeaveApprovalController, LeaveCancellationController, CompOffController, CarryForwardController, EncashmentController, LeaveDonationController, CalendarController, PayrollReadinessController, ImportExportController, OptionalHolidayController, LeaveDashboardController, ], providers: [ LeaveTypeService, LeavePolicyService, LeavePeriodService, LeaveBalanceEngine, LeaveAccrualEngine, LeaveRequestService, LeaveCalculationEngine, LeaveApprovalAdapter, LeaveCancellationService, LeaveModificationService, CompOffService, CarryForwardEngine, EncashmentService, LeaveDonationService, ConflictDetectionService, CalendarService, PayrollReadinessService, ImportExportService, OptionalHolidayService, DashboardService, LeaveAccrualProcessor, LeaveCarryForwardProcessor, LeaveGeneralProcessor, ], exports: [ LeaveTypeService, LeavePolicyService, LeavePeriodService, LeaveBalanceEngine, LeaveAccrualEngine, LeaveRequestService, LeaveCalculationEngine, LeaveApprovalAdapter, CompOffService, CarryForwardEngine, EncashmentService, LeaveDonationService, PayrollReadinessService, ], }) export class LeaveModule {} |