-- CreateTable
CREATE TABLE `conversion_jobs` (
    `id` INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
    `uuid` CHAR(36) NOT NULL,
    `status` ENUM('pending', 'processing', 'done', 'failed') NOT NULL DEFAULT 'pending',
    `family` VARCHAR(32) NOT NULL,
    `source_format` VARCHAR(16) NOT NULL,
    `target_format` VARCHAR(16) NOT NULL,
    `original_filename` VARCHAR(255) NOT NULL,
    `input_path` VARCHAR(255) NOT NULL,
    `output_path` VARCHAR(255) NULL,
    `input_mime_type` VARCHAR(128) NOT NULL,
    `output_mime_type` VARCHAR(128) NULL,
    `input_size_bytes` INTEGER UNSIGNED NOT NULL,
    `output_size_bytes` INTEGER UNSIGNED NULL,
    `quality` SMALLINT UNSIGNED NULL,
    `conversion_duration_seconds` DECIMAL(10, 3) NULL,
    `error_message` VARCHAR(255) NULL,
    `error_log` TEXT NULL,
    `created_at` DATETIME(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0),
    `updated_at` DATETIME(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0),
    `expires_at` DATETIME(0) NOT NULL,
    `cleaned_at` DATETIME(0) NULL,

    UNIQUE INDEX `uniq_uuid`(`uuid`),
    INDEX `idx_status`(`status`),
    INDEX `idx_expires_at`(`expires_at`),
    PRIMARY KEY (`id`)
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

