ExpiryDatesManager/server/model/product.go

52 lines
864 B
Go
Raw Normal View History

2018-12-16 16:27:33 +01:00
package model
import (
"sort"
"time"
2018-12-16 16:27:33 +01:00
)
type Product struct {
ID uint `gorm:"primary_key"`
CreatedAt time.Time
UpdatedAt time.Time
2018-12-16 16:27:33 +01:00
Name string
Company Company `json:",omitempty"`
2018-12-16 16:27:33 +01:00
CompanyID uint
Code string `gorm:"unique; unique_index"`
}
func GetProducts() ([]*Product) {
products := make([]*Product, 0)
GetDB().Find(&products)
sort.Slice(products, func(i, j int) bool {
return products[i].Name < products[j].Name
})
return products
2019-01-05 16:19:24 +01:00
}
func DeleteProduct(id uint) (err error) {
product := &Product{}
product.ID = id
return GetDB().Delete(&product).Error
}
2019-01-05 16:19:24 +01:00
func GetProduct(barcode string) (*Product) {
product := &Product{}
if GetDB().Where("code = ?", barcode).First(product).RecordNotFound() {
return nil
}
return product
}
func (product *Product) CreateOrUpdate() (*Product) {
GetDB().Save(product)
return product;
2018-12-16 16:27:33 +01:00
}