72 lines
1.5 KiB
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
|
|
}
|
|
}
|