package schema

import (
	"time"

	"gorm.io/gorm"
)

const (
	TemplateVersionStatusAvailable = "AVAILABLE"
	TemplateVersionStatusDisabled  = "DISABLED"
	TemplateVersionStatusExpired   = "EXPIRED"
)

type TemplateRegistry struct {
	ID           uint64    `gorm:"primaryKey;autoIncrement"`
	TemplateName string    `gorm:"type:varchar(128);not null;uniqueIndex:uk_template_version,priority:1;index:idx_template_status,priority:1;index:idx_template_created,priority:1"`
	Version      string    `gorm:"type:char(64);not null;uniqueIndex:uk_template_version,priority:2"`
	Content      string    `gorm:"type:longtext;not null"`
	Status       string    `gorm:"type:varchar(16);not null;index:idx_template_status,priority:2"`
	CreatedAt    time.Time `gorm:"index:idx_template_created,priority:2"`
	UpdatedAt    time.Time
	DeletedAt    gorm.DeletedAt `gorm:"index"`
}
