86 lines
2.1 KiB
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
|
|
}
|
|
}
|