Initial commit: YouTube Studio Flow (backend, frontend, infrastructure, docs)

This commit is contained in:
2026-08-11 12:27:44 +02:00
commit d5af006443
304 changed files with 74604 additions and 0 deletions
+57
View File
@@ -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 {}