]> source.dussan.org Git - nextcloud-server.git/commitdiff
fix(admin_audit): Listen to the right events backport/48548/stable30 48551/head
authorCôme Chilliet <come.chilliet@nextcloud.com>
Thu, 3 Oct 2024 08:56:42 +0000 (10:56 +0200)
committerCôme Chilliet <come.chilliet@nextcloud.com>
Thu, 3 Oct 2024 14:19:30 +0000 (16:19 +0200)
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
apps/admin_audit/lib/Actions/Files.php
apps/admin_audit/lib/AppInfo/Application.php

index bba5b427aee968559053b8c1341c13c029d994c6..e31c4413f6bfe6be1306cfc35d4ac364b4fc7f73 100644 (file)
@@ -8,12 +8,11 @@ declare(strict_types=1);
 namespace OCA\AdminAudit\Actions;
 
 use OC\Files\Node\NonExistingFile;
+use OCP\Files\Events\Node\BeforeNodeDeletedEvent;
 use OCP\Files\Events\Node\BeforeNodeReadEvent;
 use OCP\Files\Events\Node\BeforeNodeRenamedEvent;
-use OCP\Files\Events\Node\BeforeNodeWrittenEvent;
 use OCP\Files\Events\Node\NodeCopiedEvent;
 use OCP\Files\Events\Node\NodeCreatedEvent;
-use OCP\Files\Events\Node\NodeDeletedEvent;
 use OCP\Files\Events\Node\NodeRenamedEvent;
 use OCP\Files\Events\Node\NodeWrittenEvent;
 use OCP\Files\InvalidPathException;
@@ -29,10 +28,9 @@ use Psr\Log\LoggerInterface;
 class Files extends Action {
 
        private array $renamedNodes = [];
+
        /**
         * Logs file read actions
-        *
-        * @param BeforeNodeReadEvent $event
         */
        public function read(BeforeNodeReadEvent $event): void {
                try {
@@ -56,8 +54,6 @@ class Files extends Action {
 
        /**
         * Logs rename actions of files
-        *
-        * @param BeforeNodeRenamedEvent $event
         */
        public function beforeRename(BeforeNodeRenamedEvent $event): void {
                try {
@@ -73,8 +69,6 @@ class Files extends Action {
 
        /**
         * Logs rename actions of files
-        *
-        * @param NodeRenamedEvent $event
         */
        public function afterRename(NodeRenamedEvent $event): void {
                try {
@@ -102,8 +96,6 @@ class Files extends Action {
 
        /**
         * Logs creation of files
-        *
-        * @param NodeCreatedEvent $event
         */
        public function create(NodeCreatedEvent $event): void {
                try {
@@ -129,8 +121,6 @@ class Files extends Action {
 
        /**
         * Logs copying of files
-        *
-        * @param NodeCopiedEvent $event
         */
        public function copy(NodeCopiedEvent $event): void {
                try {
@@ -155,14 +145,12 @@ class Files extends Action {
 
        /**
         * Logs writing of files
-        *
-        * @param BeforeNodeWrittenEvent $event
         */
-       public function write(BeforeNodeWrittenEvent $event): void {
+       public function write(NodeWrittenEvent $event): void {
                $node = $event->getNode();
                try {
                        $params = [
-                               'id' => $node instanceof NonExistingFile ? null : $node->getId(),
+                               'id' => $node->getId(),
                                'path' => mb_substr($node->getInternalPath(), 5),
                        ];
                } catch (InvalidPathException|NotFoundException $e) {
@@ -182,36 +170,10 @@ class Files extends Action {
                );
        }
 
-       /**
-        * Logs update of files
-        *
-        * @param NodeWrittenEvent $event
-        */
-       public function update(NodeWrittenEvent $event): void {
-               try {
-                       $params = [
-                               'id' => $event->getNode()->getId(),
-                               'path' => mb_substr($event->getNode()->getInternalPath(), 5),
-                       ];
-               } catch (InvalidPathException|NotFoundException $e) {
-                       \OCP\Server::get(LoggerInterface::class)->error(
-                               "Exception thrown in file update: ".$e->getMessage(), ['app' => 'admin_audit', 'exception' => $e]
-                       );
-                       return;
-               }
-               $this->log(
-                       'File with id "%s" updated: "%s"',
-                       $params,
-                       array_keys($params)
-               );
-       }
-
        /**
         * Logs deletions of files
-        *
-        * @param NodeDeletedEvent $event
         */
-       public function delete(NodeDeletedEvent $event): void {
+       public function delete(BeforeNodeDeletedEvent $event): void {
                try {
                        $params = [
                                'id' => $event->getNode()->getId(),
index 79c6640e2e223bb5decc82a62ac1dd9518e44f48..a95ba0e684a29ee451c65f860fd8d7a6884a8768 100644 (file)
@@ -32,12 +32,11 @@ use OCP\Authentication\TwoFactorAuth\TwoFactorProviderChallengeFailed;
 use OCP\Authentication\TwoFactorAuth\TwoFactorProviderChallengePassed;
 use OCP\Console\ConsoleEvent;
 use OCP\EventDispatcher\IEventDispatcher;
+use OCP\Files\Events\Node\BeforeNodeDeletedEvent;
 use OCP\Files\Events\Node\BeforeNodeReadEvent;
 use OCP\Files\Events\Node\BeforeNodeRenamedEvent;
-use OCP\Files\Events\Node\BeforeNodeWrittenEvent;
 use OCP\Files\Events\Node\NodeCopiedEvent;
 use OCP\Files\Events\Node\NodeCreatedEvent;
-use OCP\Files\Events\Node\NodeDeletedEvent;
 use OCP\Files\Events\Node\NodeRenamedEvent;
 use OCP\Files\Events\Node\NodeWrittenEvent;
 use OCP\IConfig;
@@ -217,17 +216,10 @@ class Application extends App implements IBootstrap {
                        }
                );
 
-               $eventDispatcher->addListener(
-                       BeforeNodeWrittenEvent::class,
-                       function (BeforeNodeWrittenEvent $event) use ($fileActions) {
-                               $fileActions->write($event);
-                       }
-               );
-
                $eventDispatcher->addListener(
                        NodeWrittenEvent::class,
-                       function (NodeWrittenEvent $event) use ($fileActions) {
-                               $fileActions->update($event);
+                       function (NodeWrittenEvent $event) use ($fileActions): void {
+                               $fileActions->write($event);
                        }
                );
 
@@ -239,8 +231,8 @@ class Application extends App implements IBootstrap {
                );
 
                $eventDispatcher->addListener(
-                       NodeDeletedEvent::class,
-                       function (NodeDeletedEvent $event) use ($fileActions) {
+                       BeforeNodeDeletedEvent::class,
+                       function (BeforeNodeDeletedEvent $event) use ($fileActions): void {
                                $fileActions->delete($event);
                        }
                );