]> BookStack Code Mirror - bookstack/blobdiff - app/Actions/ActivityService.php
Started widening of activity logging
[bookstack] / app / Actions / ActivityService.php
index fb4a739cd27dbcedcef17e23b759f0747f3ab3ce..0b3b0f0bca24d640f2063f2b47e8e4fcf5a5fae1 100644 (file)
@@ -5,6 +5,7 @@ use BookStack\Auth\User;
 use BookStack\Entities\Chapter;
 use BookStack\Entities\Entity;
 use BookStack\Entities\Page;
+use BookStack\Interfaces\Loggable;
 use Illuminate\Database\Eloquent\Builder;
 use Illuminate\Database\Eloquent\Relations\Relation;
 use Illuminate\Support\Facades\Log;
@@ -30,6 +31,22 @@ class ActivityService
         $this->setNotification($type);
     }
 
+    /**
+     * Add a generic activity event to the database.
+     * @param string|Loggable $detail
+     */
+    public function add(string $type, $detail = '')
+    {
+        if ($detail instanceof Loggable) {
+            $detail = $detail->logDescriptor();
+        }
+
+        $activity = $this->newActivityForUser($type);
+        $activity->detail = $detail;
+        $activity->save();
+        $this->setNotification($type);
+    }
+
     /**
      * Get a new activity instance for the current user.
      */