deps: add spatie/laravel-activitylog for activity logging. Publish migration and config.
This commit is contained in:
parent
3c6e4bf4bd
commit
0a2786165e
@ -18,6 +18,7 @@
|
|||||||
"livewire/livewire": "^4.3",
|
"livewire/livewire": "^4.3",
|
||||||
"mallardduck/blade-lucide-icons": "^1.26",
|
"mallardduck/blade-lucide-icons": "^1.26",
|
||||||
"robsontenorio/mary": "^2.8",
|
"robsontenorio/mary": "^2.8",
|
||||||
|
"spatie/laravel-activitylog": "^5.0",
|
||||||
"spatie/laravel-data": "^4.22",
|
"spatie/laravel-data": "^4.22",
|
||||||
"spatie/laravel-permission": "^7.4"
|
"spatie/laravel-permission": "^7.4"
|
||||||
},
|
},
|
||||||
|
|||||||
95
composer.lock
generated
95
composer.lock
generated
@ -4,7 +4,7 @@
|
|||||||
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
|
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
|
||||||
"This file is @generated automatically"
|
"This file is @generated automatically"
|
||||||
],
|
],
|
||||||
"content-hash": "7577845aa94ea516fed5c9799f4ee08b",
|
"content-hash": "6d4834c76186a2f92aab113181f1989b",
|
||||||
"packages": [
|
"packages": [
|
||||||
{
|
{
|
||||||
"name": "bacon/bacon-qr-code",
|
"name": "bacon/bacon-qr-code",
|
||||||
@ -4744,6 +4744,99 @@
|
|||||||
],
|
],
|
||||||
"time": "2026-04-17T13:40:53+00:00"
|
"time": "2026-04-17T13:40:53+00:00"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "spatie/laravel-activitylog",
|
||||||
|
"version": "5.0.0",
|
||||||
|
"source": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/spatie/laravel-activitylog.git",
|
||||||
|
"reference": "0e00fe74fd071cc572a045459f6d4c9de33130bd"
|
||||||
|
},
|
||||||
|
"dist": {
|
||||||
|
"type": "zip",
|
||||||
|
"url": "https://api.github.com/repos/spatie/laravel-activitylog/zipball/0e00fe74fd071cc572a045459f6d4c9de33130bd",
|
||||||
|
"reference": "0e00fe74fd071cc572a045459f6d4c9de33130bd",
|
||||||
|
"shasum": ""
|
||||||
|
},
|
||||||
|
"require": {
|
||||||
|
"illuminate/config": "^12.0 || ^13.0",
|
||||||
|
"illuminate/database": "^12.0 || ^13.0",
|
||||||
|
"illuminate/support": "^12.0 || ^13.0",
|
||||||
|
"php": "^8.4",
|
||||||
|
"spatie/laravel-package-tools": "^1.6.3"
|
||||||
|
},
|
||||||
|
"require-dev": {
|
||||||
|
"ext-json": "*",
|
||||||
|
"larastan/larastan": "^3.0",
|
||||||
|
"laravel/pint": "^1.29",
|
||||||
|
"orchestra/testbench": "^10.0 || ^11.0",
|
||||||
|
"pestphp/pest": "^4.0"
|
||||||
|
},
|
||||||
|
"type": "library",
|
||||||
|
"extra": {
|
||||||
|
"laravel": {
|
||||||
|
"providers": [
|
||||||
|
"Spatie\\Activitylog\\ActivitylogServiceProvider"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"autoload": {
|
||||||
|
"files": [
|
||||||
|
"src/helpers.php"
|
||||||
|
],
|
||||||
|
"psr-4": {
|
||||||
|
"Spatie\\Activitylog\\": "src"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"notification-url": "https://packagist.org/downloads/",
|
||||||
|
"license": [
|
||||||
|
"MIT"
|
||||||
|
],
|
||||||
|
"authors": [
|
||||||
|
{
|
||||||
|
"name": "Freek Van der Herten",
|
||||||
|
"email": "freek@spatie.be",
|
||||||
|
"homepage": "https://spatie.be",
|
||||||
|
"role": "Developer"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Sebastian De Deyne",
|
||||||
|
"email": "sebastian@spatie.be",
|
||||||
|
"homepage": "https://spatie.be",
|
||||||
|
"role": "Developer"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Tom Witkowski",
|
||||||
|
"email": "dev.gummibeer@gmail.com",
|
||||||
|
"homepage": "https://gummibeer.de",
|
||||||
|
"role": "Developer"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"description": "A very simple activity logger to monitor the users of your website or application",
|
||||||
|
"homepage": "https://github.com/spatie/activitylog",
|
||||||
|
"keywords": [
|
||||||
|
"activity",
|
||||||
|
"laravel",
|
||||||
|
"log",
|
||||||
|
"spatie",
|
||||||
|
"user"
|
||||||
|
],
|
||||||
|
"support": {
|
||||||
|
"issues": "https://github.com/spatie/laravel-activitylog/issues",
|
||||||
|
"source": "https://github.com/spatie/laravel-activitylog/tree/5.0.0"
|
||||||
|
},
|
||||||
|
"funding": [
|
||||||
|
{
|
||||||
|
"url": "https://spatie.be/open-source/support-us",
|
||||||
|
"type": "custom"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"url": "https://github.com/spatie",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"time": "2026-03-25T10:04:54+00:00"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "spatie/laravel-data",
|
"name": "spatie/laravel-data",
|
||||||
"version": "4.23.0",
|
"version": "4.23.0",
|
||||||
|
|||||||
73
config/activitylog.php
Normal file
73
config/activitylog.php
Normal file
@ -0,0 +1,73 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
use Spatie\Activitylog\Actions\CleanActivityLogAction;
|
||||||
|
use Spatie\Activitylog\Actions\LogActivityAction;
|
||||||
|
use Spatie\Activitylog\Models\Activity;
|
||||||
|
|
||||||
|
return [
|
||||||
|
|
||||||
|
/*
|
||||||
|
* If set to false, no activities will be saved to the database.
|
||||||
|
*/
|
||||||
|
'enabled' => env('ACTIVITYLOG_ENABLED', true),
|
||||||
|
|
||||||
|
/*
|
||||||
|
* When the clean command is executed, all recording activities older than
|
||||||
|
* the number of days specified here will be deleted.
|
||||||
|
*/
|
||||||
|
'clean_after_days' => 365,
|
||||||
|
|
||||||
|
/*
|
||||||
|
* If no log name is passed to the activity() helper
|
||||||
|
* we use this default log name.
|
||||||
|
*/
|
||||||
|
'default_log_name' => 'default',
|
||||||
|
|
||||||
|
/*
|
||||||
|
* You can specify an auth driver here that gets user models.
|
||||||
|
* If this is null we'll use the current Laravel auth driver.
|
||||||
|
*/
|
||||||
|
'default_auth_driver' => null,
|
||||||
|
|
||||||
|
/*
|
||||||
|
* If set to true, the subject relationship on activities
|
||||||
|
* will include soft deleted models.
|
||||||
|
*/
|
||||||
|
'include_soft_deleted_subjects' => false,
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This model will be used to log activity.
|
||||||
|
* It should implement the Spatie\Activitylog\Contracts\Activity interface
|
||||||
|
* and extend Illuminate\Database\Eloquent\Model.
|
||||||
|
*/
|
||||||
|
'activity_model' => Activity::class,
|
||||||
|
|
||||||
|
/*
|
||||||
|
* These attributes will be excluded from logging for all models.
|
||||||
|
* Model-specific exclusions via logExcept() are merged with these.
|
||||||
|
*/
|
||||||
|
'default_except_attributes' => [],
|
||||||
|
|
||||||
|
/*
|
||||||
|
* When enabled, activities are buffered in memory and inserted in a
|
||||||
|
* single bulk query after the response has been sent to the client.
|
||||||
|
* This can significantly reduce the number of database queries when
|
||||||
|
* many activities are logged during a single request.
|
||||||
|
*
|
||||||
|
* Only enable this if your application logs a high volume of activities
|
||||||
|
* per request. Buffered activities will not have an ID until the
|
||||||
|
* buffer is flushed.
|
||||||
|
*/
|
||||||
|
'buffer' => [
|
||||||
|
'enabled' => env('ACTIVITYLOG_BUFFER_ENABLED', false),
|
||||||
|
],
|
||||||
|
|
||||||
|
/*
|
||||||
|
* These action classes can be overridden to customize how activities
|
||||||
|
* are logged and cleaned. Your custom classes must extend the originals.
|
||||||
|
*/
|
||||||
|
'actions' => [
|
||||||
|
'log_activity' => LogActivityAction::class,
|
||||||
|
'clean_log' => CleanActivityLogAction::class,
|
||||||
|
],
|
||||||
|
];
|
||||||
@ -0,0 +1,23 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
use Illuminate\Database\Migrations\Migration;
|
||||||
|
use Illuminate\Database\Schema\Blueprint;
|
||||||
|
use Illuminate\Support\Facades\Schema;
|
||||||
|
|
||||||
|
return new class extends Migration
|
||||||
|
{
|
||||||
|
public function up(): void
|
||||||
|
{
|
||||||
|
Schema::create('activity_log', function (Blueprint $table) {
|
||||||
|
$table->id();
|
||||||
|
$table->string('log_name')->nullable()->index();
|
||||||
|
$table->text('description');
|
||||||
|
$table->nullableMorphs('subject', 'subject');
|
||||||
|
$table->string('event')->nullable();
|
||||||
|
$table->nullableMorphs('causer', 'causer');
|
||||||
|
$table->json('attribute_changes')->nullable();
|
||||||
|
$table->json('properties')->nullable();
|
||||||
|
$table->timestamps();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
};
|
||||||
Loading…
x
Reference in New Issue
Block a user