package main import "gitea.seeseepuff.be/seeseemelk/mysqlite" func (a *App) GetAllBrands() ([]string, error) { var brands []string var err error for row := range a.db.Query("SELECT brand FROM assets GROUP BY brand ORDER BY brand ASC").Range(&err) { var name string err := row.Scan(&name) if err != nil { return nil, err } brands = append(brands, name) } return brands, err } func (a *App) GetAllRAMTypes() ([]string, error) { var types []string var err error for row := range a.db.Query("SELECT type FROM info_ram GROUP BY type ORDER BY type ASC").Range(&err) { var name string err := row.Scan(&name) if err != nil { return nil, err } types = append(types, name) } return types, err } func (a *App) GetAllTypes() ([]string, error) { var types []string var err error for row := range a.db.Query("SELECT type FROM assets GROUP BY type ORDER BY type ASC").Range(&err) { var name string err := row.Scan(&name) if err != nil { return nil, err } types = append(types, name) } return types, err } func (a *App) GetAssetCount() (int, error) { var count int err := a.db.Query("SELECT COUNT(*) FROM assets").ScanSingle(&count) return count, err } func (a *App) GetBrandCount() (int, error) { var count int err := a.db.Query("SELECT COUNT(DISTINCT brand) FROM assets").ScanSingle(&count) return count, err } func (a *App) GetTotalRamCapacity() (int, error) { var capacity int err := a.db.Query("SELECT SUM(capacity) FROM info_ram").ScanSingle(&capacity) return capacity, err } func (a *App) DeleteAsset(tx *mysqlite.Tx, qr int) error { err := tx.Query("DELETE FROM assets WHERE qr=?").Bind(qr).Exec() if err != nil { return err } err = tx.Query("DELETE FROM info_ram WHERE asset=?").Bind(qr).Exec() if err != nil { return err } return nil }