aboutsummaryrefslogtreecommitdiffstats
path: root/apps/workflowengine/lib/Entity
diff options
context:
space:
mode:
authorblizzz <blizzz@arthur-schiwon.de>2019-12-19 13:00:39 +0100
committerGitHub <noreply@github.com>2019-12-19 13:00:39 +0100
commit5a986f02a33bd1f54fd951af7dc5a1fed02b8340 (patch)
tree7eb182f219f9ce954872213eb0777c2269d43b6b /apps/workflowengine/lib/Entity
parenteaf89d1c69b409a577fe28e82ff5a2ac2f7f9412 (diff)
parentf8394e3551de6993f163fea12019cbbc32fc5167 (diff)
downloadnextcloud-server-5a986f02a33bd1f54fd951af7dc5a1fed02b8340.tar.gz
nextcloud-server-5a986f02a33bd1f54fd951af7dc5a1fed02b8340.zip
Merge pull request #18162 from nextcloud/enh/noid/url-fileentity
flow file entity to provide the internal URL
Diffstat (limited to 'apps/workflowengine/lib/Entity')
-rw-r--r--apps/workflowengine/lib/Entity/File.php14
1 files changed, 13 insertions, 1 deletions
diff --git a/apps/workflowengine/lib/Entity/File.php b/apps/workflowengine/lib/Entity/File.php
index 6196af5bc23..e849ddce7f4 100644
--- a/apps/workflowengine/lib/Entity/File.php
+++ b/apps/workflowengine/lib/Entity/File.php
@@ -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 '';
+ }
+ }
}