package entities import ( "time" "gorm.io/gorm" ) const ( LogTypeAdjustment = "ADJUSTMENT" ) const ( TransactionTypeIncrease = "INCREASE" TransactionTypeDecrease = "DECREASE" ) type StockLog struct { Id uint `json:"id" gorm:"primaryKey;column:id"` TransactionType string `json:"transaction_type" gorm:"column:transaction_type;type:varchar(20);not null"` Quantity float64 `json:"quantity" gorm:"column:quantity;type:numeric(15,3);not null"` BeforeQuantity float64 `json:"before_quantity" gorm:"column:before_quantity;type:numeric(15,3);not null"` AfterQuantity float64 `json:"after_quantity" gorm:"column:after_quantity;type:numeric(15,3);not null"` LogType string `json:"log_type" gorm:"column:log_type;type:varchar(50);not null;index:stock_logs_flaggable_lookup,priority:1"` LogId uint `json:"log_id" gorm:"column:log_id;not null;index:stock_logs_flaggable_lookup,priority:2"` Note string `json:"note" gorm:"column:note;type:text"` ProductWarehouseId uint `json:"product_warehouse_id" gorm:"column:product_warehouse_id;not null;index"` CreatedBy uint `json:"created_by" gorm:"column:created_by;not null;index"` CreatedAt time.Time `json:"created_at" gorm:"column:created_at;autoCreateTime"` UpdatedAt time.Time `json:"updated_at" gorm:"column:updated_at;autoUpdateTime"` DeletedAt gorm.DeletedAt `json:"deleted_at,omitempty" gorm:"column:deleted_at;index"` ProductWarehouse *ProductWarehouse `json:"product_warehouse,omitempty" gorm:"foreignKey:ProductWarehouseId;references:Id"` CreatedUser *User `json:"created_user,omitempty" gorm:"foreignKey:CreatedBy;references:Id"` }