Allows a user to acquire a lock on a model, which prevents anyone else from being able to edit it.
You can install the package via composer:
composer require laravel-appkit/lockableAdd the AppKit\Lockable\Traits\Lockable trait to the model you want to set locks on
Add a locked_by integer column to the corresponding table. This can also be done using the lockable method on the migration.
<?php
namespace App\Models;
use AppKit\Lockable\Traits\Lockable;
use Illuminate\Database\Eloquent\Model;
class Article extends Model
{
use Lockable;
/**
* The attributes that are mass assignable.
*
* @var array
*/
protected $fillable = [
'title',
'body'
];
}To acquire a lock on a model, call the acquireLock method on it.
$article->acquireLock();To release the existing lock on a model, call the releaseLock method on it.
$article->releaseLock();composer testPlease see CHANGELOG for more information what has changed recently.
Please see CONTRIBUTING for details.
If you discover any security related issues, please email appkit-security@coutts.io instead of using the issue tracker.
Please see SECURITY for more details.
The MIT License (MIT). Please see License File for more information.