package api import ( "encoding/json" "path" "time" "srs.epita.fr/fic-server/libfic" "srs.epita.fr/fic-server/settings" "github.com/julienschmidt/httprouter" ) var TeamsDir string func init() { router.GET("/api/settings.json", apiHandler(getSettings)) router.PUT("/api/settings.json", apiHandler(saveSettings)) } func getSettings(_ httprouter.Params, body []byte) (interface{}, error) { 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) { var config settings.FICSettings if err := json.Unmarshal(body, &config); err != nil { return nil, err } if err := settings.SaveSettings(path.Join(TeamsDir, settings.SettingsFile), config); err != nil { return nil, err } else { return config, err } }