diff --git a/main.go b/main.go index 157d877..237bab6 100644 --- a/main.go +++ b/main.go @@ -176,51 +176,6 @@ func (h *indexHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) { } } -type momentHandler struct { - DB *bolt.DB -} - -func (mh *momentHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) { - defer r.Body.Close() - sess, err := NewSession(w, r) - if err != nil { - log.Println(err) - return - } - defer sess.Flush() - - if r.Method == http.MethodGet { - moments, err := loadMoments(mh.DB, "") - if err != nil { - log.Println(err) - } - - w.Header().Add("Content-Type", "application/json; charset=utf8") - - err = json.NewEncoder(w).Encode(&moments) - if err != nil { - log.Println(err) - } - } else if r.Method == http.MethodPost { - // save input values - err := r.ParseForm() - if err != nil { - log.Println(err) - return - } - memo := r.FormValue("memo") - timestamp := time.Now() - err = saveMemo(mh.DB, timestamp, memo) - if err != nil { - log.Println(err) - } - http.Redirect(w, r, "/", http.StatusFound) - } else { - http.Error(w, "Method Not Allowed", 405) - return - } -} - // main is the main function func main() { fmt.Println("Starting tracking backend server") diff --git a/moments.go b/moments.go new file mode 100644 index 0000000..56828c5 --- /dev/null +++ b/moments.go @@ -0,0 +1,55 @@ +package main + +import ( + "encoding/json" + "go.etcd.io/bbolt" + "log" + "net/http" + "time" +) + +type momentHandler struct { + DB *bbolt.DB +} + +func (mh *momentHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) { + defer r.Body.Close() + sess, err := NewSession(w, r) + if err != nil { + log.Println(err) + return + } + defer sess.Flush() + + if r.Method == http.MethodGet { + moments, err := loadMoments(mh.DB, "") + if err != nil { + log.Println(err) + } + + w.Header().Add("Content-Type", "application/json; charset=utf8") + + err = json.NewEncoder(w).Encode(&moments) + if err != nil { + log.Println(err) + } + } else if r.Method == http.MethodPost { + // save input values + err := r.ParseForm() + if err != nil { + log.Println(err) + return + } + memo := r.FormValue("memo") + timestamp := time.Now() + err = saveMemo(mh.DB, timestamp, memo) + if err != nil { + log.Println(err) + } + http.Redirect(w, r, "/", http.StatusFound) + } else { + http.Error(w, "Method Not Allowed", 405) + return + } +} +