78 lines
1.8 KiB
Go
78 lines
1.8 KiB
Go
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
|
|
}
|