metadata->get('scopes') ?? []); } public function isScopeEntity(string $scope): bool { return (bool) $this->metadata->get(['scopes', $scope, 'entity']); } /** * @return string[] */ public function getScopeFieldList(string $scope): array { /** @var string[] */ return array_keys($this->metadata->get(['entityDefs', $scope, 'fields']) ?? []); } /** * @return array */ public function getPermissionList(): array { $itemList = $this->metadata->get(['app', $this->type, 'valuePermissionList']) ?? []; return array_map( function (string $item): string { if (str_ends_with($item, 'Permission')) { return substr($item, 0, -10); } return $item; }, $itemList ); } }