settings: admin interface see default params

This commit is contained in:
nemunaire 2017-01-16 13:10:15 +01:00
parent ef4a738672
commit b1c4ebfe45
2 changed files with 12 additions and 1 deletions

View File

@ -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) {

View File

@ -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 {