rwadurian/backend/services/presence-service/src/application/application.module.ts

35 lines
1.3 KiB
TypeScript

import { Module } from '@nestjs/common';
import { CqrsModule } from '@nestjs/cqrs';
import { DomainModule } from '../domain/domain.module';
import { InfrastructureModule } from '../infrastructure/infrastructure.module';
import { RecordEventsHandler } from './commands/record-events/record-events.handler';
import { RecordHeartbeatHandler } from './commands/record-heartbeat/record-heartbeat.handler';
import { CalculateDauHandler } from './commands/calculate-dau/calculate-dau.handler';
import { GetOnlineCountHandler } from './queries/get-online-count/get-online-count.handler';
import { GetDauStatsHandler } from './queries/get-dau-stats/get-dau-stats.handler';
import { GetOnlineHistoryHandler } from './queries/get-online-history/get-online-history.handler';
import { AnalyticsScheduler } from './schedulers/analytics.scheduler';
const CommandHandlers = [
RecordEventsHandler,
RecordHeartbeatHandler,
CalculateDauHandler,
];
const QueryHandlers = [
GetOnlineCountHandler,
GetDauStatsHandler,
GetOnlineHistoryHandler,
];
@Module({
imports: [CqrsModule, DomainModule, InfrastructureModule],
providers: [
...CommandHandlers,
...QueryHandlers,
AnalyticsScheduler,
],
exports: [CqrsModule],
})
export class ApplicationModule {}