From c00b690bd6f600554a1404e692bd9e4373325d27 Mon Sep 17 00:00:00 2001 From: Leonardo Bishop Date: Fri, 17 Jan 2025 13:21:24 +0000 Subject: Initial commit --- api/handlers/util.go | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 api/handlers/util.go (limited to 'api/handlers/util.go') diff --git a/api/handlers/util.go b/api/handlers/util.go new file mode 100644 index 0000000..b0cf344 --- /dev/null +++ b/api/handlers/util.go @@ -0,0 +1,28 @@ +package handlers + +import ( + "fmt" + + "github.com/go-playground/validator/v10" + "github.com/gofiber/fiber/v2" +) + +var validate = validator.New(validator.WithRequiredStructEnabled()) + +func readBody(c *fiber.Ctx, request interface{}) error { + if err := c.BodyParser(request); err != nil { + return &fiber.Error{ + Code: fiber.StatusBadRequest, + Message: fmt.Errorf("Invalid request (%w)", err).Error(), + } + } + + if err := validate.Struct(request); err != nil { + return &fiber.Error{ + Code: fiber.StatusBadRequest, + Message: err.Error(), + } + } + + return nil +} -- cgit v1.2.3-70-g09d2