$app->map("/{$v}/groups/?", function () use($app, $ZendDb, $acl, $requestPayload) { // @TODO need PUT $GroupsTableGateway = new TableGateway($acl, 'directus_groups', $ZendDb); $tableName = 'directus_groups'; $GroupsTableGateway = new TableGateway($acl, $tableName, $ZendDb); $currentUser = Auth::getUserInfo(); switch ($app->request()->getMethod()) { case "POST": $newRecord = $GroupsTableGateway->manageRecordUpdate($tableName, $requestPayload); $newGroupId = $newRecord['id']; $newGroup = $GroupsTableGateway->find($newGroupId); $outputData = $newGroup; break; case "GET": default: $get_new = $GroupsTableGateway->getEntries(); $outputData = $get_new; } JsonView::render($outputData); })->via('GET', 'POST'); $app->get("/{$v}/groups/:id/?", function ($id = null) use($ZendDb, $acl) { // @TODO need POST and PUT // Hardcoding ID temporarily is_null($id) ? $id = 1 : null; $Groups = new TableGateway($acl, 'directus_groups', $ZendDb); $get_new = $Groups->find($id); JsonView::render($get_new); }); /** * FILES COLLECTION */
function getGroups() { global $ZendDb, $acl; $groups = new TableGateway($acl, 'directus_groups', $ZendDb); return $groups->getEntries(); }
function getGroups() { global $ZendDb, $acl; $groups = new TableGateway($acl, 'directus_groups', $ZendDb); // @todo: move to DirectusGroupsTableGateway $groupEntries = $groups->getEntries(); $groupEntries['rows'] = array_map(function ($row) { if (array_key_exists('nav_override', $row)) { if (!empty($row['nav_override'])) { $row['nav_override'] = @json_decode($row['nav_override']); if (json_last_error() !== JSON_ERROR_NONE) { $row['nav_override'] = false; } } else { $row['nav_override'] = NULL; } } return $row; }, $groupEntries['rows']); return $groupEntries; }
$requestPayload['file_name'] = $requestPayload['name']; $requestPayload = array_merge($requestPayload, $recordData); } $newRecord = $TableGateway->manageRecordUpdate($table, $requestPayload, $activityMode); $params['id'] = $newRecord['id']; break; case "PATCH": $requestPayload['id'] = $id; case "PUT": if (!is_null($id)) { $TableGateway->manageRecordUpdate($table, $requestPayload, $activityMode); break; } } $Files = new TableGateway($acl, $table, $ZendDb); $get_new = $Files->getEntries($params); if (array_key_exists('rows', $get_new)) { foreach ($get_new['rows'] as &$row) { if (isset($row['date_uploaded'])) { $row['date_uploaded'] .= ' UTC'; } } } else { if (isset($get_new['date_uploaded'])) { $get_new['date_uploaded'] .= ' UTC'; } } JsonView::render($get_new); })->via('GET', 'PATCH', 'POST', 'PUT'); /** * PREFERENCES COLLECTION