use BookStack\Auth\Permissions\PermissionService;
use BookStack\Auth\User;
-use BookStack\Entities\Chapter;
-use BookStack\Entities\Entity;
-use BookStack\Entities\Page;
+use BookStack\Entities\Models\Chapter;
+use BookStack\Entities\Models\Entity;
+use BookStack\Entities\Models\Page;
+use BookStack\Interfaces\Loggable;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\Relations\Relation;
use Illuminate\Support\Facades\Log;
$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.
*/