bw-mini-app-server/src/content-moderation/content-moderation.module.ts

57 lines
1.7 KiB
TypeScript

import { Module } from '@nestjs/common';
import { TypeOrmModule } from '@nestjs/typeorm';
import { HttpModule } from '@nestjs/axios';
import { JwtModule } from '@nestjs/jwt';
import { PlatformModule } from '../platform/platform.module';
// 实体
import { ContentAuditLogEntity } from './entities/content-audit-log.entity';
// 适配器
import { DouyinContentAdapter } from './adapters/douyin-content.adapter';
import { DouyinAuthClient } from './adapters/DouYinClient';
import { WechatContentAdapter } from './adapters/wechat-content.adapter';
import { EnhancedWechatContentAdapter } from './adapters/enhanced-wechat-content.adapter';
// 服务
import { ContentAdapterFactory } from './services/content-adapter.factory';
import { UnifiedContentService } from './services/unified-content.service';
// 控制器
import { ContentModerationController } from './controllers/content-moderation.controller';
// 守卫
import { ContentAuditGuard } from './guards/content-audit.guard';
@Module({
imports: [
TypeOrmModule.forFeature([ContentAuditLogEntity]),
HttpModule.register({
timeout: 30000,
maxRedirects: 3,
}),
JwtModule.register({
secret: process.env.JWT_SECRET || 'default-secret',
signOptions: { expiresIn: '1d' },
}),
PlatformModule,
],
providers: [
// 适配器实现
DouyinContentAdapter,
DouyinAuthClient,
WechatContentAdapter,
EnhancedWechatContentAdapter,
// 工厂和服务
ContentAdapterFactory,
UnifiedContentService,
// 守卫
ContentAuditGuard,
],
controllers: [ContentModerationController],
exports: [UnifiedContentService, ContentAdapterFactory, ContentAuditGuard, DouyinAuthClient],
})
export class ContentModerationModule {}