hybrid pagination
This commit is contained in:
@@ -60,12 +60,20 @@ func (h *Handler) Search(c echo.Context) error {
|
||||
return response.ValidationError(c, "Invalid request data", err.Error())
|
||||
}
|
||||
|
||||
feedbackList, err := h.service.Search(c.Request().Context(), *form, response.NewPagination(c))
|
||||
pagination, err := response.NewPagination(c)
|
||||
if err != nil {
|
||||
return response.PaginationBadRequest(c, err)
|
||||
}
|
||||
|
||||
feedbackList, err := h.service.Search(c.Request().Context(), *form, pagination)
|
||||
if err != nil {
|
||||
if response.IsListPaginationError(err) {
|
||||
return response.PaginationBadRequest(c, err)
|
||||
}
|
||||
return response.InternalServerError(c, "Failed to retrieve feedback list")
|
||||
}
|
||||
|
||||
return response.Success(c, feedbackList.Feedback, "feedback list retrieved successfully")
|
||||
return response.SuccessWithMeta(c, feedbackList, feedbackList.Meta, "feedback list retrieved successfully")
|
||||
}
|
||||
|
||||
// GetFeedbackByID retrieves feedback by ID with loaded related data
|
||||
@@ -217,13 +225,20 @@ func (h *Handler) PublicList(c echo.Context) error {
|
||||
}
|
||||
form.Company = &companyID
|
||||
|
||||
// Call service
|
||||
result, err := h.service.Search(c.Request().Context(), *form, response.NewPagination(c))
|
||||
pagination, err := response.NewPagination(c)
|
||||
if err != nil {
|
||||
return response.PaginationBadRequest(c, err)
|
||||
}
|
||||
|
||||
result, err := h.service.Search(c.Request().Context(), *form, pagination)
|
||||
if err != nil {
|
||||
if response.IsListPaginationError(err) {
|
||||
return response.PaginationBadRequest(c, err)
|
||||
}
|
||||
return response.InternalServerError(c, "Failed to list feedback")
|
||||
}
|
||||
|
||||
return response.Success(c, result, "Feedback list retrieved successfully")
|
||||
return response.SuccessWithMeta(c, result, result.Meta, "Feedback list retrieved successfully")
|
||||
}
|
||||
|
||||
// PublicGetFeedback retrieves feedback by ID
|
||||
|
||||
Reference in New Issue
Block a user