import { Module } from "@nestjs/common";
import { NotificationsModule } from "../notifications/notifications.module.js";
import { PreferencesModule } from "../preferences/preferences.module.js";
import { TemplatesModule } from "../templates/templates.module.js";
import { NotificationsGrpcController } from "./notifications.grpc.controller.js";
import { PreferencesGrpcController } from "./preferences.grpc.controller.js";
import { TemplatesGrpcController } from "./templates.grpc.controller.js";

/**
 * GrpcModule —— 注册 3 个 gRPC controller（17 RPC）。
 *
 * 仲裁依据 M1：gRPC 50056 启用，proto msg.proto 定义 3 Service 共 17 RPC。
 *
 * Module 导入 NotificationsModule / PreferencesModule / TemplatesModule
 * 以获取各自的 Service 单例（NestJS 模块单例，不重复实例化）。
 */
@Module({
  imports: [NotificationsModule, PreferencesModule, TemplatesModule],
  controllers: [
    NotificationsGrpcController,
    PreferencesGrpcController,
    TemplatesGrpcController,
  ],
})
export class GrpcModule {}
