amocrm/internal/controllers/middleware.go

30 lines
598 B
Go
Raw Normal View History

2024-04-08 15:24:50 +00:00
package controllers
import (
"amocrm/internal/models"
"github.com/gofiber/fiber/v2"
"strconv"
)
func extractParams(ctx *fiber.Ctx) (*models.PaginationReq, error) {
pageStr := ctx.Query("page")
sizeStr := ctx.Query("size")
page, err := strconv.Atoi(pageStr)
if err != nil {
return nil, ctx.Status(fiber.StatusBadRequest).SendString("Invalid page parameter")
}
size, err := strconv.Atoi(sizeStr)
if err != nil {
return nil, ctx.Status(fiber.StatusBadRequest).SendString("Invalid size parameter")
}
req := models.PaginationReq{
Page: page,
Size: size,
}
return &req, nil
}