Files
edr-platform/apps/edr-freight-api/src/modules/support-chat/support-chat.module.ts
2026-07-17 10:59:25 +00:00

36 lines
1.6 KiB
TypeScript

import { Module } from "@nestjs/common";
import { TypeOrmModule } from "@nestjs/typeorm";
import { BackofficeModule } from "../backoffice/backoffice.module";
import { CompaniesModule } from "../companies/companies.module";
import { NotificationInboxModule } from "../notification-inbox/notification-inbox.module";
import { SupportConversation } from "./entities/support-conversation.entity";
import { SupportMessage } from "./entities/support-message.entity";
import { SupportChatAgentController } from "./support-chat-agent.controller";
import { SupportChatController } from "./support-chat.controller";
import { SupportChatGateway } from "./support-chat.gateway";
import { SupportChatService } from "./support-chat.service";
import { SupportConversationRepository } from "./support-conversation.repository";
import { SupportMessageRepository } from "./support-message.repository";
@Module({
imports: [
TypeOrmModule.forFeature([SupportConversation, SupportMessage]),
// ExternalProfileRepository — company lookup + ownership checks.
// CompaniesService — resolve the company an agent opens a thread with.
CompaniesModule,
// BackofficeService.getAllCurrentEmployeeUserIds — staff room membership.
BackofficeModule,
// WsAuthService — reused handshake authentication for the gateway.
NotificationInboxModule,
],
controllers: [SupportChatController, SupportChatAgentController],
providers: [
SupportConversationRepository,
SupportMessageRepository,
SupportChatGateway,
SupportChatService,
],
})
export class SupportChatModule {}