admin: try to generate events.json file

This commit is contained in:
nemunaire 2018-01-23 03:58:16 +01:00
parent 3aadab40b0
commit 45620ba4c2
1 changed files with 16 additions and 0 deletions

View File

@ -2,6 +2,8 @@ package api
import (
"encoding/json"
"io/ioutil"
"path"
"srs.epita.fr/fic-server/libfic"
@ -19,6 +21,18 @@ func init() {
router.DELETE("/api/events/:evid", apiHandler(eventHandler(deleteEvent)))
}
func genEventsFile() error {
if evts, err := fic.GetLastEvents(); err != nil {
return err
} else if j, err := json.Marshal(evts); err != nil {
return err
} else if err := ioutil.WriteFile(path.Join(TeamsDir, "events.json"), j, 0666); err != nil {
return err
}
return nil
}
func getEvents(_ httprouter.Params, _ []byte) (interface{}, error) {
if evts, err := fic.GetEvents(); err != nil {
return nil, err
@ -48,6 +62,7 @@ func newEvent(_ httprouter.Params, body []byte) (interface{}, error) {
if event, err := fic.NewEvent(ue.Text, ue.Kind); err != nil {
return nil, err
} else {
genEventsFile()
return event, nil
}
}
@ -67,6 +82,7 @@ func updateEvent(event fic.Event, body []byte) (interface{}, error) {
if _, err := ue.Update(); err != nil {
return nil, err
} else {
genEventsFile()
return ue, nil
}
}