forget cache permission when update role
WMS API/ERP-API/pipeline/head This commit looks good
Details
WMS API/ERP-API/pipeline/head This commit looks good
Details
This commit is contained in:
parent
43937cbb04
commit
346bc8513e
|
|
@ -26,6 +26,10 @@ class Role extends Model
|
|||
return $this->belongsToMany(Permission::class,"role_permission");
|
||||
}
|
||||
|
||||
public function users(){
|
||||
return $this->belongsToMany(Role::class,'user_role');
|
||||
}
|
||||
|
||||
public function getActivitylogOptions(): LogOptions
|
||||
{
|
||||
return LogOptions::defaults();
|
||||
|
|
|
|||
|
|
@ -57,6 +57,10 @@ class User extends Authenticatable
|
|||
return $this->belongsToMany(Role::class,'user_role')->with("permissions");
|
||||
}
|
||||
|
||||
public function forgetPermission(){
|
||||
Cache::forget("permission_".$this->id);
|
||||
}
|
||||
|
||||
public function getPermission(){
|
||||
$user = $this;
|
||||
return Cache::rememberForever("permission_".$this->id, function() use ($user){
|
||||
|
|
|
|||
|
|
@ -41,11 +41,20 @@ class RoleRepository
|
|||
if (@$params["permissions"]){
|
||||
$model->permissions()->sync($params["permissions"]);
|
||||
}
|
||||
|
||||
foreach($model->users as $user){
|
||||
$user->forgetPermission();
|
||||
}
|
||||
|
||||
return $model;
|
||||
}
|
||||
|
||||
public function delete($model){
|
||||
|
||||
foreach($model->users as $user){
|
||||
$user->forgetPermission();
|
||||
}
|
||||
|
||||
$model->delete();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -31,6 +31,8 @@ class UserRepository
|
|||
$user = User::create($params);
|
||||
if (@$params["roles"]){
|
||||
$user->roles()->sync($params["roles"]);
|
||||
|
||||
$user->forgetPermission();
|
||||
}
|
||||
return $user;
|
||||
}
|
||||
|
|
@ -40,6 +42,8 @@ class UserRepository
|
|||
$user->update($params);
|
||||
if (@$params["roles"]){
|
||||
$user->roles()->sync($params["roles"]);
|
||||
|
||||
$user->forgetPermission();
|
||||
}
|
||||
return $user;
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue