package model

import (
	"time"

	"github.com/google/uuid"
)

type UserProductProfile struct {
	ID                 uuid.UUID `gorm:"type:uuid;primary_key;default:gen_random_uuid()" json:"id"`
	UserID             uuid.UUID `gorm:"type:uuid;unique;not null" json:"user_id"`
	ProductName        string    `gorm:"type:varchar(255)" json:"product_name"`
	Tagline            string    `gorm:"type:text" json:"tagline"`
	Domain             string    `gorm:"type:varchar(255)" json:"domain"`
	KeyFeatures        string    `gorm:"type:jsonb;default:'[]'" json:"key_features"` // Stored as JSON string
	TargetUsers        string    `gorm:"type:text" json:"target_users"`
	ProductUrl         string    `gorm:"type:varchar(500)" json:"product_url"`
	Competitors        string    `gorm:"type:jsonb;default:'[]'" json:"competitors"`        // Stored as JSON string
	RelevanceKeywords  string    `gorm:"type:jsonb;default:'[]'" json:"relevance_keywords"` // Stored as JSON string
	CustomContext      string    `gorm:"type:text" json:"custom_context"`
	DefaultLLMProvider string    `gorm:"type:varchar(50)" json:"default_llm_provider"` // User preferred LLM provider
	DefaultLLMModel    string    `gorm:"type:varchar(100)" json:"default_llm_model"`   // User preferred LLM model
	IsActive           bool      `gorm:"default:true" json:"is_active"`
	CreatedAt          time.Time `json:"created_at"`
	UpdatedAt          time.Time `json:"updated_at"`
}
