/** * Interface for Bull job data */ import { UserData } from "src/module/user/entity/user.entity"; export interface ScheduleJobData { id: number; schedule_id: number; workflow_id: number; workflow_name: string; organization_id: number; enterprise_id: number; level_id?: string; level_type?: string; appcode?: string; createdBy: number; triggeredBy: 'SCHEDULE' | 'MANUAL'; triggeredAt: Date; metadata?: Record; loggedInUser?: UserData; } export interface WorkflowActionData { actionType: string; actionConfig: Record; targetEntityType?: string; filterCriteria?: Record; } export interface BatchProcessingResult { totalRecords: number; processedRecords: number; successfulRecords: number; failedRecords: number; errors: Array<{ recordId?: number; error: string; }>; } export interface RetryConfig { maxRetries: number; retryDelay: number; backoffMultiplier: number; } export interface ScheduleConfig { cronExpression: string; timezone: string; startDate?: Date; endDate?: Date; maxExecutions?: number; }