Add structs and corresponding API routes

This commit is contained in:
nemunaire 2018-06-25 22:20:16 +02:00 committed by Pierre-Olivier Mercier
commit 977a75819d
12 changed files with 942 additions and 1 deletions

74
struct/itemtag.go Normal file
View file

@ -0,0 +1,74 @@
package ckh
import ()
type ItemTag struct {
IdItem int64 `json:"iditem"`
IdTag int64 `json:"idtag"`
}
func (i Item) AddTag(t Tag) (ItemTag, error) {
if _, err := DBExec("INSERT INTO item_tag (id_item, id_tag) VALUES (?, ?)", i.Id, t.Id); err != nil {
return ItemTag{}, err
} else {
return ItemTag{i.Id, t.Id}, nil
}
}
func (t Tag) AddItem(i Item) (ItemTag, error) {
if _, err := DBExec("INSERT INTO item_tag (id_item, id_tag) VALUES (?, ?)", i.Id, t.Id); err != nil {
return ItemTag{}, err
} else {
return ItemTag{i.Id, t.Id}, nil
}
}
func (i Item) DeleteTag(t Tag) (int64, error) {
if res, err := DBExec("DELETE FROM item_tag WHERE id_item = ? AND id_tag = ?", i.Id, t.Id); err != nil {
return 0, err
} else if nb, err := res.RowsAffected(); err != nil {
return 0, err
} else {
return nb, err
}
}
func (t Tag) DeleteItem(i Item) (int64, error) {
if res, err := DBExec("DELETE FROM item_tag WHERE id_item = ? AND id_tag = ?", i.Id, t.Id); err != nil {
return 0, err
} else if nb, err := res.RowsAffected(); err != nil {
return 0, err
} else {
return nb, err
}
}
func ClearItemTags() (int64, error) {
if res, err := DBExec("DELETE FROM item_tag"); err != nil {
return 0, err
} else if nb, err := res.RowsAffected(); err != nil {
return 0, err
} else {
return nb, err
}
}
func (i Item) ClearItemTags() (int64, error) {
if res, err := DBExec("DELETE FROM item_tag WHERE id_item = ?", i.Id); err != nil {
return 0, err
} else if nb, err := res.RowsAffected(); err != nil {
return 0, err
} else {
return nb, err
}
}
func (t Tag) ClearItemTags() (int64, error) {
if res, err := DBExec("DELETE FROM item_tag WHERE id_tag = ?", t.Id); err != nil {
return 0, err
} else if nb, err := res.RowsAffected(); err != nil {
return 0, err
} else {
return nb, err
}
}