import { ConfigModule } from '@nestjs/config'; import { CouchDataController } from './infrastructure/couch.controller'; import { Module } from '@nestjs/common'; import { CouchService } from './data/services/couch.service'; import { CqrsModule } from '@nestjs/cqrs'; import { PaymentMethodUpdatedHandler, PaymentMethodDeletedHandler, } from './domain/managers/payment-method.handler'; import { VipCategoryDeletedHandler, VipCategoryUpdatedHandler, } from './domain/managers/vip-category.handler'; import { SeasonPeriodDeletedHandler, SeasonPeriodUpdatedHandler, } from './domain/managers/season-period.handler'; import { ItemDeletedHandler, ItemPriceUpdatedHandler, ItemRateUpdatedHandler, ItemUpdatedHandler, } from './domain/managers/item.handler'; import { UserDeletedHandler, UserPrivilegeUpdateHandler, UserUpdatedHandler, } from './domain/managers/user.handler'; import { TypeOrmModule } from '@nestjs/typeorm'; import { CONNECTION_NAME } from 'src/core/strings/constants/base.constants'; import { ItemModel } from 'src/modules/item-related/item/data/models/item.model'; import { UserModel } from 'src/modules/user-related/user/data/models/user.model'; import { UserDataService } from 'src/modules/user-related/user/data/services/user-data.service'; import { ItemDataService } from 'src/modules/item-related/item/data/services/item-data.service'; import { BookingDeletedEvent, // BookingHandler, BookingUpdateHandler, ChangeStatusBookingHandler, } from './domain/managers/booking.handler'; import { TransactionDataService } from 'src/modules/transaction/transaction/data/services/transaction-data.service'; import { TransactionModel } from 'src/modules/transaction/transaction/data/models/transaction.model'; import { TransactionTaxModel } from 'src/modules/transaction/transaction/data/models/transaction-tax.model'; import { TransactionItemModel } from 'src/modules/transaction/transaction/data/models/transaction-item.model'; import { VipCodeCreatedHandler } from './domain/managers/vip-code.handler'; @Module({ imports: [ ConfigModule.forRoot(), TypeOrmModule.forFeature( [ ItemModel, UserModel, TransactionModel, TransactionTaxModel, TransactionItemModel, ], CONNECTION_NAME.DEFAULT, ), CqrsModule, ], controllers: [CouchDataController], providers: [ // BookingHandler, BookingUpdateHandler, ChangeStatusBookingHandler, BookingDeletedEvent, PaymentMethodDeletedHandler, PaymentMethodUpdatedHandler, VipCodeCreatedHandler, VipCategoryDeletedHandler, VipCategoryUpdatedHandler, SeasonPeriodDeletedHandler, SeasonPeriodUpdatedHandler, ItemUpdatedHandler, ItemDeletedHandler, ItemRateUpdatedHandler, ItemPriceUpdatedHandler, UserDeletedHandler, UserUpdatedHandler, UserPrivilegeUpdateHandler, TransactionDataService, UserDataService, ItemDataService, CouchService, ], }) export class CouchModule {}