Don't use context.Background().
[kraftakt.git] / app / config.go
index f05a9e6..5b2d867 100644 (file)
@@ -2,6 +2,7 @@ package app
 
 import (
        "context"
+       "sync"
 
        "google.golang.org/appengine/datastore"
        "google.golang.org/appengine/log"
@@ -18,7 +19,16 @@ var Config struct {
        GoogleClientSecret string
 }
 
+var mu sync.Mutex
+
 func LoadConfig(ctx context.Context) error {
+       mu.Lock()
+       defer mu.Unlock()
+
+       if Config.ProjectNumber != "" {
+               return nil
+       }
+
        key := datastore.NewKey(ctx, "Config", "Production", 0, nil)
        if err := datastore.Get(ctx, key, &Config); err != nil {
                log.Errorf(ctx, `datastore.Get("Config", "Production") = %v`, err)