Initial commit: YouTube Studio Flow (backend, frontend, infrastructure, docs)
This commit is contained in:
@@ -0,0 +1,57 @@
|
||||
import { Module } from '@nestjs/common';
|
||||
import { ConfigModule, ConfigService } from '@nestjs/config';
|
||||
import { BullModule } from '@nestjs/bullmq';
|
||||
import { PrismaModule } from './shared/prisma/prisma.module';
|
||||
import { RenderEngineModule } from './shared/render-engine/render-engine.module';
|
||||
import { QuotaModule } from './shared/quota/quota.module';
|
||||
import { AuditModule } from './shared/audit/audit.module';
|
||||
import { YouTubeSyncModule } from './modules/youtube-sync/youtube-sync.module';
|
||||
import { BulkJobsModule } from './modules/bulk-jobs/bulk-jobs.module';
|
||||
import { LintingModule } from './modules/linting/linting.module';
|
||||
import { ImportsModule } from './modules/imports/imports.module';
|
||||
import { QUEUES } from './queues/queues.constants';
|
||||
import { YouTubeSyncProcessor } from './queues/processors/youtube-sync.processor';
|
||||
import { BulkMetadataProcessor } from './queues/processors/bulk-metadata.processor';
|
||||
import { RenderProcessor } from './queues/processors/render.processor';
|
||||
import { LintProcessor } from './queues/processors/lint.processor';
|
||||
import { ImportProcessor } from './queues/processors/import.processor';
|
||||
import { ConflictDetectionProcessor } from './queues/processors/conflict-detection.processor';
|
||||
import { ConflictDetectionScheduler } from './queues/schedulers/conflict-detection.scheduler';
|
||||
|
||||
@Module({
|
||||
imports: [
|
||||
ConfigModule.forRoot({ isGlobal: true }),
|
||||
BullModule.forRootAsync({
|
||||
useFactory: (config: ConfigService) => ({
|
||||
connection: { url: config.get<string>('REDIS_URL') ?? 'redis://localhost:6379' },
|
||||
}),
|
||||
inject: [ConfigService],
|
||||
}),
|
||||
BullModule.registerQueue(
|
||||
{ name: QUEUES.YOUTUBE_SYNC },
|
||||
{ name: QUEUES.CONFLICT_DETECTION },
|
||||
{ name: QUEUES.BULK_METADATA },
|
||||
{ name: QUEUES.RENDER },
|
||||
{ name: QUEUES.LINT },
|
||||
{ name: QUEUES.IMPORT },
|
||||
),
|
||||
PrismaModule,
|
||||
RenderEngineModule,
|
||||
QuotaModule,
|
||||
AuditModule,
|
||||
YouTubeSyncModule,
|
||||
BulkJobsModule,
|
||||
LintingModule,
|
||||
ImportsModule,
|
||||
],
|
||||
providers: [
|
||||
YouTubeSyncProcessor,
|
||||
BulkMetadataProcessor,
|
||||
RenderProcessor,
|
||||
LintProcessor,
|
||||
ImportProcessor,
|
||||
ConflictDetectionProcessor,
|
||||
ConflictDetectionScheduler,
|
||||
],
|
||||
})
|
||||
export class WorkerModule {}
|
||||
Reference in New Issue
Block a user