This commit is contained in:
2026-01-14 12:00:13 +03:30
parent 4ab9de447a
commit 081f2cf4a7
26 changed files with 75 additions and 34927 deletions
+8 -41
View File
@@ -1,58 +1,25 @@
import { BullModule } from "@nestjs/bullmq";
import { Module } from "@nestjs/common";
import { TypeOrmModule } from "@nestjs/typeorm";
import { TICKET } from "./constant";
import { TicketCategory } from "./entities/ticket-category.entity";
import { TicketMessage } from "./entities/ticket-message.entity";
import { Ticket } from "./entities/ticket.entity";
import { ReferralStrategyFactory } from "./providers/referral-strategy.factory";
import { TicketsService } from "./providers/tickets.service";
import { TicketCategoryRepository } from "./repositories/tickets-category.repository";
import { TicketMessagesRepository } from "./repositories/tickets-message.repository";
import { TicketsRepository } from "./repositories/tickets.repository";
import { TicketsController } from "./tickets.controller";
import { AccessLogsModule } from "../access-logs/access-logs.module";
import { UsersModule } from "../users/users.module";
import { TicketMessageAttachment } from "./entities/ticket-message-attachment";
import { TicketMessageAttachmentsRepository } from "./repositories/ticket-message-attachment.repository";
import { DanakServicesModule } from "../danak-services/danak-services.module";
import { NotificationModule } from "../notifications/notifications.module";
import { ReferralService } from "./providers/referral.service";
import { GroupStrategy } from "./strategies/group.strategy";
import { RoundRobinStrategy } from "./strategies/round-robin.strategy";
import { SupportPlansModule } from "../support-plans/support-plans.module";
import { TicketProcessor } from "./queue/ticket.processor";
import { LoggerModule } from "../logger/logger.module";
import { MikroOrmModule } from "@mikro-orm/nestjs";
@Module({
imports: [
TypeOrmModule.forFeature([Ticket, TicketCategory, TicketMessageAttachment, TicketMessage]),
AccessLogsModule,
MikroOrmModule.forFeature([Ticket]),
BullModule.registerQueue({ name: TICKET.QUEUE_NAME }),
UsersModule,
DanakServicesModule,
NotificationModule,
SupportPlansModule,
LoggerModule,
],
providers: [
GroupStrategy,
RoundRobinStrategy,
ReferralStrategyFactory,
{
provide: ReferralService,
useFactory: (strategyFactory: ReferralStrategyFactory) => new ReferralService(strategyFactory),
inject: [ReferralStrategyFactory],
},
TicketsService,
TicketsRepository,
TicketCategoryRepository,
TicketMessagesRepository,
TicketMessageAttachmentsRepository,
TicketProcessor,
],
providers: [TicketsService, TicketsRepository, TicketMessagesRepository],
controllers: [TicketsController],
exports: [TicketsService],
})
export class TicketsModule {}
export class TicketsModule { }