Code Duplication    Length = 12-12 lines in 4 locations

src/Traits/HasPermissions.php 4 locations

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