package entities import ( "time" "gorm.io/gorm" ) type Product struct { Id uint `gorm:"primaryKey"` Name string `gorm:"type:varchar(50);not null;uniqueIndex:products_name_unique,where:deleted_at IS NULL"` Brand string `gorm:"type:varchar(50);not null"` Sku *string `gorm:"size:100;uniqueIndex:products_sku_unique,where:deleted_at IS NULL"` UomId uint `gorm:"not null"` ProductCategoryId uint `gorm:"not null"` ProductPrice float64 `gorm:"type:numeric(15,3);not null"` SellingPrice *float64 `gorm:"type:numeric(15,3)"` Tax *float64 `gorm:"type:numeric(15,3)"` ExpiryPeriod *int `gorm:""` CreatedBy uint `gorm:"not null"` CreatedAt time.Time `gorm:"autoCreateTime"` UpdatedAt time.Time `gorm:"autoUpdateTime"` DeletedAt gorm.DeletedAt `gorm:"index" json:"-"` IsVisible bool `` CreatedUser User `gorm:"foreignKey:CreatedBy;references:Id"` Uom Uom `gorm:"foreignKey:UomId;references:Id"` ProductCategory ProductCategory `gorm:"foreignKey:ProductCategoryId;references:Id"` ProductSuppliers []ProductSupplier `gorm:"foreignKey:ProductId;references:Id"` Flags []Flag `gorm:"polymorphic:Flagable;polymorphicValue:products"` ProductWarehouses []ProductWarehouse `gorm:"foreignKey:ProductId;references:Id"` }