hybrid pagination
This commit is contained in:
@@ -273,29 +273,27 @@ func (s *inquiryService) Search(ctx context.Context, form *SearchInquiriesForm,
|
||||
"offset": pagination.Offset,
|
||||
})
|
||||
|
||||
// Get inquiries
|
||||
inquiries, total, err := s.repository.Search(ctx, form, pagination)
|
||||
page, err := s.repository.Search(ctx, form, pagination)
|
||||
if err != nil {
|
||||
s.logger.Error("Failed to search inquiries", map[string]interface{}{
|
||||
"error": err.Error(),
|
||||
})
|
||||
return nil, errors.New("failed to search inquiries")
|
||||
return nil, err
|
||||
}
|
||||
|
||||
// Convert to responses
|
||||
var inquiryResponses []*InquiryResponse
|
||||
for _, inquiry := range inquiries {
|
||||
for _, inquiry := range page.Items {
|
||||
inquiryResponses = append(inquiryResponses, inquiry.ToResponse())
|
||||
}
|
||||
|
||||
s.logger.Info("Inquiries search completed successfully", map[string]interface{}{
|
||||
"total_found": total,
|
||||
"total_found": page.TotalCount,
|
||||
"returned": len(inquiryResponses),
|
||||
})
|
||||
|
||||
return &InquiryListResponse{
|
||||
Inquiries: inquiryResponses,
|
||||
Meta: pagination.Response(total),
|
||||
Meta: pagination.ListMeta(page.TotalCount, page.NextCursor, page.HasMore, page.PageOffset),
|
||||
}, nil
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user