/** * Zulip核心服务模块 * * 功能描述: * - 提供Zulip技术实现相关的核心服务 * - 封装第三方API调用和技术细节 * - 为业务层提供抽象接口 * * @author angjustinl * @version 1.0.0 * @since 2025-12-31 */ import { Module } from '@nestjs/common'; import { ZulipClientService } from './services/zulip_client.service'; import { ZulipClientPoolService } from './services/zulip_client_pool.service'; import { ConfigManagerService } from './services/config_manager.service'; import { ApiKeySecurityService } from './services/api_key_security.service'; import { ErrorHandlerService } from './services/error_handler.service'; import { MonitoringService } from './services/monitoring.service'; import { StreamInitializerService } from './services/stream_initializer.service'; import { RedisModule } from '../redis/redis.module'; @Module({ imports: [ // Redis模块 - ApiKeySecurityService需要REDIS_SERVICE RedisModule, ], providers: [ // 核心客户端服务 { provide: 'ZULIP_CLIENT_SERVICE', useClass: ZulipClientService, }, { provide: 'ZULIP_CLIENT_POOL_SERVICE', useClass: ZulipClientPoolService, }, { provide: 'ZULIP_CONFIG_SERVICE', useClass: ConfigManagerService, }, // 辅助服务 ApiKeySecurityService, ErrorHandlerService, MonitoringService, StreamInitializerService, // 直接提供类(用于内部依赖) ZulipClientService, ZulipClientPoolService, ConfigManagerService, ], exports: [ // 导出接口标识符供业务层使用 'ZULIP_CLIENT_SERVICE', 'ZULIP_CLIENT_POOL_SERVICE', 'ZULIP_CONFIG_SERVICE', // 导出辅助服务 ApiKeySecurityService, ErrorHandlerService, MonitoringService, StreamInitializerService, ], }) export class ZulipCoreModule {}