import { BullModule } from '@nestjs/bullmq'
import { Module } from '@nestjs/common'
import { GOOGLE_RESERVATIONS_QUEUES } from '../../../core'
import { ReservationEmailService } from './email.service'
import { ICSService } from './ics.service'
import { ReservationStatsService } from './reservation-stats.service'
import { TableAssignmentService } from './table-assignment.service'
import { ReservationUtilsService } from './utils.service'

@Module({
	imports: [
		BullModule.registerQueue({
			name: GOOGLE_RESERVATIONS_QUEUES.SEND_REALTIME_UPDATE,
		}),
	],
	providers: [
		ReservationEmailService,
		TableAssignmentService,
		ReservationUtilsService,
		ReservationStatsService,
		ICSService,
	],
	exports: [ReservationEmailService, TableAssignmentService, ReservationUtilsService, ReservationStatsService],
})
export class ReservationSharedModule {}
