Skip to content

Commit 6156ca2

Browse files
committed
remove duplication
1 parent 7896a67 commit 6156ca2

File tree

3 files changed

+16
-10
lines changed

3 files changed

+16
-10
lines changed

src/Helpers.php

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -132,4 +132,15 @@ public function checkVersion(): bool
132132
{
133133
return ($this->isNotLumen() && app()::VERSION < '5.4');
134134
}
135+
136+
/**
137+
* @param array $items
138+
* @return array
139+
*/
140+
public function flattenArray(array $items): array
141+
{
142+
return collect($items)->map(function($item) {
143+
return is_string($item) ? explode('|', $item): $item;
144+
})->flatten()->all();
145+
}
135146
}

src/Traits/HasPermissions.php

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -291,11 +291,8 @@ public function hasAnyPermission(...$permissions): bool
291291
*/
292292
public function hasAllPermissions(... $permissions): bool
293293
{
294-
$permissions = collect($permissions)->flatten()->all();
295-
296-
if (is_array($permissions) && count($permissions) === 1) {
297-
$permissions = explode('|', $permissions[0]);
298-
}
294+
$helpers = new Helpers();
295+
$permissions = $helpers->flattenArray($permissions);
299296

300297
foreach ($permissions as $permission) {
301298
if (!$this->hasPermissionTo($permission)) {

src/Traits/HasRoles.php

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
use Jenssegers\Mongodb\Eloquent\Builder;
77
use Jenssegers\Mongodb\Eloquent\Model;
88
use Maklad\Permission\Contracts\RoleInterface as Role;
9+
use Maklad\Permission\Helpers;
910
use Maklad\Permission\PermissionRegistrar;
1011
use ReflectionException;
1112

@@ -169,11 +170,8 @@ public function hasAnyRole($roles): bool
169170
*/
170171
public function hasAllRoles(... $roles): bool
171172
{
172-
$roles = collect($roles)->flatten()->all();
173-
174-
if (is_array($roles) && count($roles) === 1) {
175-
$roles = explode('|', $roles[0]);
176-
}
173+
$helpers = new Helpers();
174+
$roles = $helpers->flattenArray($roles);
177175

178176
foreach ($roles as $role) {
179177
if (!$this->hasRole($role)) {

0 commit comments

Comments
 (0)