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/fleet.go

72 lines
1.5 KiB
Go

package filicop
import ()
type Fleet struct {
Id int64 `json:"id"`
Label string `json:"label"`
}
func GetFleets() (fleets []Fleet, err error) {
if rows, errr := DBQuery("SELECT id_fleet, label FROM fleets"); errr != nil {
return nil, errr
} else {
defer rows.Close()
for rows.Next() {
var f Fleet
if err = rows.Scan(&f.Id, &f.Label); err != nil {
return
}
fleets = append(fleets, f)
}
if err = rows.Err(); err != nil {
return
}
return
}
}
func GetFleet(id int64) (f Fleet, err error) {
err = DBQueryRow("SELECT id_fleet, label FROM fleets WHERE id_fleet = ?", id).Scan(&f.Id, &f.Label)
return
}
func NewFleet(f Fleet) (Fleet, error) {
if res, err := DBExec("INSERT INTO fleets (label) VALUES (?)", f.Label); err != nil {
return f, err
} else if fid, err := res.LastInsertId(); err != nil {
return f, err
} else {
f.Id = fid
return f, nil
}
}
func (f Fleet) Update(uf Fleet) (Fleet, error) {
_, err := DBExec("UPDATE fleets SET label = ? WHERE id_fleet = ?", uf.Label, f.Id)
uf.Id = f.Id
return uf, err
}
func (f Fleet) Delete() (int64, error) {
if res, err := DBExec("DELETE FROM fleets 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
}
}
func ClearFleets() (int64, error) {
if res, err := DBExec("DELETE FROM fleets"); err != nil {
return 0, err
} else if nb, err := res.RowsAffected(); err != nil {
return 0, err
} else {
return nb, err
}
}