package models

import "time"

// SaAIExpertItem 是本地专家库中的可选 AI 角色。
type SaAIExpertItem struct {
	ID               uint               `gorm:"primaryKey"`
	Identity         string             `gorm:"type:char(36);uniqueIndex"`
	Slug             string             `gorm:"size:160;uniqueIndex;not null"`
	CategoryID       uint               `gorm:"index"`
	CategoryIdentity string             `gorm:"type:char(36);index"`
	ExpertCategory   SaAIExpertCategory `gorm:"foreignKey:CategoryID"`
	Category         string             `gorm:"size:80;index;not null"`
	CategoryName     string             `gorm:"size:120;not null"`
	Name             string             `gorm:"size:160;index;not null"`
	Description      string             `gorm:"type:text;not null"`
	Emoji            string             `gorm:"size:32"`
	Color            string             `gorm:"size:32"`
	SystemPrompt     string             `gorm:"type:text;not null"`
	Source           string             `gorm:"size:255;not null"`
	Reference        string             `gorm:"size:255"`
	SourceLicense    string             `gorm:"size:32;not null"`
	Enabled          bool               `gorm:"not null;default:true;index"`
	CreatedAt        time.Time
	UpdatedAt        time.Time
}

func (SaAIExpertItem) TableName() string {
	return "sa_ai_experts"
}
