feat: switch models to UUIDs and use MorphPivot for role/permission members
This commit is contained in:
parent
46c01f1b06
commit
01cff931bc
|
|
@ -2,10 +2,12 @@
|
|||
|
||||
namespace Blax\Roles\Models;
|
||||
|
||||
use Illuminate\Database\Eloquent\Concerns\HasUuids;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
|
||||
class Access extends Model
|
||||
{
|
||||
use HasUuids;
|
||||
protected $fillable = [
|
||||
'entity_id',
|
||||
'entity_type',
|
||||
|
|
|
|||
|
|
@ -3,11 +3,12 @@
|
|||
namespace Blax\Roles\Models;
|
||||
|
||||
use Blax\Roles\Traits\HasAccess;
|
||||
use Illuminate\Database\Eloquent\Concerns\HasUuids;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
|
||||
class Permission extends Model
|
||||
{
|
||||
use HasAccess;
|
||||
use HasAccess, HasUuids;
|
||||
protected $fillable = [
|
||||
'slug',
|
||||
'description',
|
||||
|
|
|
|||
|
|
@ -3,11 +3,12 @@
|
|||
namespace Blax\Roles\Models;
|
||||
|
||||
use Blax\Roles\Traits\WillExpire;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
use Illuminate\Database\Eloquent\Concerns\HasUuids;
|
||||
use Illuminate\Database\Eloquent\Relations\MorphPivot;
|
||||
|
||||
class PermissionMember extends Model
|
||||
class PermissionMember extends MorphPivot
|
||||
{
|
||||
use WillExpire;
|
||||
use HasUuids, WillExpire;
|
||||
|
||||
protected $fillable = [
|
||||
'permission_id',
|
||||
|
|
|
|||
|
|
@ -2,10 +2,12 @@
|
|||
|
||||
namespace Blax\Roles\Models;
|
||||
|
||||
use Illuminate\Database\Eloquent\Concerns\HasUuids;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
|
||||
class PermissionUsage extends Model
|
||||
{
|
||||
use HasUuids;
|
||||
protected $fillable = [
|
||||
'permission_id',
|
||||
'usage',
|
||||
|
|
|
|||
|
|
@ -3,11 +3,12 @@
|
|||
namespace Blax\Roles\Models;
|
||||
|
||||
use Blax\Roles\Traits\HasPermissions;
|
||||
use Illuminate\Database\Eloquent\Concerns\HasUuids;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
|
||||
class Role extends Model
|
||||
{
|
||||
use HasPermissions;
|
||||
use HasPermissions, HasUuids;
|
||||
|
||||
protected $fillable = [
|
||||
'parent_id',
|
||||
|
|
|
|||
|
|
@ -3,11 +3,12 @@
|
|||
namespace Blax\Roles\Models;
|
||||
|
||||
use Blax\Roles\Traits\WillExpire;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
use Illuminate\Database\Eloquent\Concerns\HasUuids;
|
||||
use Illuminate\Database\Eloquent\Relations\MorphPivot;
|
||||
|
||||
class RoleMember extends Model
|
||||
class RoleMember extends MorphPivot
|
||||
{
|
||||
use WillExpire;
|
||||
use HasUuids, WillExpire;
|
||||
|
||||
protected $fillable = [
|
||||
'role_id',
|
||||
|
|
|
|||
|
|
@ -93,7 +93,7 @@ trait HasPermissions
|
|||
config('roles.models.permission'),
|
||||
'member',
|
||||
config('roles.table_names.permission_member', 'permission_members')
|
||||
);
|
||||
)->using(config('roles.models.permission_member', \Blax\Roles\Models\PermissionMember::class));
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -21,7 +21,8 @@ trait HasRoles
|
|||
config('roles.models.role', \Blax\Roles\Models\Role::class),
|
||||
'member',
|
||||
$pivotTable
|
||||
)->withPivot('expires_at', 'context', 'created_at', 'updated_at')
|
||||
)->using(config('roles.models.role_member', \Blax\Roles\Models\RoleMember::class))
|
||||
->withPivot('expires_at', 'context', 'created_at', 'updated_at')
|
||||
->withTimestamps()
|
||||
->where(function ($q) use ($pivotTable) {
|
||||
$q->where($pivotTable . '.expires_at', '>', now())
|
||||
|
|
|
|||
Loading…
Reference in New Issue