package dispatch

import (
	"time"

	modbase "github.com/tidbcloud/aisupport/services/ticket-manager/models/base"
)

type DispatchTrigger struct {
	modbase.Base

	Source string `gorm:"column:source;type:varchar(255);not null"`
	Status string `gorm:"column:status;type:varchar(32);not null;index:idx_dispatch_trigger_available,priority:1"`

	AvailableAt   time.Time `gorm:"column:available_at;type:datetime(3);not null;index:idx_dispatch_trigger_available,priority:2"`
	FailureReason string    `gorm:"column:failure_reason;type:text;not null"`

	InputJSON  []byte `gorm:"column:input_json;type:json;not null"`
	OutputJSON []byte `gorm:"column:output_json;type:json"`
}

func (DispatchTrigger) TableName() string {
	return "dispatch_triggers"
}
