package api import ( "encoding/json" "srs.epita.fr/fic-server/libfic" "github.com/julienschmidt/httprouter" ) func init() { router.GET("/api/files/", apiHandler(listFiles)) router.DELETE("/api/files/", apiHandler(clearFiles)) router.GET("/api/files/:fileid", apiHandler(fileHandler(showFile))) router.PUT("/api/files/:fileid", apiHandler(fileHandler(updateFile))) router.DELETE("/api/files/:fileid", apiHandler(fileHandler(deleteFile))) } func listFiles(_ httprouter.Params, body []byte) (interface{}, error) { // List all files return fic.GetFiles() } func clearFiles(_ httprouter.Params, _ []byte) (interface{}, error) { return fic.ClearFiles() } func showFile(file fic.EFile, _ []byte) (interface{}, error) { return file, nil } func updateFile(file fic.EFile, body []byte) (interface{}, error) { var uf fic.EFile if err := json.Unmarshal(body, &uf); err != nil { return nil, err } uf.Id = file.Id if _, err := uf.Update(); err != nil { return nil, err } else { return uf, nil } } func deleteFile(file fic.EFile, _ []byte) (interface{}, error) { return file.Delete() }