generated from fahricansecer/boilerplate-be
97 lines
1.9 KiB
TypeScript
97 lines
1.9 KiB
TypeScript
/**
|
||
* Queue Constants
|
||
*
|
||
* Central definition of all BullMQ queue names and job types.
|
||
*
|
||
* TR: Tüm BullMQ kuyruk adları ve iş tipleri merkezi tanımı.
|
||
*/
|
||
|
||
// Queue names
|
||
export const QUEUES = {
|
||
SCRIPT_GENERATION: 'script-generation',
|
||
DEEP_RESEARCH: 'deep-research',
|
||
ANALYSIS: 'analysis',
|
||
IMAGE_GENERATION: 'image-generation',
|
||
} as const;
|
||
|
||
// Job type discriminators
|
||
export enum JobType {
|
||
// Script
|
||
GENERATE_SCRIPT = 'generate-script',
|
||
REGENERATE_SEGMENT = 'regenerate-segment',
|
||
REGENERATE_PARTIAL = 'regenerate-partial',
|
||
REWRITE_SEGMENT = 'rewrite-segment',
|
||
|
||
// Research
|
||
DEEP_RESEARCH = 'deep-research',
|
||
DISCOVER_QUESTIONS = 'discover-questions',
|
||
|
||
// Analysis
|
||
NEURO_ANALYSIS = 'neuro-analysis',
|
||
YOUTUBE_AUDIT = 'youtube-audit',
|
||
COMMERCIAL_BRIEF = 'commercial-brief',
|
||
GENERATE_VISUAL_ASSETS = 'generate-visual-assets',
|
||
|
||
// Image
|
||
GENERATE_SEGMENT_IMAGE = 'generate-segment-image',
|
||
GENERATE_THUMBNAIL = 'generate-thumbnail',
|
||
}
|
||
|
||
// Job status for tracking
|
||
export enum JobStatus {
|
||
QUEUED = 'QUEUED',
|
||
PROCESSING = 'PROCESSING',
|
||
COMPLETED = 'COMPLETED',
|
||
FAILED = 'FAILED',
|
||
}
|
||
|
||
// Job payload interfaces
|
||
export interface ScriptGenerationPayload {
|
||
projectId: string;
|
||
userId?: string;
|
||
}
|
||
|
||
export interface SegmentRegeneratePayload {
|
||
segmentId: string;
|
||
projectId: string;
|
||
}
|
||
|
||
export interface PartialRegeneratePayload {
|
||
projectId: string;
|
||
segmentIds: string[];
|
||
}
|
||
|
||
export interface RewriteSegmentPayload {
|
||
segmentId: string;
|
||
newStyle: string;
|
||
projectId: string;
|
||
}
|
||
|
||
export interface DeepResearchPayload {
|
||
projectId: string;
|
||
}
|
||
|
||
export interface AnalysisPayload {
|
||
projectId: string;
|
||
}
|
||
|
||
export interface ImageGenerationPayload {
|
||
segmentId: string;
|
||
projectId: string;
|
||
}
|
||
|
||
// Job result
|
||
export interface JobResult {
|
||
success: boolean;
|
||
data?: any;
|
||
error?: string;
|
||
}
|
||
|
||
// Job progress detail
|
||
export interface JobProgress {
|
||
step: number;
|
||
totalSteps: number;
|
||
message: string;
|
||
percentage: number;
|
||
}
|