public async Task <PaginationResponse> GetClusters([FromBody] PaginationRequest paginationRequest) { try { var sortOrder = paginationRequest.Order == null ? SortOrder.Descending : paginationRequest.Order.SortOrder; var recordCount = await _clusterService.GetClustersCount(paginationRequest.Filter); var clusters = await _clusterService.GetClusters(paginationRequest.Filter, paginationRequest.Order?.OrderByProperty, sortOrder, paginationRequest.Page, paginationRequest.PageSize); return(new PaginationResponse { Status = "Ok", Data = clusters, RecordCount = recordCount }); } catch (Exception ex) { _logger?.LogError(ex, "Error fetching clusters."); return(new PaginationResponse { Status = "Error", Message = "Error fetching clusters." }); } }