diff --git a/src/DeadboltService.php b/src/DeadboltService.php index 13b0c04..7b58fbf 100644 --- a/src/DeadboltService.php +++ b/src/DeadboltService.php @@ -67,7 +67,7 @@ public function all(): array /** * Get the permission descriptions. * - * @param array $permissions + * @param array|string $permissions */ public function describe(...$permissions): array { diff --git a/src/Traits/HasPermissions.php b/src/Traits/HasPermissions.php index 95a03f7..384ba73 100644 --- a/src/Traits/HasPermissions.php +++ b/src/Traits/HasPermissions.php @@ -4,6 +4,7 @@ namespace TPG\Deadbolt\Traits; +use Illuminate\Database\Eloquent\Builder; use TPG\Deadbolt\Facades\Deadbolt; use TPG\Deadbolt\User as DeadboltUser; @@ -13,4 +14,9 @@ public function permissions(): DeadboltUser { return Deadbolt::user($this); } + + public function scopeWithPermissions(Builder $builder, ...$permissions): Builder + { + return $builder->whereJsonContains('permissions', $permissions); + } }