niki/delivery/http_server/admin/kind_box_req/get_all.go

54 lines
1.6 KiB
Go

package adminkindboxreqhandler
import (
"net/http"
"strconv"
"git.gocasts.ir/ebhomengo/niki/param"
orderparam "git.gocasts.ir/ebhomengo/niki/param"
paginationparam "git.gocasts.ir/ebhomengo/niki/param"
param "git.gocasts.ir/ebhomengo/niki/param/admin/kind_box_req"
httpmsg "git.gocasts.ir/ebhomengo/niki/pkg/http_msg"
echo "github.com/labstack/echo/v4"
)
// GetAll godoc
// @Summary Admin get all kindboxreq
// @Tags KindBoxReq
// @Accept json
// @Produce json
// @Param page_number query int false "page_number"
// @Param page_size query int false "page_size"
// @Success 200 {object} param.KindBoxReqGetAllResponse
// @Failure 400 {string} "Bad request"
// @Security AuthBearerAdmin
// @Router /admin/kindboxreqs [get]
func (h Handler) GetAll(c echo.Context) error {
var req param.KindBoxReqGetAllRequest
if bErr := c.Bind(&req); bErr != nil {
return echo.NewHTTPError(http.StatusBadRequest)
}
var paginationReq paginationparam.PaginationRequest
var orderReq orderparam.OrderRequest
// get order default is ASC
ordering := c.QueryParam("order")
orderReq.Ordering = ordering
// TODO : pkg convert string to uint
//nolint
pageNumber, _ := strconv.ParseUint(c.QueryParam("page_number"), 0, 64)
//nolint
pageSize, _ := strconv.ParseUint(c.QueryParam("page_size"), 0, 64)
paginationReq.PageSize = uint(pageSize)
paginationReq.PageNumber = uint(pageNumber)
resp, sErr := h.adminKindBoxReqSvc.GetAll(c.Request().Context(), req, paginationReq, orderReq)
if sErr != nil {
msg, code := httpmsg.Error(sErr)
return echo.NewHTTPError(code, msg)
}
return c.JSON(http.StatusOK, resp)
}