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 | import { Module, Global } from '@nestjs/common'; import { MongooseModule } from '@nestjs/mongoose'; import { BullModule } from '@nestjs/bullmq'; import { CalendarController } from './calendar.controller'; import { MobileCalendarController } from './mobile-calendar.controller'; import { PublicBookingController } from './public-booking.controller'; import { CalendarService } from './calendar.service'; import { AvailabilityEngine } from './availability.engine'; import { RecurrenceEngine } from './recurrence.engine'; import { BookingEngine } from './booking-engine.service'; import { ConflictDetectionService } from './conflict-detection.service'; import { WorkingCalendarService } from './working-calendar.service'; import { EventBusModule } from '../events/event-bus.module'; import { CalendarPlatformConfiguration, CalendarPlatformConfigurationSchema, CalendarPlatformConfigurationVersion, CalendarPlatformConfigurationVersionSchema, CalendarTenantPreference, CalendarTenantPreferenceSchema, CalendarUserPreference, CalendarUserPreferenceSchema, SharedCalendarDefinition, SharedCalendarDefinitionSchema, SharedCalendarDefinitionVersion, SharedCalendarDefinitionVersionSchema, CalendarMembership, CalendarMembershipSchema, CalendarShare, CalendarShareSchema, CalendarSubscription, CalendarSubscriptionSchema, SharedBusinessHoursDefinition, SharedBusinessHoursDefinitionSchema, WorkingCalendar, WorkingCalendarSchema, WorkingCalendarVersion, WorkingCalendarVersionSchema, SharedHolidayCalendar, SharedHolidayCalendarSchema, SharedHoliday, SharedHolidaySchema, HolidayAssignment, HolidayAssignmentSchema, CalendarEvent, CalendarEventSchema, CalendarEventParticipant, CalendarEventParticipantSchema, CalendarEventResource, CalendarEventResourceSchema, CalendarEventVersion, CalendarEventVersionSchema, RecurrenceRule, RecurrenceRuleSchema, RecurrenceException, RecurrenceExceptionSchema, BookingRequest, BookingRequestSchema, BookingRule, BookingRuleSchema, BookingHold, BookingHoldSchema, MeetingDefinition, MeetingDefinitionSchema, MeetingAvailabilityPoll, MeetingAvailabilityPollSchema, ReminderDefinition, ReminderDefinitionSchema, ExternalCalendarConnection, ExternalCalendarConnectionSchema, CalendarSyncCursor, CalendarSyncCursorSchema, CalendarWebhookSubscription, CalendarWebhookSubscriptionSchema } from './schemas'; @Global() @Module({ imports: [ EventBusModule, MongooseModule.forFeature([ { name: CalendarPlatformConfiguration.name, schema: CalendarPlatformConfigurationSchema }, { name: CalendarPlatformConfigurationVersion.name, schema: CalendarPlatformConfigurationVersionSchema }, { name: CalendarTenantPreference.name, schema: CalendarTenantPreferenceSchema }, { name: CalendarUserPreference.name, schema: CalendarUserPreferenceSchema }, { name: SharedCalendarDefinition.name, schema: SharedCalendarDefinitionSchema }, { name: SharedCalendarDefinitionVersion.name, schema: SharedCalendarDefinitionVersionSchema }, { name: CalendarMembership.name, schema: CalendarMembershipSchema }, { name: CalendarShare.name, schema: CalendarShareSchema }, { name: CalendarSubscription.name, schema: CalendarSubscriptionSchema }, { name: SharedBusinessHoursDefinition.name, schema: SharedBusinessHoursDefinitionSchema }, { name: WorkingCalendar.name, schema: WorkingCalendarSchema }, { name: WorkingCalendarVersion.name, schema: WorkingCalendarVersionSchema }, { name: SharedHolidayCalendar.name, schema: SharedHolidayCalendarSchema }, { name: SharedHoliday.name, schema: SharedHolidaySchema }, { name: HolidayAssignment.name, schema: HolidayAssignmentSchema }, { name: CalendarEvent.name, schema: CalendarEventSchema }, { name: CalendarEventParticipant.name, schema: CalendarEventParticipantSchema }, { name: CalendarEventResource.name, schema: CalendarEventResourceSchema }, { name: CalendarEventVersion.name, schema: CalendarEventVersionSchema }, { name: RecurrenceRule.name, schema: RecurrenceRuleSchema }, { name: RecurrenceException.name, schema: RecurrenceExceptionSchema }, { name: BookingRequest.name, schema: BookingRequestSchema }, { name: BookingRule.name, schema: BookingRuleSchema }, { name: BookingHold.name, schema: BookingHoldSchema }, { name: MeetingDefinition.name, schema: MeetingDefinitionSchema }, { name: MeetingAvailabilityPoll.name, schema: MeetingAvailabilityPollSchema }, { name: ReminderDefinition.name, schema: ReminderDefinitionSchema }, { name: ExternalCalendarConnection.name, schema: ExternalCalendarConnectionSchema }, { name: CalendarSyncCursor.name, schema: CalendarSyncCursorSchema }, { name: CalendarWebhookSubscription.name, schema: CalendarWebhookSubscriptionSchema } ]), BullModule.registerQueue( { name: 'calendar.recurrence-generate' }, { name: 'calendar.reminder-dispatch' }, { name: 'calendar.booking-hold-expire' }, { name: 'calendar.sync-pull' }, { name: 'calendar.ics-import' } ) ], controllers: [ CalendarController, MobileCalendarController, PublicBookingController ], providers: [ CalendarService, AvailabilityEngine, RecurrenceEngine, BookingEngine, ConflictDetectionService, WorkingCalendarService ], exports: [ CalendarService, AvailabilityEngine, RecurrenceEngine, BookingEngine, ConflictDetectionService, WorkingCalendarService ] }) export class CalendarPlatformModule {} |