settigs storage & api

This commit is contained in:
Nazar Kanaev
2020-07-06 13:14:10 +01:00
parent eb0db50413
commit 0761da85e7
4 changed files with 81 additions and 0 deletions

View File

@@ -314,3 +314,21 @@ func ItemListHandler(rw http.ResponseWriter, req *http.Request) {
rw.WriteHeader(http.StatusMethodNotAllowed)
}
}
func SettingsHandler(rw http.ResponseWriter, req *http.Request) {
if req.Method == "GET" {
rw.WriteHeader(http.StatusOK)
writeJSON(rw, db(req).GetSettings())
} else if req.Method == "PUT" {
settings := make(map[string]interface{})
if err := json.NewDecoder(req.Body).Decode(&settings); err != nil {
rw.WriteHeader(http.StatusBadRequest)
return
}
if db(req).UpdateSettings(settings) {
rw.WriteHeader(http.StatusOK)
} else {
rw.WriteHeader(http.StatusBadRequest)
}
}
}

View File

@@ -80,6 +80,7 @@ var routes []Route = []Route{
p("/api/feeds/find", FeedHandler),
p("/api/items", ItemListHandler),
p("/api/items/:id", ItemHandler),
p("/api/settings", SettingsHandler),
}
func Vars(req *http.Request) map[string]string {