Skip to content

Commit b817bae

Browse files
committed
refactor
1 parent 5eca21c commit b817bae

File tree

2 files changed

+8
-28
lines changed

2 files changed

+8
-28
lines changed

src/Traits/HasPermissions.php

+4-15
Original file line numberDiff line numberDiff line change
@@ -15,15 +15,14 @@ trait HasPermissions
1515
*/
1616
public function givePermissionTo(...$permissions)
1717
{
18-
collect($permissions)
18+
$permissions = collect($permissions)
1919
->flatten()
2020
->map(function ($permission) {
2121
return $this->getStoredPermission($permission);
22-
})
23-
->each(function (Permission $permission) {
24-
return $this->permissions()->save($permission);
2522
});
2623

24+
$this->permissions()->saveMany($permissions);
25+
2726
$this->forgetCachedPermissions();
2827

2928
return $this;
@@ -40,17 +39,7 @@ public function syncPermissions(...$permissions)
4039
{
4140
$this->permissions()->detach();
4241

43-
collect($permissions)
44-
->flatten()
45-
->map(function ($permission) {
46-
return $this->getStoredPermission($permission);
47-
})->each(function (Permission $permission) {
48-
$this->permissions()->save($permission);
49-
});
50-
51-
$this->forgetCachedPermissions();
52-
53-
return $this;
42+
return $this->givePermissionTo($permissions);
5443
}
5544

5645
/**

src/Traits/HasRoles.php

+4-13
Original file line numberDiff line numberDiff line change
@@ -45,15 +45,14 @@ public function permissions()
4545
*/
4646
public function assignRole(...$roles)
4747
{
48-
collect($roles)
48+
$roles = collect($roles)
4949
->flatten()
5050
->map(function ($role) {
5151
return $this->getStoredRole($role);
52-
})
53-
->each(function (Role $role) {
54-
return $this->roles()->save($role);
5552
});
5653

54+
$this->roles()->saveMany($roles);
55+
5756
$this->forgetCachedPermissions();
5857

5958
return $this;
@@ -80,15 +79,7 @@ public function syncRoles(...$roles)
8079
{
8180
$this->roles()->detach();
8281

83-
collect($roles)
84-
->flatten()
85-
->map(function ($role) {
86-
return $this->getStoredRole($role);
87-
})->each(function (Role $role) {
88-
$this->roles()->save($role);
89-
});
90-
91-
return $this;
82+
return $this->assignRole($roles);
9283
}
9384

9485
/**

0 commit comments

Comments
 (0)