export type JobStatus = 'active' | 'completed' | 'failed' | 'waiting' | 'delayed';

export interface JobDto {
  id: string;
  name: string;
  queue: string;
  status: JobStatus;
  attempts: number;
  maxAttempts: number;
  createdAt?: string;
  processedAt?: string;
  finishedAt?: string;
  failedReason?: string;
  data: Record<string, unknown>;
}

export interface JobListDto {
  jobs: JobDto[];
  total: number;
}

export interface QueueStatusDto {
  name: string;
  waiting: number;
  active: number;
  completed: number;
  failed: number;
  delayed: number;
  paused: boolean;
}

export interface QueueListDto {
  queues: QueueStatusDto[];
}
