flow file entity to provide the internal URL

Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
This commit is contained in:
Arthur Schiwon 2019-11-29 11:25:25 +01:00
parent 642606754b
commit f8394e3551
No known key found for this signature in database
GPG Key ID: 7424F1874854DF23
1 changed files with 13 additions and 1 deletions

View File

@ -26,6 +26,7 @@ namespace OCA\WorkflowEngine\Entity;
use OCP\EventDispatcher\Event;
use OCP\EventDispatcher\GenericEvent;
use OCP\Files\InvalidPathException;
use OCP\Files\IRootFolder;
use OCP\Files\Node;
use OCP\Files\NotFoundException;
@ -38,11 +39,12 @@ use OCP\SystemTag\ISystemTag;
use OCP\SystemTag\ISystemTagManager;
use OCP\SystemTag\MapperEvent;
use OCP\WorkflowEngine\EntityContext\IDisplayText;
use OCP\WorkflowEngine\EntityContext\IUrl;
use OCP\WorkflowEngine\GenericEntityEvent;
use OCP\WorkflowEngine\IEntity;
use OCP\WorkflowEngine\IRuleMatcher;
class File implements IEntity, IDisplayText {
class File implements IEntity, IDisplayText, IUrl {
private const EVENT_NAMESPACE = '\OCP\Files::';
@ -208,4 +210,14 @@ class File implements IEntity, IDisplayText {
return $this->l10n->t('%s assigned %s to %s', $options);
}
}
public function getUrl(): string {
try {
return $this->urlGenerator->linkToRouteAbsolute('files.viewcontroller.showFile', ['fileid' => $this->getNode()->getId()]);
} catch (InvalidPathException $e) {
return '';
} catch (NotFoundException $e) {
return '';
}
}
}