fix(search): align search page size
This commit is contained in:
@@ -70,7 +70,7 @@ func NewSearchHandler(svc *search.SearchService, dbs ...*gorm.DB) *SearchHandler
|
||||
// @Param sort_by query string false "Sort field (created_at,last_activity_at,updated_at)" default(created_at)
|
||||
// @Param sort_order query string false "Sort order (asc,desc)" default(desc)
|
||||
// @Param page query int false "Page number" default(1)
|
||||
// @Param per_page query int false "Items per page" default(25)
|
||||
// @Param per_page query int false "Ignored for Chatwoot parity; search results are fixed at 15 per page" default(15)
|
||||
// @Success 200 {object} search.SearchResponse
|
||||
// @Failure 400 {object} model.ErrorResponse
|
||||
// @Failure 401 {object} model.ErrorResponse
|
||||
@@ -120,7 +120,7 @@ func (h *SearchHandler) GlobalSearch(c *gin.Context) {
|
||||
// @Param sort_by query string false "Sort field (created_at,last_activity_at,updated_at)" default(created_at)
|
||||
// @Param sort_order query string false "Sort order (asc,desc)" default(desc)
|
||||
// @Param page query int false "Page number" default(1)
|
||||
// @Param per_page query int false "Items per page" default(25)
|
||||
// @Param per_page query int false "Ignored for Chatwoot parity; search results are fixed at 15 per page" default(15)
|
||||
// @Success 200 {object} map[string]interface{}
|
||||
// @Failure 400 {object} model.ErrorResponse
|
||||
// @Failure 401 {object} model.ErrorResponse
|
||||
@@ -171,7 +171,7 @@ func (h *SearchHandler) SearchConversations(c *gin.Context) {
|
||||
// @Param sort_by query string false "Sort field (created_at,updated_at)" default(created_at)
|
||||
// @Param sort_order query string false "Sort order (asc,desc)" default(desc)
|
||||
// @Param page query int false "Page number" default(1)
|
||||
// @Param per_page query int false "Items per page" default(25)
|
||||
// @Param per_page query int false "Ignored for Chatwoot parity; search results are fixed at 15 per page" default(15)
|
||||
// @Success 200 {object} map[string]interface{}
|
||||
// @Failure 400 {object} model.ErrorResponse
|
||||
// @Failure 401 {object} model.ErrorResponse
|
||||
@@ -216,7 +216,7 @@ func (h *SearchHandler) SearchMessages(c *gin.Context) {
|
||||
// @Param sort_by query string false "Sort field (created_at,updated_at,name)" default(created_at)
|
||||
// @Param sort_order query string false "Sort order (asc,desc)" default(desc)
|
||||
// @Param page query int false "Page number" default(1)
|
||||
// @Param per_page query int false "Items per page" default(25)
|
||||
// @Param per_page query int false "Ignored for Chatwoot parity; search results are fixed at 15 per page" default(15)
|
||||
// @Success 200 {object} map[string]interface{}
|
||||
// @Failure 400 {object} model.ErrorResponse
|
||||
// @Failure 401 {object} model.ErrorResponse
|
||||
@@ -264,7 +264,7 @@ func (h *SearchHandler) SearchContacts(c *gin.Context) {
|
||||
// @Param sort_by query string false "Sort field (created_at,updated_at)" default(created_at)
|
||||
// @Param sort_order query string false "Sort order (asc,desc)" default(desc)
|
||||
// @Param page query int false "Page number" default(1)
|
||||
// @Param per_page query int false "Items per page" default(25)
|
||||
// @Param per_page query int false "Ignored for Chatwoot parity; search results are fixed at 15 per page" default(15)
|
||||
// @Success 200 {object} map[string]interface{}
|
||||
// @Failure 400 {object} model.ErrorResponse
|
||||
// @Failure 401 {object} model.ErrorResponse
|
||||
@@ -307,9 +307,7 @@ func parseChatwootSearchFilter(c *gin.Context) search.SearchFilter {
|
||||
if userID := getUserID(c); userID != 0 {
|
||||
filter.CurrentUserID = &userID
|
||||
}
|
||||
if c.Query("per_page") == "" {
|
||||
filter.PerPage = chatwootSearchPerPage
|
||||
}
|
||||
filter.PerPage = chatwootSearchPerPage
|
||||
return filter
|
||||
}
|
||||
|
||||
|
||||
@@ -176,6 +176,8 @@ func TestSearchHandler_GlobalSearch_WithFilterParams(t *testing.T) {
|
||||
payload, ok := body["payload"].(map[string]interface{})
|
||||
require.True(t, ok)
|
||||
assert.Len(t, payload["conversations"], 1)
|
||||
require.NotNil(t, repo.msgFilter)
|
||||
assert.Equal(t, 15, repo.msgFilter.PerPage)
|
||||
}
|
||||
|
||||
func TestSearchHandler_GlobalSearch_UsesReferenceResultTypes(t *testing.T) {
|
||||
@@ -323,7 +325,7 @@ func TestSearchHandler_SearchMessages_Success(t *testing.T) {
|
||||
router := setupSearchHandlerRouter(handler)
|
||||
|
||||
w := httptest.NewRecorder()
|
||||
req := httptest.NewRequest("GET", "/api/v1/accounts/1/search/messages?q=hello&page=1", nil)
|
||||
req := httptest.NewRequest("GET", "/api/v1/accounts/1/search/messages?q=hello&page=1&per_page=99", nil)
|
||||
router.ServeHTTP(w, req)
|
||||
|
||||
assert.Equal(t, http.StatusOK, w.Code)
|
||||
|
||||
Reference in New Issue
Block a user