import { Column, Model, Table, DataType } from "sequelize-typescript";

@Table({
  timestamps: false,
  tableName: 'cron_jobs_logs'
})
export class CronJobLog extends Model {

    @Column(DataType.STRING(50))
    job_name: string;

    @Column(DataType.STRING(50))
    cycle_id: string;

    @Column(DataType.ENUM('running', 'completed', 'failed'))
    status: 'running' | 'completed' | 'failed';

    @Column
    started_at: Date;

    @Column
    finished_at: Date;

    @Column
    duration_ms: number;

    @Column
    total_processed: number;

    @Column
    successful_updates: number;

    @Column
    failed_updates: number;

    @Column(DataType.TEXT)
    error_message: string;

    @Column(DataType.JSON)
    metadata: any;

    @Column
    created_at: Date;

    @Column
    updated_at: Date;
}
