// Code generated by gorm.io/gen. DO NOT EDIT.
// Code generated by gorm.io/gen. DO NOT EDIT.
// Code generated by gorm.io/gen. DO NOT EDIT.

package model

import (
	"time"
)

const TableNameJob = "jobs"

// Job mapped from table <jobs>
type Job struct {
	ID            string     `gorm:"column:id;type:text;primaryKey" json:"id"`
	Status        *string    `gorm:"column:status;type:text" json:"status"`
	Priority      *int64     `gorm:"column:priority;type:bigint;index:idx_jobs_priority,priority:1" json:"priority"`
	InputURL      *string    `gorm:"column:input_url;type:text" json:"input_url"`
	OutputURL     *string    `gorm:"column:output_url;type:text" json:"output_url"`
	TotalDuration *int64     `gorm:"column:total_duration;type:bigint" json:"total_duration"`
	CurrentTime   *int64     `gorm:"column:current_time;type:bigint" json:"current_time"`
	Progress      *float64   `gorm:"column:progress;type:numeric" json:"progress"`
	AgentID       *int64     `gorm:"column:agent_id;type:bigint" json:"agent_id"`
	Logs          *string    `gorm:"column:logs;type:text" json:"logs"`
	Config        *string    `gorm:"column:config;type:text" json:"config"`
	Cancelled     *bool      `gorm:"column:cancelled;type:boolean" json:"cancelled"`
	RetryCount    *int64     `gorm:"column:retry_count;type:bigint" json:"retry_count"`
	MaxRetries    *int64     `gorm:"column:max_retries;type:bigint;default:3" json:"max_retries"`
	CreatedAt     *time.Time `gorm:"column:created_at;type:timestamp with time zone" json:"created_at"`
	UpdatedAt     *time.Time `gorm:"column:updated_at;type:timestamp with time zone" json:"updated_at"`
	Version       *int64     `gorm:"column:version;type:bigint;version" json:"-"`
}

// TableName Job's table name
func (*Job) TableName() string {
	return TableNameJob
}
