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;
|
namespace Blax\Roles\Models;
|
||||||
|
|
||||||
|
use Illuminate\Database\Eloquent\Concerns\HasUuids;
|
||||||
use Illuminate\Database\Eloquent\Model;
|
use Illuminate\Database\Eloquent\Model;
|
||||||
|
|
||||||
class Access extends Model
|
class Access extends Model
|
||||||
{
|
{
|
||||||
|
use HasUuids;
|
||||||
protected $fillable = [
|
protected $fillable = [
|
||||||
'entity_id',
|
'entity_id',
|
||||||
'entity_type',
|
'entity_type',
|
||||||
|
|
|
||||||
|
|
@ -3,11 +3,12 @@
|
||||||
namespace Blax\Roles\Models;
|
namespace Blax\Roles\Models;
|
||||||
|
|
||||||
use Blax\Roles\Traits\HasAccess;
|
use Blax\Roles\Traits\HasAccess;
|
||||||
|
use Illuminate\Database\Eloquent\Concerns\HasUuids;
|
||||||
use Illuminate\Database\Eloquent\Model;
|
use Illuminate\Database\Eloquent\Model;
|
||||||
|
|
||||||
class Permission extends Model
|
class Permission extends Model
|
||||||
{
|
{
|
||||||
use HasAccess;
|
use HasAccess, HasUuids;
|
||||||
protected $fillable = [
|
protected $fillable = [
|
||||||
'slug',
|
'slug',
|
||||||
'description',
|
'description',
|
||||||
|
|
|
||||||
|
|
@ -3,11 +3,12 @@
|
||||||
namespace Blax\Roles\Models;
|
namespace Blax\Roles\Models;
|
||||||
|
|
||||||
use Blax\Roles\Traits\WillExpire;
|
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 = [
|
protected $fillable = [
|
||||||
'permission_id',
|
'permission_id',
|
||||||
|
|
|
||||||
|
|
@ -2,10 +2,12 @@
|
||||||
|
|
||||||
namespace Blax\Roles\Models;
|
namespace Blax\Roles\Models;
|
||||||
|
|
||||||
|
use Illuminate\Database\Eloquent\Concerns\HasUuids;
|
||||||
use Illuminate\Database\Eloquent\Model;
|
use Illuminate\Database\Eloquent\Model;
|
||||||
|
|
||||||
class PermissionUsage extends Model
|
class PermissionUsage extends Model
|
||||||
{
|
{
|
||||||
|
use HasUuids;
|
||||||
protected $fillable = [
|
protected $fillable = [
|
||||||
'permission_id',
|
'permission_id',
|
||||||
'usage',
|
'usage',
|
||||||
|
|
|
||||||
|
|
@ -3,11 +3,12 @@
|
||||||
namespace Blax\Roles\Models;
|
namespace Blax\Roles\Models;
|
||||||
|
|
||||||
use Blax\Roles\Traits\HasPermissions;
|
use Blax\Roles\Traits\HasPermissions;
|
||||||
|
use Illuminate\Database\Eloquent\Concerns\HasUuids;
|
||||||
use Illuminate\Database\Eloquent\Model;
|
use Illuminate\Database\Eloquent\Model;
|
||||||
|
|
||||||
class Role extends Model
|
class Role extends Model
|
||||||
{
|
{
|
||||||
use HasPermissions;
|
use HasPermissions, HasUuids;
|
||||||
|
|
||||||
protected $fillable = [
|
protected $fillable = [
|
||||||
'parent_id',
|
'parent_id',
|
||||||
|
|
|
||||||
|
|
@ -3,11 +3,12 @@
|
||||||
namespace Blax\Roles\Models;
|
namespace Blax\Roles\Models;
|
||||||
|
|
||||||
use Blax\Roles\Traits\WillExpire;
|
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 = [
|
protected $fillable = [
|
||||||
'role_id',
|
'role_id',
|
||||||
|
|
|
||||||
|
|
@ -93,7 +93,7 @@ trait HasPermissions
|
||||||
config('roles.models.permission'),
|
config('roles.models.permission'),
|
||||||
'member',
|
'member',
|
||||||
config('roles.table_names.permission_member', 'permission_members')
|
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),
|
config('roles.models.role', \Blax\Roles\Models\Role::class),
|
||||||
'member',
|
'member',
|
||||||
$pivotTable
|
$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()
|
->withTimestamps()
|
||||||
->where(function ($q) use ($pivotTable) {
|
->where(function ($q) use ($pivotTable) {
|
||||||
$q->where($pivotTable . '.expires_at', '>', now())
|
$q->where($pivotTable . '.expires_at', '>', now())
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue