Files
pcinv/data.go

62 lines
1.5 KiB
Go

package main
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
}