diff --git a/internal/server/post.go b/internal/server/post.go
index 1b33504..27cd08c 100644
--- a/internal/server/post.go
+++ b/internal/server/post.go
@@ -10,6 +10,28 @@ import (
"github.com/Bronku/iroon/internal/store"
)
+func (h *Server) postCake(r *http.Request) (any, int, error) {
+ err := r.ParseForm()
+ if err != nil {
+ return nil, http.StatusInternalServerError, err
+ }
+
+ var n store.Cake
+ n.ID, err = strconv.Atoi(r.FormValue("id"))
+ if err != nil {
+ return nil, http.StatusBadRequest, err
+ }
+ n.Name = r.FormValue("name")
+ n.Price, err = strconv.Atoi(r.FormValue("price"))
+ if err != nil {
+ return nil, http.StatusBadRequest, err
+ }
+ n.Category = r.FormValue("category")
+ n.Availability = r.FormValue("availibility")
+ fmt.Println(n)
+ return n, http.StatusAccepted, err
+}
+
func (h *Server) postOrder(r *http.Request) (any, int, error) {
cakes, err := h.s.GetCakes()
if err != nil {
diff --git a/internal/server/server.go b/internal/server/server.go
index 49edc48..d4dc392 100644
--- a/internal/server/server.go
+++ b/internal/server/server.go
@@ -27,6 +27,7 @@ func (h *Server) loadHandler() {
mux.HandleFunc("POST /order/", h.render(h.postOrder, "confirmation.html"))
mux.HandleFunc("GET /cakes", h.render(h.cakes, "cakes.html"))
mux.HandleFunc("GET /cake/", h.render(h.cake, "cake.html"))
+ mux.HandleFunc("POST /cake/", h.render(h.postCake, "confirmation.html"))
h.Handler = mux
}
diff --git a/internal/server/templates/confirmation.html b/internal/server/templates/confirmation.html
index 18232b2..df9812b 100644
--- a/internal/server/templates/confirmation.html
+++ b/internal/server/templates/confirmation.html
@@ -5,5 +5,5 @@
index
- Order {{.ID}} for {{.Name}} {{.Surname}} confirmed
+ {{.ID}} confirmed