package model

import (
	"time"

	"github.com/google/uuid"
)

type UserCustomStrategy struct {
	ID              uuid.UUID `gorm:"type:uuid;primary_key;default:gen_random_uuid()" json:"id"`
	UserID          uuid.UUID `gorm:"type:uuid;not null;uniqueIndex:idx_user_strategy_key" json:"user_id"`
	StrategyKey     string    `gorm:"type:varchar(100);not null;uniqueIndex:idx_user_strategy_key" json:"strategy_key"`
	Label           string    `gorm:"type:varchar(255);not null" json:"label"`
	Icon            string    `gorm:"type:varchar(10)" json:"icon"`
	Description     string    `gorm:"type:text" json:"description"`
	PromptTemplate  string    `gorm:"type:text" json:"prompt_template"`
	FewShotExamples string    `gorm:"type:jsonb;default:'[]'" json:"few_shot_examples"` // Stored as JSON string
	IsActive        bool      `gorm:"default:true" json:"is_active"`
	SortOrder       int       `gorm:"default:0" json:"sort_order"`
	CreatedAt       time.Time `json:"created_at"`
}
