package models

import "time"

type SaAISession struct {
	ID                uint            `gorm:"primaryKey"`
	Identity          string          `gorm:"type:char(36);uniqueIndex"`
	ProjectID         uint            `gorm:"index;not null"`
	ProjectIdentity   string          `gorm:"type:char(36);index"`
	CreatedBy         uint            `gorm:"index;not null"`
	CreatedByIdentity string          `gorm:"type:char(36);index"`
	ExpertID          *uint           `gorm:"index"`
	ExpertIdentity    *string         `gorm:"type:char(36);index"`
	Expert            *SaAIExpertItem `gorm:"foreignKey:ExpertID"`
	Title             string          `gorm:"not null"`
	Context           string          `gorm:"type:text"`
	Status            string          `gorm:"not null;default:ready"`
	CreatedAt         time.Time
	UpdatedAt         time.Time
}

func (SaAISession) TableName() string {
	return "sa_ai_sessions"
}
