32 lines
990 B
Go
32 lines
990 B
Go
package models
|
|
|
|
import "time"
|
|
|
|
type Product struct {
|
|
ID uint `gorm:"primaryKey" json:"id"`
|
|
CategoryID uint `json:"category_id"`
|
|
Category ProductCategory `gorm:"foreignKey:CategoryID" json:"category"`
|
|
|
|
CollectionID uint `json:"collection_id"`
|
|
Collection Collection `gorm:"foreignKey:CollectionID" json:"collection"`
|
|
|
|
ColourID uint `json:"colour_id"`
|
|
Colour Colour `gorm:"foreignKey:ColourID" json:"colour"`
|
|
|
|
SizeID uint `json:"size_id"`
|
|
Size Size `gorm:"foreignKey:SizeID" json:"size"`
|
|
|
|
SKU string `gorm:"not null;unique" json:"sku"`
|
|
Name string `gorm:"not null" json:"name"`
|
|
Description string `json:"description"`
|
|
Price float64 `gorm:"not null" json:"price"`
|
|
Hpp float64 `gorm:"not null" json:"hpp"`
|
|
UnitOfMeasure string `json:"unit_of_measure"`
|
|
|
|
IsRawMaterial bool `json:"is_raw_material"`
|
|
IsFinishedGood bool `json:"is_finished_good"`
|
|
|
|
CreatedAt time.Time
|
|
UpdatedAt time.Time
|
|
}
|