order-service/src/internal/app/server/order_handler.go
Piotr Biernat 6c29945831
Some checks failed
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is failing
Refactoring
2022-12-25 23:20:33 +01:00

34 lines
859 B
Go

package server
import (
"net/http"
"github.com/gofiber/fiber/v2"
def "git.pbiernat.dev/egommerce/api-entities/http"
"git.pbiernat.dev/egommerce/order-service/internal/app/service"
"git.pbiernat.dev/egommerce/order-service/internal/app/ui"
)
func (s *Server) UpdateOrderStatusHandler(c *fiber.Ctx) error {
reqID, _ := s.GetRequestID(c)
req := new(def.UpdateOrderStatusRequest)
if err := c.BodyParser(req); err != nil {
return s.Error400(c, err.Error())
}
// check if order exists in DB service...
orderID := c.Params("orderId", "")
if orderID == "" {
return s.Error400(c, "")
}
orderSrv := service.NewOrderService(s.db, s.cache, s.ebCh, s.log)
_, err := ui.UpdateOrderStatus(orderSrv, req.Status, orderID, reqID)
if err != nil {
return s.Error400(c, "Failed to update order status")
}
return c.SendStatus(http.StatusNoContent)
}