aboutsummaryrefslogtreecommitdiffstats
path: root/lib/public/Files
diff options
context:
space:
mode:
authorLouis Chemineau <louis@chmn.me>2023-11-29 19:05:35 +0100
committerLouis Chemineau <louis@chmn.me>2023-11-29 19:07:32 +0100
commit2f6a4bf4a157accf923db341f3b2836a3aead3c9 (patch)
treefd6b106dbfa24d1486ca3bb6ca291d937c46c4c4 /lib/public/Files
parentb213fc7c74e938358b2257e87ee5754b0d71ad4a (diff)
downloadnextcloud-server-2f6a4bf4a157accf923db341f3b2836a3aead3c9.tar.gz
nextcloud-server-2f6a4bf4a157accf923db341f3b2836a3aead3c9.zip
Synchronize operation on live photo files
Signed-off-by: Louis Chemineau <louis@chmn.me>
Diffstat (limited to 'lib/public/Files')
-rw-r--r--lib/public/Files/Events/Node/BeforeNodeDeletedEvent.php23
-rw-r--r--lib/public/Files/Events/Node/BeforeNodeRenamedEvent.php23
2 files changed, 46 insertions, 0 deletions
diff --git a/lib/public/Files/Events/Node/BeforeNodeDeletedEvent.php b/lib/public/Files/Events/Node/BeforeNodeDeletedEvent.php
index 316a30fadd8..dd29a39a279 100644
--- a/lib/public/Files/Events/Node/BeforeNodeDeletedEvent.php
+++ b/lib/public/Files/Events/Node/BeforeNodeDeletedEvent.php
@@ -25,8 +25,31 @@ declare(strict_types=1);
*/
namespace OCP\Files\Events\Node;
+use Exception;
+use OCP\Files\Node;
+
/**
* @since 20.0.0
*/
class BeforeNodeDeletedEvent extends AbstractNodeEvent {
+ /**
+ * @since 20.0.0
+ */
+ public function __construct(Node $node, private bool &$run) {
+ parent::__construct($node);
+ }
+
+ /**
+ * @since 28.0.0
+ * @return never
+ */
+ public function abortOperation(\Throwable $ex = null) {
+ $this->stopPropagation();
+ $this->run = false;
+ if ($ex !== null) {
+ throw $ex;
+ } else {
+ throw new Exception('Operation aborted');
+ }
+ }
}
diff --git a/lib/public/Files/Events/Node/BeforeNodeRenamedEvent.php b/lib/public/Files/Events/Node/BeforeNodeRenamedEvent.php
index efbef03e383..c6876666713 100644
--- a/lib/public/Files/Events/Node/BeforeNodeRenamedEvent.php
+++ b/lib/public/Files/Events/Node/BeforeNodeRenamedEvent.php
@@ -25,8 +25,31 @@ declare(strict_types=1);
*/
namespace OCP\Files\Events\Node;
+use Exception;
+use OCP\Files\Node;
+
/**
* @since 20.0.0
*/
class BeforeNodeRenamedEvent extends AbstractNodesEvent {
+ /**
+ * @since 20.0.0
+ */
+ public function __construct(Node $source, Node $target, private bool &$run) {
+ parent::__construct($source, $target);
+ }
+
+ /**
+ * @since 28.0.0
+ * @return never
+ */
+ public function abortOperation(\Throwable $ex = null) {
+ $this->stopPropagation();
+ $this->run = false;
+ if ($ex !== null) {
+ throw $ex;
+ } else {
+ throw new Exception('Operation aborted');
+ }
+ }
}