From b1c4ebfe456c19bcbedf151ae912a7a791526acf Mon Sep 17 00:00:00 2001 From: Pierre-Olivier Mercier Date: Mon, 16 Jan 2017 13:10:15 +0100 Subject: [PATCH] settings: admin interface see default params --- admin/api/settings.go | 8 +++++++- settings/settings.go | 5 +++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/admin/api/settings.go b/admin/api/settings.go index 9a7bc638..31bc7446 100644 --- a/admin/api/settings.go +++ b/admin/api/settings.go @@ -3,7 +3,9 @@ package api import ( "encoding/json" "path" + "time" + "srs.epita.fr/fic-server/libfic" "srs.epita.fr/fic-server/settings" "github.com/julienschmidt/httprouter" @@ -17,7 +19,11 @@ func init() { } func getSettings(_ httprouter.Params, body []byte) (interface{}, error) { - return settings.ReadSettings(path.Join(TeamsDir, settings.SettingsFile)) + if settings.ExistsSettings(path.Join(TeamsDir, settings.SettingsFile)) { + return settings.ReadSettings(path.Join(TeamsDir, settings.SettingsFile)) + } else { + return settings.FICSettings{time.Unix(0,0), time.Unix(0,0), fic.FirstBlood, fic.SubmissionCostBase, false, false, false, true, true}, nil + } } func saveSettings(_ httprouter.Params, body []byte) (interface{}, error) { diff --git a/settings/settings.go b/settings/settings.go index 6c7736b8..6775c03c 100644 --- a/settings/settings.go +++ b/settings/settings.go @@ -26,6 +26,11 @@ type FICSettings struct { EnableExerciceDepend bool `json:"enableExerciceDepend"` } +func ExistsSettings(settingsPath string) bool { + _, err := os.Stat(settingsPath) + return !os.IsNotExist(err) +} + func ReadSettings(path string) (FICSettings, error) { var s FICSettings if fd, err := os.Open(path); err != nil {