, * source_types: list, * permission_presets: list, * }, * } */ #[\Override] public function getCapabilities(): array { if (!Server::get(IManager::class)->shareApiEnabled()) { return []; } $sourceTypes = array_map(static fn (IShareSourceType $sourceType): array => [ 'class' => $sourceType::class, ], array_values($this->registry->getSourceTypes())); $permissionPresets = array_map(fn (ISharePermissionPreset $permissionPreset): array => [ 'class' => $permissionPreset::class, 'display_name' => $permissionPreset->getDisplayName($this->l10nFactory), 'hint' => $permissionPreset->getHint($this->l10nFactory), ], array_values($this->registry->getPermissionPresets())); return [ Application::APP_ID => [ 'api_versions' => ['v1'], 'source_types' => $sourceTypes, 'permission_presets' => $permissionPresets, ], ]; } }