diff options
Diffstat (limited to 'internal/server/handler/handler.go')
| -rw-r--r-- | internal/server/handler/handler.go | 72 |
1 files changed, 0 insertions, 72 deletions
diff --git a/internal/server/handler/handler.go b/internal/server/handler/handler.go deleted file mode 100644 index a108f93..0000000 --- a/internal/server/handler/handler.go +++ /dev/null @@ -1,72 +0,0 @@ -package handler - -import ( - "context" - "fmt" - "io" - "net/http" - - "codeberg.org/snonux/gos/internal/config/server" - "codeberg.org/snonux/gos/internal/server/repository" - "codeberg.org/snonux/gos/internal/types" -) - -type Handler struct { - conf server.ServerConfig -} - -func New(conf server.ServerConfig) Handler { - return Handler{ - conf: conf, - } -} - -func (h Handler) Submit(ctx context.Context, w http.ResponseWriter, r *http.Request) error { - if r.Method != "POST" { - return fmt.Errorf("expected POST request, but got %s", r.Method) - } - - bytes, err := io.ReadAll(r.Body) - if err != nil { - return err - } - - entry, err := types.NewEntry(bytes) - if err != nil { - return err - } - return repository.Instance(h.conf).Merge(entry) -} - -func (h Handler) List(w http.ResponseWriter, r *http.Request) error { - if r.Method != "GET" { - return fmt.Errorf("expexted GET request") - } - - list, err := repository.Instance(h.conf).ListBytes() - if err != nil { - return err - } - - _, err = w.Write(list) - return err -} - -func (h Handler) Get(w http.ResponseWriter, r *http.Request) error { - json, err := repository.Instance(h.conf).GetJSON(r.URL.Query().Get("id")) - if err != nil { - return err - } - - fmt.Fprint(w, json) - return nil -} - -func (h Handler) Merge(ctx context.Context, w http.ResponseWriter, r *http.Request) error { - if err := repository.Instance(h.conf).MergeRemotely(ctx); err != nil { - return err - } - - fmt.Fprint(w, "Repository merge went well") - return nil -} |
