Rework settings to make them appear as if it was not a retard who wrote them
This commit is contained in:
2
main.go
2
main.go
@@ -48,7 +48,7 @@ func main() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
settingsService := SettingsService{db: &db}
|
settingsService := SettingsService{db: &db}
|
||||||
_, err = settingsService.LoadSettings()
|
err = settingsService.LoadSettings()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
Error.Printf("%++v", err)
|
Error.Printf("%++v", err)
|
||||||
os.Exit(1)
|
os.Exit(1)
|
||||||
|
@@ -3,6 +3,7 @@ package main
|
|||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
"log"
|
"log"
|
||||||
|
"reflect"
|
||||||
)
|
)
|
||||||
|
|
||||||
type (
|
type (
|
||||||
@@ -11,27 +12,36 @@ type (
|
|||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
var Settings map[string]string = map[string]string{
|
type settings struct {
|
||||||
"FoodDaysLookback": "7",
|
FoodDaysLookback string
|
||||||
"FoodAggregatedDaysLookback": "7",
|
FoodAggregatedDaysLookback string
|
||||||
"WeightDaysLookback": "7",
|
WeightDaysLookback string
|
||||||
"WeightAggregatedDaysLookback": "7",
|
WeightAggregatedDaysLookback string
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *SettingsService) LoadSettings() (map[string]string, error) {
|
var Settings settings
|
||||||
|
|
||||||
|
func (s *SettingsService) LoadSettings() error {
|
||||||
if s.db == nil || !s.db.Ready {
|
if s.db == nil || !s.db.Ready {
|
||||||
return Settings, fmt.Errorf("cannot load Settings, db is nil or is not ready")
|
return fmt.Errorf("cannot load Settings, db is nil or is not ready")
|
||||||
}
|
}
|
||||||
|
|
||||||
for key := range Settings {
|
settingsValue := reflect.ValueOf(&Settings).Elem()
|
||||||
|
settingsType := settingsValue.Type()
|
||||||
|
|
||||||
|
for i := 0; i < settingsValue.NumField(); i++ {
|
||||||
|
field := settingsType.Field(i)
|
||||||
|
key := field.Name
|
||||||
|
|
||||||
var value string
|
var value string
|
||||||
err := s.db.readConn.QueryRow("SELECT value FROM settings WHERE key = ?", key).Scan(&value)
|
err := s.db.readConn.QueryRow("SELECT value FROM settings WHERE key = ?", key).Scan(&value)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
Error.Printf("error getting setting for key %s: %++v", key, err)
|
log.Printf("error getting setting for key %s: %v", key, err)
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|
||||||
|
settingsValue.Field(i).SetString(value)
|
||||||
log.Println(key, value)
|
log.Println(key, value)
|
||||||
}
|
}
|
||||||
|
return nil
|
||||||
return Settings, nil
|
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user