Code Duplication    Length = 12-12 lines in 4 locations

src/Traits/HasPermissions.php 4 locations

@@ 215-226 (lines=12) @@
212
     * @return bool
213
     * @throws \Exception
214
     */
215
    public function hasAnyPermission(...$permissions): bool
216
    {
217
        $permissions = collect($permissions)->flatten();
218
219
        foreach ($permissions as $permission) {
220
            if ($this->checkPermissionTo($permission)) {
221
                return true;
222
            }
223
        }
224
225
        return false;
226
    }
227
228
    /**
229
     * Determine if the model has all of the given permissions.
@@ 236-247 (lines=12) @@
233
     * @return bool
234
     * @throws \Exception
235
     */
236
    public function hasAllPermissions(...$permissions): bool
237
    {
238
        $permissions = collect($permissions)->flatten();
239
240
        foreach ($permissions as $permission) {
241
            if (! $this->hasPermissionTo($permission)) {
242
                return false;
243
            }
244
        }
245
246
        return true;
247
    }
248
249
    /**
250
     * Determine if the model has, via roles, the given permission.
@@ 466-477 (lines=12) @@
463
     * @param array ...$permissions
464
     * @return bool
465
     */
466
    public function hasAllDirectPermissions(...$permissions): bool
467
    {
468
        $permissions = collect($permissions)->flatten();
469
470
        foreach ($permissions as $permission) {
471
            if (! $this->hasDirectPermission($permission)) {
472
                return false;
473
            }
474
        }
475
476
        return true;
477
    }
478
479
    /**
480
     * Check if the model has Any of the requested Direct permissions.
@@ 484-495 (lines=12) @@
481
     * @param array ...$permissions
482
     * @return bool
483
     */
484
    public function hasAnyDirectPermission(...$permissions): bool
485
    {
486
        $permissions = collect($permissions)->flatten();
487
488
        foreach ($permissions as $permission) {
489
            if ($this->hasDirectPermission($permission)) {
490
                return true;
491
            }
492
        }
493
494
        return false;
495
    }
496
}
497