38 lines
818 B
Go
38 lines
818 B
Go
package main
|
|
|
|
import (
|
|
"fmt"
|
|
"log"
|
|
)
|
|
|
|
type (
|
|
SettingsService struct {
|
|
db *DB
|
|
}
|
|
)
|
|
|
|
var Settings map[string]string = map[string]string{
|
|
"FoodDaysLookback": "7",
|
|
"FoodAggregatedDaysLookback": "7",
|
|
"WeightDaysLookback": "7",
|
|
"WeightAggregatedDaysLookback": "7",
|
|
}
|
|
|
|
func (s *SettingsService) LoadSettings() (map[string]string, error) {
|
|
if s.db == nil || !s.db.Ready {
|
|
return Settings, fmt.Errorf("cannot load Settings, db is nil or is not ready")
|
|
}
|
|
|
|
for key := range Settings {
|
|
var value string
|
|
err := s.db.readConn.QueryRow("SELECT value FROM settings WHERE key = ?", key).Scan(&value)
|
|
if err != nil {
|
|
Error.Printf("error getting setting for key %s: %++v", key, err)
|
|
continue
|
|
}
|
|
log.Println(key, value)
|
|
}
|
|
|
|
return Settings, nil
|
|
}
|