This repository has been archived on 2020-08-21. You can view files and clone it, but cannot push or open issues or pull requests.
filicop/server/models/requestor.go

86 lines
2.1 KiB
Go

package filicop
import ()
type Requestor struct {
Id int64 `json:"id"`
IdFleet int64 `json:"id_fleet"`
Name string `json:"name"`
}
func GetRequestors() (requestors []Requestor, err error) {
if rows, errr := DBQuery("SELECT id_requestor, id_fleet, name FROM requestors"); errr != nil {
return nil, errr
} else {
defer rows.Close()
for rows.Next() {
var r Requestor
if err = rows.Scan(&r.Id, &r.IdFleet, &r.Name); err != nil {
return
}
requestors = append(requestors, r)
}
if err = rows.Err(); err != nil {
return
}
return
}
}
func GetRequestor(id int64) (r Requestor, err error) {
err = DBQueryRow("SELECT id_requestor, id_fleet, name FROM requestors WHERE id_requestor = ?", id).Scan(&r.Id, &r.IdFleet, &r.Name)
return
}
func (f Fleet) NewRequestor(name string) (Requestor, error) {
if res, err := DBExec("INSERT INTO requestors (id_fleet, name) VALUES (?, ?)", f.Id, name); err != nil {
return Requestor{}, err
} else if rid, err := res.LastInsertId(); err != nil {
return Requestor{}, err
} else {
return Requestor{rid, f.Id, name}, nil
}
}
func (r Requestor) Update() (int64, error) {
if res, err := DBExec("UPDATE requestors SET id_fleet = ?, name = ? WHERE id_requestor = ?", r.IdFleet, r.Name, r.Id); err != nil {
return 0, err
} else if nb, err := res.RowsAffected(); err != nil {
return 0, err
} else {
return nb, err
}
}
func (r Requestor) Delete() (int64, error) {
if res, err := DBExec("DELETE FROM requestors WHERE id_requestor = ?", r.Id); err != nil {
return 0, err
} else if nb, err := res.RowsAffected(); err != nil {
return 0, err
} else {
return nb, err
}
}
func ClearRequestors() (int64, error) {
if res, err := DBExec("DELETE FROM requestors"); err != nil {
return 0, err
} else if nb, err := res.RowsAffected(); err != nil {
return 0, err
} else {
return nb, err
}
}
func (f Fleet) ClearRequestors() (int64, error) {
if res, err := DBExec("DELETE FROM requestors WHERE id_fleet = ?", f.Id); err != nil {
return 0, err
} else if nb, err := res.RowsAffected(); err != nil {
return 0, err
} else {
return nb, err
}
}