From 2f726100e2dd7eaef322386476a076a248ecb3d4 Mon Sep 17 00:00:00 2001 From: Paul Buetow Date: Sun, 5 May 2024 16:05:47 +0300 Subject: initial /list handler --- handlers.go | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++ submit.go | 36 ------------------------------------ 2 files changed, 52 insertions(+), 36 deletions(-) create mode 100644 handlers.go delete mode 100644 submit.go diff --git a/handlers.go b/handlers.go new file mode 100644 index 0000000..7606f12 --- /dev/null +++ b/handlers.go @@ -0,0 +1,52 @@ +package main + +import ( + "fmt" + "io" + "net/http" + "time" +) + +func handleSubmit(w http.ResponseWriter, r *http.Request, dataDir string) error { + if r.Method != "POST" { + return fmt.Errorf("expexted POST request") + } + + bytes, err := io.ReadAll(r.Body) + if err != nil { + return err + } + + entry, err := newEntry(bytes) + if err != nil { + return err + } + filePath := fmt.Sprintf("%s/%s/%s.json", dataDir, time.Now().Format("2006"), entry.id) + + jsonStr, err := entry.serialize() + if err != nil { + return err + } + + if err := saveFile(filePath, jsonStr); err != nil { + return err + } + + return nil +} + +func handleList(w http.ResponseWriter, r *http.Request, dataDir string) error { + if r.Method != "GET" { + return fmt.Errorf("expexted GET request") + } + + repository := newRepository(dataDir) + ids, err := repository.list() + if err != nil { + return err + } + for _, id := range ids { + fmt.Fprintf(w, id) + } + return nil +} diff --git a/submit.go b/submit.go deleted file mode 100644 index 3b94015..0000000 --- a/submit.go +++ /dev/null @@ -1,36 +0,0 @@ -package main - -import ( - "fmt" - "io" - "net/http" - "time" -) - -func handleSubmit(w http.ResponseWriter, r *http.Request, dataDir string) error { - if r.Method != "POST" { - return fmt.Errorf("expexted POST request") - } - - bytes, err := io.ReadAll(r.Body) - if err != nil { - return err - } - - entry, err := newEntry(bytes) - if err != nil { - return err - } - filePath := fmt.Sprintf("%s/%s/%s.json", dataDir, time.Now().Format("2006"), entry.id) - - jsonStr, err := entry.serialize() - if err != nil { - return err - } - - if err := saveFile(filePath, jsonStr); err != nil { - return err - } - - return nil -} -- cgit v1.2.3