* refactor: convert checkBookingLimits to class service with dependency injection - Create CheckBookingLimitsService class following AvailableSlotsService pattern - Add countBookingsByEventTypeAndDateRange method to BookingRepository - Move direct prisma calls from service to repository layer - Implement dependency injection with proper DI tokens and modules - Update all usage points to use the new service through DI - Maintain backward compatibility with error-throwing wrapper functions - Update tests to use the new service pattern - Resolve TODO comment in AvailableSlotsService for DI integration Co-Authored-By: morgan@cal.com <morgan@cal.com> * chore: DI CheckBookingLimitsService in v2 slots service * chore: bump libraries * chore: create getCheckBookingLimitsService * refactor: convert checkBookingAndDurationLimits to service class with DI - Create CheckBookingAndDurationLimitsService class following DI pattern - Add DI tokens and module for the new service - Update booking-limits container to provide the new service - Refactor handleNewBooking.ts to use service through DI - Maintain backward compatibility with deprecated function export - Preserve all existing functionality while improving code organization Co-Authored-By: morgan@cal.com <morgan@cal.com> * chore: CheckBookingAndDurationLimitsService * chore: bump platform libs --------- Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> Co-authored-by: morgan@cal.com <morgan@cal.com> Co-authored-by: Morgan <33722304+ThyMinimalDev@users.noreply.github.com>
49 lines
2.2 KiB
JSON
49 lines
2.2 KiB
JSON
{
|
|
"compilerOptions": {
|
|
"module": "commonjs",
|
|
"declaration": true,
|
|
"resolveJsonModule": true,
|
|
"removeComments": true,
|
|
"emitDecoratorMetadata": true,
|
|
"experimentalDecorators": true,
|
|
"allowSyntheticDefaultImports": true,
|
|
"target": "ES2021",
|
|
"sourceMap": true,
|
|
"outDir": "./dist",
|
|
"baseUrl": ".",
|
|
"jsx": "react-jsx",
|
|
"paths": {
|
|
"@/*": ["./src/*"],
|
|
"@prisma/client/*": ["@calcom/prisma/client/*"],
|
|
"@calcom/platform-constants": ["../../../packages/platform/constants/index.ts"],
|
|
"@calcom/platform-types": ["../../../packages/platform/types/index.ts"],
|
|
"@calcom/platform-utils": ["../../../packages/platform/utils/index.ts"],
|
|
"@calcom/platform-enums": ["../../../packages/platform/enums/index.ts"],
|
|
"@calcom/platform-libraries/event-types": ["../../../packages/platform/libraries/event-types.ts"],
|
|
"@calcom/platform-libraries/slots": ["../../../packages/platform/libraries/slots.ts"],
|
|
"@calcom/platform-libraries/emails": ["../../../packages/platform/libraries/emails.ts"],
|
|
"@calcom/platform-libraries/schedules": ["../../../packages/platform/libraries/schedules.ts"],
|
|
"@calcom/platform-libraries/app-store": ["../../../packages/platform/libraries/app-store.ts"],
|
|
"@calcom/platform-libraries/workflows": ["../../../packages/platform/libraries/workflows.ts"],
|
|
"@calcom/platform-libraries/conferencing": ["../../../packages/platform/libraries/conferencing.ts"],
|
|
"@calcom/platform-libraries/repositories": ["../../../packages/platform/libraries/repositories.ts"],
|
|
"@calcom/platform-libraries/bookings": ["../../../packages/platform/libraries/bookings.ts"]
|
|
},
|
|
"incremental": true,
|
|
"skipLibCheck": true,
|
|
"strict": true,
|
|
"noImplicitAny": true,
|
|
"forceConsistentCasingInFileNames": false,
|
|
"noFallthroughCasesInSwitch": false
|
|
},
|
|
"watchOptions": {
|
|
"watchFile": "fixedPollingInterval",
|
|
"watchDirectory": "useFsEvents",
|
|
"fallbackPolling": "dynamicPriority",
|
|
"synchronousWatchDirectory": true,
|
|
"excludeDirectories": ["**/node_modules", "dist"]
|
|
},
|
|
"exclude": ["./dist", "./node_modules", "next-i18next.config.js"],
|
|
"include": ["./**/*.ts", "../../../packages/types/*.d.ts"]
|
|
}
|