You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
quartermaster/items.go

28 lines
871 B

package quartermaster
import "database/sql"
type Item struct {
ID int `json:"id"`
Name string `json:"name"`
Description string `json:"description"`
Size float32 `json:"size"`
Unit Unit `json:"unit"`
Barcode sql.NullString `json:"barcode"`
Nutrition *Nutrition `json:"nutrition,omitempty"`
}
type ItemService interface {
Item(int, *User) (*Item, error)
AddItem(*Item, *Location, *User) (*Item, error)
UpdateItem(*Item, *User) error
MoveItem(item *Item, old *Location, new *Location, user *User) error
RemoveItem(*Item, *Location) error
DeleteItem(*Item, *User) error
GetItemByBarcode(barcode string, user *User) (*Item, error)
AddGroup(*Item, *Group) error
AddCategory(*Item, *Category) error
RemoveGroup(*Item, *Group) error
RemoveCategory(*Item, *Category) error
}