rajtika/mongovity

带有mongodb的应用活动日志

dev-master 2024-02-20 12:55 UTC

This package is auto-updated.

Last update: 2024-09-20 14:21:03 UTC


README

需求

  • jenssegers/laravel-mongodb
  • php mongodb 扩展
  • php7.4 或更高版本

安装

  • composer require rajtika/mongovity
  • php artisan vendor:publish --provider="Rajtika\Mongovity\MongovityServiceProvider"

实现

  • 在 mongovity.php 配置文件中设置您的 mongodb 连接并给出连接名称
  • 如果您想自动记录所有模型活动,请按照以下说明操作
//Add ActivityTrait in you model which you want to log
use Rajtika\Mongovity\Contracts\ActivityTrait;

//You can define specefic events to be logged by
protected $recordEvents = [
    'created',
    'updated',
    'deleted',
    'restored'
];
/** -----------OR--------- **/
protected $loggableEvents = [
    'created',
    'updated',
    'deleted',
    'restored'
];

//If you want to save your custom activity log
use Rajtika\Mongovity\Services\Mongovity; //Use this service

    app(Mongovity::class)
    ->by(Auth::user()) //Required *
    ->on(TestModel::find(1)) // optional
    ->event('created') // optional
    ->log('Your custom message');
    
    /** OR **/
    use Rajtika\Mongovity\Facades\Mongovity; // use this facade
    Mongovity::by(User::first())->log("Custom message");

//If your user table has first_name and last_name you have to use this method to log the user name
public function getNameAttribute()
{
    return $this->first_name . ' ' . $this->last_name;
}

//If your user table has column other than "mobile" you need to add this method
public function getMobileAttribute()
{
    return $this->mobile_number;
}

If you want to give permission to activity log to any user, you must assing role "admin" or assign permission "activity_logs" to that user