package models import ( "clapclap/internal/uuid" "gorm.io/datatypes" ) // Visibility Enum type ProjectVisibility string const ( VisibilityPublic ProjectVisibility = "public" VisibilityPrivate ProjectVisibility = "private" VisibilityFriends ProjectVisibility = "friends" ) type Project struct { Base Name string `gorm:"type:varchar(100);not null" json:"name"` Description string `gorm:"type:text" json:"description"` Visibility ProjectVisibility `gorm:"type:varchar(20);default:'private'" json:"visibility"` // The DAW State JSONProject datatypes.JSON `gorm:"type:jsonb" json:"json_project" swaggertype:"object"` // Ownership OwnerID uuid.UUID `gorm:"type:uuid;not null;index" json:"owner_id"` Owner *User `gorm:"foreignKey:OwnerID" json:"owner"` }