80 lines
2.7 KiB
TypeScript
80 lines
2.7 KiB
TypeScript
import { Module } from '@nestjs/common';
|
|
import { ConfigModule } from '@nestjs/config';
|
|
import { TypeOrmModule } from '@nestjs/typeorm';
|
|
import { CONNECTION_NAME } from 'src/core/strings/constants/base.constants';
|
|
|
|
import { CqrsModule } from '@nestjs/cqrs';
|
|
|
|
import { ItemModel } from 'src/modules/item-related/item/data/models/item.model';
|
|
import {
|
|
QueueItemModel,
|
|
QueueModel,
|
|
QueueOrderModel,
|
|
QueueTicketModel,
|
|
} from './data/models/queue.model';
|
|
import { QueueController } from './infrastructure/controllers/queue.controller';
|
|
import { QueueOrchestrator } from './domain/queue.orchestrator';
|
|
import { QueueTransactionHandler } from './infrastructure/handlers/transaction.handler';
|
|
import { TransactionDataService } from '../transaction/transaction/data/services/transaction-data.service';
|
|
import { TransactionModel } from '../transaction/transaction/data/models/transaction.model';
|
|
import { TicketDataService } from './data/services/ticket.service';
|
|
import {
|
|
QueueDataService,
|
|
QueueOrderService,
|
|
QueueService,
|
|
} from './data/services/queue.service';
|
|
import { QueueAdminController } from './infrastructure/controllers/queue-admin.controller';
|
|
import { QueueAdminOrchestrator } from './domain/queue-admin.orchestrator';
|
|
import { IndexQueueManager } from './domain/usecases/index-queue.manager';
|
|
import { CallQueueManager } from './domain/usecases/call-queue.manager';
|
|
import { RegisterQueueManager } from './domain/usecases/register-queue.manager';
|
|
import { QueueBucketModel } from './data/models/queue-bucket.model';
|
|
import { QueueBucketReadService } from './data/services/queue-bucket';
|
|
import { SplitQueueManager } from './domain/usecases/split-queue.manager';
|
|
import { QueueTransactionCancelHandler } from './infrastructure/handlers/cancel-transaction.handler';
|
|
import { ItemQueueModel } from '../item-related/item-queue/data/models/item-queue.model';
|
|
import { QueueTimeFormula } from './domain/usecases/formula/queue-time.formula';
|
|
|
|
@Module({
|
|
imports: [
|
|
ConfigModule.forRoot(),
|
|
TypeOrmModule.forFeature(
|
|
[
|
|
QueueOrderModel,
|
|
QueueTicketModel,
|
|
QueueItemModel,
|
|
QueueModel,
|
|
QueueBucketModel,
|
|
ItemModel,
|
|
ItemQueueModel,
|
|
TransactionModel,
|
|
],
|
|
CONNECTION_NAME.DEFAULT,
|
|
),
|
|
CqrsModule,
|
|
],
|
|
controllers: [QueueController, QueueAdminController],
|
|
providers: [
|
|
QueueOrchestrator,
|
|
QueueAdminOrchestrator,
|
|
|
|
QueueTransactionHandler,
|
|
QueueTransactionCancelHandler,
|
|
|
|
TransactionDataService,
|
|
TicketDataService,
|
|
QueueDataService,
|
|
QueueService,
|
|
QueueBucketReadService,
|
|
QueueOrderService,
|
|
|
|
IndexQueueManager,
|
|
CallQueueManager,
|
|
RegisterQueueManager,
|
|
SplitQueueManager,
|
|
|
|
QueueTimeFormula,
|
|
],
|
|
})
|
|
export class QueueModule {}
|