27 lines
1.4 KiB
Go
27 lines
1.4 KiB
Go
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"`
|
|
}
|