package models import ( "git.solsynth.dev/hypernet/nexus/pkg/nex/cruda" "gorm.io/datatypes" ) type Product struct { cruda.BaseModel Icon string `json:"icon"` // random id of atttachment Name string `json:"name"` Alias string `json:"alias" gorm:"uniqueIndex"` Description string `json:"description"` Previews datatypes.JSONSlice[string] `json:"previews"` // random id of attachments Tags datatypes.JSONSlice[string] `json:"tags"` Meta ProductMeta `json:"meta" gorm:"foreignKey:ProductID"` Releases []ProductRelease `json:"releases" gorm:"foreignKey:ProductID"` AccountID uint `json:"account_id"` } type ProductMeta struct { cruda.BaseModel Introduction string `json:"introduction"` Attachments datatypes.JSONSlice[string] `json:"attachments"` // random id of attachments ProductID uint `json:"product_id"` }