/** * Converts verb masks to array of verbs (string) as needed. * * @param $method * * @return string */ public function getMethodAttribute($method) { if (is_array($method)) { return $method; } else { if (is_string($method)) { $method = (int) $method; } } return VerbsMask::maskToArray($method); }
/** * {@inheritdoc} */ public function getResources($only_handlers = false) { if ($only_handlers) { return []; } $refresh = $this->request->getParameterAsBool(ApiOptions::REFRESH); $schema = $this->request->getParameter(ApiOptions::SCHEMA, ''); /** @type TableNameSchema[] $result */ $result = $this->parent->getTableNames($schema, $refresh); $resources = []; foreach ($result as $table) { $access = $this->getPermissions($table->name); if (!empty($access)) { $info = $table->toArray(); $info['access'] = VerbsMask::maskToArray($access); $resources[] = $info; } } return $resources; }
public function getResources($only_handlers = false) { if ($only_handlers) { return []; } $refresh = $this->request->getParameterAsBool('refresh'); $schema = $this->request->getParameter('schema', ''); $result = $this->listResources($schema, $refresh); $resources = []; foreach ($result as $name) { $access = $this->getPermissions($name); if (!empty($access)) { $resources[] = ['name' => $name, 'access' => VerbsMask::maskToArray($access)]; } } return $resources; }
/** * Handles GET action * * @return mixed */ protected function handleGET() { $resources = $this->getResources(); if (is_array($resources)) { $includeAccess = $this->request->getParameterAsBool(ApiOptions::INCLUDE_ACCESS); $asList = $this->request->getParameterAsBool(ApiOptions::AS_LIST); $idField = $this->request->getParameter(ApiOptions::ID_FIELD, $this->getResourceIdentifier()); $fields = $this->request->getParameter(ApiOptions::FIELDS); if (!$asList && $includeAccess) { foreach ($resources as &$resource) { if (is_array($resource)) { $name = ArrayUtils::get($resource, $idField); $resource['access'] = VerbsMask::maskToArray($this->getPermissions($name)); } } } return ResourcesWrapper::cleanResources($resources, $asList, $idField, $fields); } return $resources; }