package model

import (
	"time"

	"github.com/google/uuid"
	"gorm.io/gorm"
)

// Skill 技能
type Skill struct {
	ID          string    `json:"id" gorm:"primaryKey"`
	SkillName   string    `json:"skill_name" gorm:"size:200;not null"`
	SkillType   string    `json:"skill_type" gorm:"size:20;not null"` // system / user
	SkillDesc   string    `json:"skill_desc" gorm:"type:text"`
	Path        string    `json:"path" gorm:"size:500"`               // skill 文件路径
	Status      string    `json:"status" gorm:"size:20;default:'active'"`
	CreatedAt   time.Time `json:"created_at"`
	UpdatedAt   time.Time `json:"updated_at"`
}

// BeforeCreate 创建前自动生成ID
func (s *Skill) BeforeCreate(tx *gorm.DB) error {
	if s.ID == "" {
		s.ID = uuid.New().String()
	}
	return nil
}
