36     public const EDIT = 
'edit';
    37     public const VIEW = 
'view';
    64         if ($reference_id === null) {
    65             return $response_factory->
cannot();
    70         if ($additional_params === 
'_wsp') {
    75         $capability_context = new \ILIAS\File\Capabilities\Context(
    76             $reference_id->toObjectId()->toInt(),
    77             $reference_id->toInt(),
    81         $capabilities = $this->capabilities->
get($capability_context);
    83         $capability = match ($additional_params) {
    84             self::DOWNLOAD => $capabilities->get(Capabilities::DOWNLOAD),
    85             self::VERSIONS => $capabilities->get(Capabilities::MANAGE_VERSIONS),
    86             self::EDIT => $capabilities->get(Capabilities::EDIT_EXTERNAL),
    87             self::VIEW => $capabilities->get(Capabilities::VIEW_EXTERNAL),
    88             default => $capabilities->get(Capabilities::INFO_PAGE),
    91         if (!$capability->isUnlocked() || $capability->getUri() === null) {
    95         $uri = $capability->getUri();
    97         return $response_factory->
can($uri->getPath() . 
'?' . $uri->getQuery());
 
getAdditionalParameters()
 
handle(Request $request, Context $context, Factory $response_factory)
 
static _gotoSharedWorkspaceNode(int $wsp_id)
 
CapabilityBuilder $capabilities