Skip to content
Snippets Groups Projects
Verified Commit 936678cb authored by Damien's avatar Damien
Browse files

[REFACTORING] All resources for list

parent 36ce36ff
No related branches found
No related tags found
No related merge requests found
...@@ -47,8 +47,8 @@ class ResourceListController ...@@ -47,8 +47,8 @@ class ResourceListController
$user = UserModel::getById(['id' => $aArgs['userId'], 'select' => ['user_id']]); $user = UserModel::getById(['id' => $aArgs['userId'], 'select' => ['user_id']]);
$data = $request->getQueryParams(); $data = $request->getQueryParams();
$data['offset'] = (empty($data['offset']) || !is_numeric($data['offset']) ? 0 : $data['offset']); $data['offset'] = (empty($data['offset']) || !is_numeric($data['offset']) ? 0 : (int)$data['offset']);
$data['limit'] = (empty($data['limit']) || !is_numeric($data['limit']) ? 0 : $data['limit']); $data['limit'] = (empty($data['limit']) || !is_numeric($data['limit']) ? 10 : (int)$data['limit']);
$allQueryData = ResourceListController::getResourcesListQueryData(['data' => $data, 'basketClause' => $basket['basket_clause'], 'login' => $user['user_id']]); $allQueryData = ResourceListController::getResourcesListQueryData(['data' => $data, 'basketClause' => $basket['basket_clause'], 'login' => $user['user_id']]);
if (!empty($allQueryData['order'])) { if (!empty($allQueryData['order'])) {
...@@ -56,19 +56,28 @@ class ResourceListController ...@@ -56,19 +56,28 @@ class ResourceListController
} }
$rawResources = ResourceListModel::getOnView([ $rawResources = ResourceListModel::getOnView([
'select' => ['count(1) OVER()', 'res_id'], 'select' => ['res_id'],
'table' => $allQueryData['table'], 'table' => $allQueryData['table'],
'leftJoin' => $allQueryData['leftJoin'], 'leftJoin' => $allQueryData['leftJoin'],
'where' => $allQueryData['where'], 'where' => $allQueryData['where'],
'data' => $allQueryData['queryData'], 'data' => $allQueryData['queryData'],
'orderBy' => empty($data['order']) ? [$basket['basket_res_order']] : [$data['order']], 'orderBy' => empty($data['order']) ? [$basket['basket_res_order']] : [$data['order']]
'offset' => (int)$data['offset'],
'limit' => (int)$data['limit']
]); ]);
$count = empty($rawResources[0]['count']) ? 0 : $rawResources[0]['count']; $count = count($rawResources);
$resIds = []; $resIds = [];
if (!empty($rawResources[$data['offset']])) {
$start = $data['offset'];
$i = 0;
while ($i < $data['limit'] && !empty($rawResources[$start])) {
$resIds[] = $rawResources[$start]['res_id'];
++$start;
++$i;
}
}
$allResources = [];
foreach ($rawResources as $resource) { foreach ($rawResources as $resource) {
$resIds[] = $resource['res_id']; $allResources[] = $resource['res_id'];
} }
$resources = []; $resources = [];
...@@ -99,7 +108,7 @@ class ResourceListController ...@@ -99,7 +108,7 @@ class ResourceListController
} }
} }
return $response->withJson(['resources' => $resources, 'count' => $count, 'basketLabel' => $basket['basket_name']]); return $response->withJson(['resources' => $resources, 'count' => $count, 'basketLabel' => $basket['basket_name'], 'allResources' => $allResources]);
} }
public function getFilters(Request $request, Response $response, array $aArgs) public function getFilters(Request $request, Response $response, array $aArgs)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment