smon/configuration.go
2024-06-25 09:18:15 +02:00

47 lines
859 B
Go

package main
import (
// External
werr "git.gibonuddevalla.se/go/wrappederror"
// Standard
"database/sql"
)
type Configuration struct {
Settings map[string]string
}
var smonConfig Configuration
func SmonConfigInit() (err error) {
smonConfig.Settings = make(map[string]string, 8)
var rows *sql.Rows
rows, err = service.Db.Conn.Query(`SELECT * FROM public.configuration`)
if err != nil {
err = werr.Wrap(err)
return
}
defer rows.Close()
for rows.Next() {
var setting, value string
err = rows.Scan(&setting, &value)
if err != nil {
err = werr.Wrap(err)
return
}
smonConfig.Settings[setting] = value
}
return
}
func (cfg *Configuration) SetTheme(theme string) (err error) {
cfg.Settings["THEME"] = theme
_, err = service.Db.Conn.Exec(`UPDATE public.configuration SET value=$1 WHERE setting='THEME'`, theme)
return
}