'error', 'key' => 'variable', 'method' => 'list', 'data' => '', ]; $token = $request->headers->get('x-auth-token'); $security->isGranted('MAESTRO_PROJECT_TEMPLATE_UPDATE', $token); $userId = $security->getUser()->getId(); $data = json_decode($request->getContent(), true); //DELETE THE CACHE IF WE HAVE, BECAUSE THE VALUE WAS CHANGED $cache = new FilesystemAdapter(); $cache->clear(); //END DELETING CACHE if (isset($data['lazyLoadFilters'])) { if (isset($data['customFilters'])) { $datatableFilters = $data['lazyLoadFilters']; $customFilters = $data['customFilters']; $view = new DatatableRequestView( isset($data["strictMode"]) ? $data["strictMode"] : false, isset($data["searchOnFieldValue"]) ? $data["searchOnFieldValue"] : false, isset($data["searchOnArchived"]) ? $data["searchOnArchived"] : false, isset($datatableFilters["first"]) ? $datatableFilters["first"] : 0, isset($datatableFilters["rows"]) ? $datatableFilters["rows"] : 10, isset($datatableFilters["sortField"]) && $datatableFilters["sortField"] ? $datatableFilters["sortField"] : "vp.createdAt", isset($datatableFilters['sortOrder']) && ($datatableFilters['sortOrder'] == -1 || $datatableFilters['sortOrder'] == "desc") ? "desc" : "asc", isset($datatableFilters["globalFilter"]) ? $datatableFilters["globalFilter"] : null ); //GET CACHED DATA IF WE HAVE NON UPDATED DATA $cache = new FilesystemAdapter('', 1); $hashDataTableFilters = md5(json_encode($datatableFilters)); $hashCustomFilters = md5(json_encode($customFilters)); $response = $cache->getItem('variables_list_'.$userId.'_'.$hashDataTableFilters.'_'.$hashCustomFilters); if (!$response->isHit()) { $dataTableData = $query->dataTableList($view, $customFilters); $body['type'] = 'success'; $body['data'] = $dataTableData; $respond->statusOk(); $response->set($body); $cache->save($response); } return $respond->createBody($response->get())->respond(); } else { throw new \Exception("Missing 'customFilters' parameter !"); // @TODO : If keeped, change by custom exception when implemented } } else { throw new \Exception("Missing 'datatableFilters' parameter !"); // @TODO : If keeped, change by custom exception when implemented } } }