diff --git a/server/handler/deleteHandler.go b/server/handler/deleteHandler.go new file mode 100644 index 0000000..1c2d81e --- /dev/null +++ b/server/handler/deleteHandler.go @@ -0,0 +1,25 @@ +package handler + +import ( + "net/http" + + "gitea.kleinsense.nl/DariusKlein/kleinTodo/common" + "gitea.kleinsense.nl/DariusKlein/kleinTodo/common/jwt" +) + +func DeleteHandler(w http.ResponseWriter, r *http.Request) { + user, err := jwt.GetVerifiedUser(r) + if handleError(w, http.StatusUnauthorized, err) { + return + } + + store, err := common.GetTodoDataStore() + if handleError(w, http.StatusInternalServerError, err) { + return + } + + err = store.EmptyBucket(user) + if handleError(w, http.StatusInternalServerError, err) { + return + } +} diff --git a/server/main.go b/server/main.go index c64b944..a953ef2 100644 --- a/server/main.go +++ b/server/main.go @@ -26,6 +26,7 @@ func main() { mux.HandleFunc("POST /login", handler.LoginHandler) mux.HandleFunc("POST /store", handler.StoreHandler) mux.HandleFunc("GET /sync", handler.SyncHandler) + mux.HandleFunc("DELETE /todo", handler.DeleteHandler) // A simple root handler to confirm the server is running. mux.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {