aboutsummaryrefslogtreecommitdiffstats
path: root/apps/files_sharing/lib/Event
diff options
context:
space:
mode:
Diffstat (limited to 'apps/files_sharing/lib/Event')
-rw-r--r--apps/files_sharing/lib/Event/BeforeTemplateRenderedEvent.php49
-rw-r--r--apps/files_sharing/lib/Event/ShareLinkAccessedEvent.php40
-rw-r--r--apps/files_sharing/lib/Event/ShareMountedEvent.php39
3 files changed, 128 insertions, 0 deletions
diff --git a/apps/files_sharing/lib/Event/BeforeTemplateRenderedEvent.php b/apps/files_sharing/lib/Event/BeforeTemplateRenderedEvent.php
new file mode 100644
index 00000000000..709d7bacd4a
--- /dev/null
+++ b/apps/files_sharing/lib/Event/BeforeTemplateRenderedEvent.php
@@ -0,0 +1,49 @@
+<?php
+
+declare(strict_types=1);
+
+/**
+ * SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-License-Identifier: AGPL-3.0-or-later
+ */
+namespace OCA\Files_Sharing\Event;
+
+use OCP\EventDispatcher\Event;
+use OCP\Share\IShare;
+
+/**
+ * Emitted before the rendering step of the public share page happens. The event
+ * holds a flag that specifies if it is the authentication page of a public share.
+ *
+ * @since 20.0.0
+ */
+class BeforeTemplateRenderedEvent extends Event {
+ /**
+ * @since 20.0.0
+ */
+ public const SCOPE_PUBLIC_SHARE_AUTH = 'publicShareAuth';
+
+ /**
+ * @since 20.0.0
+ */
+ public function __construct(
+ private IShare $share,
+ private ?string $scope = null,
+ ) {
+ parent::__construct();
+ }
+
+ /**
+ * @since 20.0.0
+ */
+ public function getShare(): IShare {
+ return $this->share;
+ }
+
+ /**
+ * @since 20.0.0
+ */
+ public function getScope(): ?string {
+ return $this->scope;
+ }
+}
diff --git a/apps/files_sharing/lib/Event/ShareLinkAccessedEvent.php b/apps/files_sharing/lib/Event/ShareLinkAccessedEvent.php
new file mode 100644
index 00000000000..d0cb0a1949d
--- /dev/null
+++ b/apps/files_sharing/lib/Event/ShareLinkAccessedEvent.php
@@ -0,0 +1,40 @@
+<?php
+
+declare(strict_types=1);
+
+/**
+ * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-License-Identifier: AGPL-3.0-or-later
+ */
+
+namespace OCA\Files_Sharing\Event;
+
+use OCP\EventDispatcher\Event;
+use OCP\Share\IShare;
+
+class ShareLinkAccessedEvent extends Event {
+ public function __construct(
+ private IShare $share,
+ private string $step = '',
+ private int $errorCode = 200,
+ private string $errorMessage = '',
+ ) {
+ parent::__construct();
+ }
+
+ public function getShare(): IShare {
+ return $this->share;
+ }
+
+ public function getStep(): string {
+ return $this->step;
+ }
+
+ public function getErrorCode(): int {
+ return $this->errorCode;
+ }
+
+ public function getErrorMessage(): string {
+ return $this->errorMessage;
+ }
+}
diff --git a/apps/files_sharing/lib/Event/ShareMountedEvent.php b/apps/files_sharing/lib/Event/ShareMountedEvent.php
new file mode 100644
index 00000000000..0f56873cb2c
--- /dev/null
+++ b/apps/files_sharing/lib/Event/ShareMountedEvent.php
@@ -0,0 +1,39 @@
+<?php
+
+declare(strict_types=1);
+/**
+ * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-License-Identifier: AGPL-3.0-or-later
+ */
+
+namespace OCA\Files_Sharing\Event;
+
+use OCA\Files_Sharing\SharedMount;
+use OCP\EventDispatcher\Event;
+use OCP\Files\Mount\IMountPoint;
+
+class ShareMountedEvent extends Event {
+ /** @var IMountPoint[] */
+ private $additionalMounts = [];
+
+ public function __construct(
+ private SharedMount $mount,
+ ) {
+ parent::__construct();
+ }
+
+ public function getMount(): SharedMount {
+ return $this->mount;
+ }
+
+ public function addAdditionalMount(IMountPoint $mountPoint): void {
+ $this->additionalMounts[] = $mountPoint;
+ }
+
+ /**
+ * @return IMountPoint[]
+ */
+ public function getAdditionalMounts(): array {
+ return $this->additionalMounts;
+ }
+}