Code Duplication    Length = 12-12 lines in 4 locations

src/Traits/HasPermissions.php 4 locations

@@ 204-215 (lines=12) @@
201
     * @return bool
202
     * @throws \Exception
203
     */
204
    public function hasAnyPermission(...$permissions): bool
205
    {
206
        $permissions = collect($permissions)->flatten();
207
208
        foreach ($permissions as $permission) {
209
            if ($this->checkPermissionTo($permission)) {
210
                return true;
211
            }
212
        }
213
214
        return false;
215
    }
216
217
    /**
218
     * Determine if the model has all of the given permissions.
@@ 225-236 (lines=12) @@
222
     * @return bool
223
     * @throws \Exception
224
     */
225
    public function hasAllPermissions(...$permissions): bool
226
    {
227
        $permissions = collect($permissions)->flatten();
228
229
        foreach ($permissions as $permission) {
230
            if (! $this->hasPermissionTo($permission)) {
231
                return false;
232
            }
233
        }
234
235
        return true;
236
    }
237
238
    /**
239
     * Determine if the model has, via roles, the given permission.
@@ 455-466 (lines=12) @@
452
     * @param array ...$permissions
453
     * @return bool
454
     */
455
    public function hasAllDirectPermissions(...$permissions): bool
456
    {
457
        $permissions = collect($permissions)->flatten();
458
459
        foreach ($permissions as $permission) {
460
            if (! $this->hasDirectPermission($permission)) {
461
                return false;
462
            }
463
        }
464
465
        return true;
466
    }
467
468
    /**
469
     * Check if the model has Any of the requested Direct permissions.
@@ 473-484 (lines=12) @@
470
     * @param array ...$permissions
471
     * @return bool
472
     */
473
    public function hasAnyDirectPermission(...$permissions): bool
474
    {
475
        $permissions = collect($permissions)->flatten();
476
477
        foreach ($permissions as $permission) {
478
            if ($this->hasDirectPermission($permission)) {
479
                return true;
480
            }
481
        }
482
483
        return false;
484
    }
485
}
486