import { Module } from '@nestjs/common'; import { ObjectMetadataRepositoryModule } from 'src/engine/object-metadata-repository/object-metadata-repository.module'; import { BlocklistItemDeleteCalendarEventsJob } from 'src/modules/calendar/jobs/blocklist-item-delete-calendar-events.job'; import { BlocklistReimportCalendarEventsJob } from 'src/modules/calendar/jobs/blocklist-reimport-calendar-events.job'; import { CalendarCreateCompanyAndContactAfterSyncJob } from 'src/modules/calendar/jobs/calendar-create-company-and-contact-after-sync.job'; import { DeleteConnectedAccountAssociatedCalendarDataJob } from 'src/modules/calendar/jobs/delete-connected-account-associated-calendar-data.job'; import { GoogleCalendarSyncJob } from 'src/modules/calendar/jobs/google-calendar-sync.job'; import { CalendarEventCleanerModule } from 'src/modules/calendar/services/calendar-event-cleaner/calendar-event-cleaner.module'; import { GoogleCalendarSyncModule } from 'src/modules/calendar/services/google-calendar-sync/google-calendar-sync.module'; import { CalendarChannelEventAssociationObjectMetadata } from 'src/modules/calendar/standard-objects/calendar-channel-event-association.object-metadata'; import { CalendarChannelObjectMetadata } from 'src/modules/calendar/standard-objects/calendar-channel.object-metadata'; import { CalendarEventParticipantObjectMetadata } from 'src/modules/calendar/standard-objects/calendar-event-participant.object-metadata'; import { AutoCompaniesAndContactsCreationModule } from 'src/modules/connected-account/auto-companies-and-contacts-creation/auto-companies-and-contacts-creation.module'; import { GoogleAPIRefreshAccessTokenModule } from 'src/modules/connected-account/services/google-api-refresh-access-token/google-api-refresh-access-token.module'; import { BlocklistObjectMetadata } from 'src/modules/connected-account/standard-objects/blocklist.object-metadata'; import { ConnectedAccountObjectMetadata } from 'src/modules/connected-account/standard-objects/connected-account.object-metadata'; @Module({ imports: [ ObjectMetadataRepositoryModule.forFeature([ CalendarChannelObjectMetadata, CalendarChannelEventAssociationObjectMetadata, CalendarEventParticipantObjectMetadata, ConnectedAccountObjectMetadata, BlocklistObjectMetadata, ]), CalendarEventCleanerModule, AutoCompaniesAndContactsCreationModule, GoogleCalendarSyncModule, GoogleAPIRefreshAccessTokenModule, GoogleCalendarSyncModule, ], providers: [ { provide: BlocklistItemDeleteCalendarEventsJob.name, useClass: BlocklistItemDeleteCalendarEventsJob, }, { provide: BlocklistReimportCalendarEventsJob.name, useClass: BlocklistReimportCalendarEventsJob, }, { provide: GoogleCalendarSyncJob.name, useClass: GoogleCalendarSyncJob, }, { provide: CalendarCreateCompanyAndContactAfterSyncJob.name, useClass: CalendarCreateCompanyAndContactAfterSyncJob, }, { provide: DeleteConnectedAccountAssociatedCalendarDataJob.name, useClass: DeleteConnectedAccountAssociatedCalendarDataJob, }, ], }) export class CalendarJobModule {}