Files
SkriptAI-be/src/modules/skriptai/skriptai.module.ts
Harun CAN fd2580b311 main
2026-03-23 03:15:08 +03:00

98 lines
2.2 KiB
TypeScript

import { Module } from '@nestjs/common';
import { BullModule } from '@nestjs/bullmq';
import { DatabaseModule } from '../../database/database.module';
import { GeminiModule } from '../gemini/gemini.module';
// Controllers
import {
ProjectsController,
ScriptsController,
ResearchController,
AnalysisController,
VersionsController,
} from './controllers';
import { JobsController } from './controllers/jobs.controller';
// Services
import {
ProjectsService,
ScriptsService,
ResearchService,
AnalysisService,
VersionsService,
} from './services';
// Queue
import { QUEUES } from './queue/queue.constants';
import { ScriptProcessor } from './queue/script.processor';
import { ResearchProcessor } from './queue/research.processor';
import { AnalysisProcessor } from './queue/analysis.processor';
// Gateway (WebSocket)
import { SkriptaiGateway } from './gateway/skriptai.gateway';
import { QueueEventBridge } from './gateway/queue-event-bridge';
/**
* SkriptAI Module
*
* Main module for the SkriptAI feature - AI-powered video script generation.
*
* Features:
* - Project management (CRUD, duplicate, export)
* - Script generation and editing
* - Deep research with AI
* - Neuro Marketing analysis
* - YouTube audit
* - Commercial brief generation
* - Version history & content management
* - BullMQ async job processing
*
* TR: SkriptAI ana modülü - AI destekli video script üretimi.
*/
@Module({
imports: [
DatabaseModule,
GeminiModule,
// BullMQ Queues
BullModule.registerQueue(
{ name: QUEUES.SCRIPT_GENERATION },
{ name: QUEUES.DEEP_RESEARCH },
{ name: QUEUES.ANALYSIS },
{ name: QUEUES.IMAGE_GENERATION },
),
],
controllers: [
ProjectsController,
ScriptsController,
ResearchController,
AnalysisController,
VersionsController,
JobsController,
],
providers: [
ProjectsService,
ScriptsService,
ResearchService,
AnalysisService,
VersionsService,
// Queue Processors
ScriptProcessor,
ResearchProcessor,
AnalysisProcessor,
// WebSocket
SkriptaiGateway,
QueueEventBridge,
],
exports: [
ProjectsService,
ScriptsService,
ResearchService,
AnalysisService,
VersionsService,
],
})
export class SkriptaiModule {}