57 lines
1.7 KiB
TypeScript
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 {}
|