@@ -163,7 +163,7 @@ public function getPermissionsViaRoles(): BaseCollection
163163 /**
164164 * Check if the owner has a specific permission.
165165 */
166- public function hasPermission (BackedEnum |int |string | UnitEnum $ permission ): bool
166+ public function hasPermission (UnitEnum |int |string $ permission ): bool
167167 {
168168 // First check if there's a direct forbidden permission - this takes highest priority
169169 if ($ this ->hasForbiddenPermission ($ permission )) {
@@ -181,7 +181,7 @@ public function hasPermission(BackedEnum|int|string|UnitEnum $permission): bool
181181 /**
182182 * Check if the owner has a direct permission.
183183 */
184- public function hasDirectPermission (BackedEnum |int |string | UnitEnum $ permission ): bool
184+ public function hasDirectPermission (UnitEnum |int |string $ permission ): bool
185185 {
186186 $ ownerPermissions = $ this ->getCachedPermissions ();
187187
@@ -196,7 +196,7 @@ public function hasDirectPermission(BackedEnum|int|string|UnitEnum $permission):
196196 /**
197197 * Check if the owner has permission via roles.
198198 */
199- public function hasPermissionViaRoles (BackedEnum |int |string | UnitEnum $ permission ): bool
199+ public function hasPermissionViaRoles (UnitEnum |int |string $ permission ): bool
200200 {
201201 if (is_a ($ this ->getOwnerType (), Role::class, true )) {
202202 return false ;
@@ -233,7 +233,7 @@ public function hasPermissionViaRoles(BackedEnum|int|string|UnitEnum $permission
233233 /**
234234 * Check if the owner has any of the specified permissions.
235235 */
236- public function hasAnyPermissions (array |BackedEnum |int |string | UnitEnum ...$ permissions ): bool
236+ public function hasAnyPermissions (array |UnitEnum |int |string ...$ permissions ): bool
237237 {
238238 return BaseCollection::make ($ permissions )->flatten ()->some (
239239 fn ($ permission ) => $ this ->hasPermission ($ permission )
@@ -243,7 +243,7 @@ public function hasAnyPermissions(array|BackedEnum|int|string|UnitEnum ...$permi
243243 /**
244244 * Check if the owner has all of the specified permissions.
245245 */
246- public function hasAllPermissions (array |BackedEnum |int |string | UnitEnum ...$ permissions ): bool
246+ public function hasAllPermissions (array |UnitEnum |int |string ...$ permissions ): bool
247247 {
248248 return BaseCollection::make ($ permissions )->flatten ()->every (
249249 fn ($ permission ) => $ this ->hasPermission ($ permission )
@@ -253,7 +253,7 @@ public function hasAllPermissions(array|BackedEnum|int|string|UnitEnum ...$permi
253253 /**
254254 * Check if the owner has all direct permissions.
255255 */
256- public function hasAllDirectPermissions (array |BackedEnum |int |string | UnitEnum ...$ permissions ): bool
256+ public function hasAllDirectPermissions (array |UnitEnum |int |string ...$ permissions ): bool
257257 {
258258 return BaseCollection::make ($ permissions )->flatten ()->every (
259259 fn ($ permission ) => $ this ->hasDirectPermission ($ permission )
@@ -263,7 +263,7 @@ public function hasAllDirectPermissions(array|BackedEnum|int|string|UnitEnum ...
263263 /**
264264 * Check if the owner has any direct permissions.
265265 */
266- public function hasAnyDirectPermissions (array |BackedEnum |int |string | UnitEnum ...$ permissions ): bool
266+ public function hasAnyDirectPermissions (array |UnitEnum |int |string ...$ permissions ): bool
267267 {
268268 return BaseCollection::make ($ permissions )->flatten ()->some (
269269 fn ($ permission ) => $ this ->hasDirectPermission ($ permission )
@@ -273,7 +273,7 @@ public function hasAnyDirectPermissions(array|BackedEnum|int|string|UnitEnum ...
273273 /**
274274 * Give permission to the owner.
275275 */
276- public function givePermissionTo (array |BackedEnum |int |string | UnitEnum ...$ permissions ): static
276+ public function givePermissionTo (array |UnitEnum |int |string ...$ permissions ): static
277277 {
278278 $ result = $ this ->attachPermission ($ permissions );
279279 if (is_a ($ this ->getOwnerType (), Role::class, true )) {
@@ -291,7 +291,7 @@ public function givePermissionTo(array|BackedEnum|int|string|UnitEnum ...$permis
291291 /**
292292 * Give forbidden permission to the owner.
293293 */
294- public function giveForbiddenTo (array |BackedEnum |int |string | UnitEnum ...$ permissions ): static
294+ public function giveForbiddenTo (array |UnitEnum |int |string ...$ permissions ): static
295295 {
296296 $ result = $ this ->attachPermission ($ permissions , true );
297297 if (is_a ($ this ->getOwnerType (), Role::class, true )) {
@@ -309,7 +309,7 @@ public function giveForbiddenTo(array|BackedEnum|int|string|UnitEnum ...$permiss
309309 /**
310310 * Revoke permission from the owner.
311311 */
312- public function revokePermissionTo (array |BackedEnum |int |string | UnitEnum ...$ permissions ): static
312+ public function revokePermissionTo (array |UnitEnum |int |string ...$ permissions ): static
313313 {
314314 $ detachPermissions = $ this ->collectPermissions ($ permissions );
315315
@@ -330,8 +330,8 @@ public function revokePermissionTo(array|BackedEnum|int|string|UnitEnum ...$perm
330330 /**
331331 * Synchronize the owner's permissions with the given permission list.
332332 *
333- * @param array<BackedEnum| int|string|UnitEnum> $allowPermissions
334- * @param array<BackedEnum| int|string|UnitEnum> $forbiddenPermissions
333+ * @param array<int|string|UnitEnum> $allowPermissions
334+ * @param array<int|string|UnitEnum> $forbiddenPermissions
335335 */
336336 public function syncPermissions (array $ allowPermissions = [], array $ forbiddenPermissions = []): array
337337 {
@@ -365,7 +365,7 @@ public function syncPermissions(array $allowPermissions = [], array $forbiddenPe
365365 /**
366366 * Normalize permission value to field and value pair.
367367 */
368- private function normalizePermissionValue (BackedEnum |int |string | UnitEnum $ permission ): array
368+ private function normalizePermissionValue (UnitEnum |int |string $ permission ): array
369369 {
370370 $ value = $ this ->extractPermissionValue ($ permission );
371371 $ isId = $ this ->isPermissionIdType ($ permission );
@@ -378,7 +378,7 @@ private function normalizePermissionValue(BackedEnum|int|string|UnitEnum $permis
378378 /**
379379 * Extract the actual value from a permission of any supported type.
380380 */
381- private function extractPermissionValue (BackedEnum |int |string | UnitEnum $ permission ): int |string
381+ private function extractPermissionValue (UnitEnum |int |string $ permission ): int |string
382382 {
383383 return match (true ) {
384384 $ permission instanceof BackedEnum => $ permission ->value ,
@@ -390,7 +390,7 @@ private function extractPermissionValue(BackedEnum|int|string|UnitEnum $permissi
390390 /**
391391 * Check if the permission should be treated as an ID (int) rather than name (string).
392392 */
393- private function isPermissionIdType (BackedEnum |int |string | UnitEnum $ permission ): bool
393+ private function isPermissionIdType (UnitEnum |int |string $ permission ): bool
394394 {
395395 return match (true ) {
396396 is_int ($ permission ) => true ,
@@ -403,7 +403,7 @@ private function isPermissionIdType(BackedEnum|int|string|UnitEnum $permission):
403403 /**
404404 * Separate permissions array into IDs and names collections.
405405 *
406- * @param array<BackedEnum| int|string|UnitEnum> $permissions
406+ * @param array<int|string|UnitEnum> $permissions
407407 */
408408 private function separatePermissionsByType (array $ permissions ): array
409409 {
@@ -426,7 +426,7 @@ private function separatePermissionsByType(array $permissions): array
426426 /**
427427 * Attach permission to the owner.
428428 *
429- * @param array<BackedEnum| int|string|UnitEnum> $permissions
429+ * @param array<int|string|UnitEnum> $permissions
430430 */
431431 private function attachPermission (array $ permissions , bool $ isForbidden = false ): static
432432 {
@@ -454,7 +454,7 @@ private function attachPermission(array $permissions, bool $isForbidden = false)
454454 /**
455455 * Check if the owner has a forbidden permission.
456456 */
457- public function hasForbiddenPermission (BackedEnum |int |string | UnitEnum $ permission ): bool
457+ public function hasForbiddenPermission (UnitEnum |int |string $ permission ): bool
458458 {
459459 $ ownerPermissions = $ this ->getCachedPermissions ();
460460
@@ -469,7 +469,7 @@ public function hasForbiddenPermission(BackedEnum|int|string|UnitEnum $permissio
469469 /**
470470 * Check if the owner has a forbidden permission via roles.
471471 */
472- public function hasForbiddenPermissionViaRoles (BackedEnum |int |string | UnitEnum $ permission ): bool
472+ public function hasForbiddenPermissionViaRoles (UnitEnum |int |string $ permission ): bool
473473 {
474474 // @phpstan-ignore function.alreadyNarrowedType (trait used by both Role and non-Role models)
475475 if (is_a (static ::class, Role::class, true )) {
@@ -506,7 +506,7 @@ public function hasForbiddenPermissionViaRoles(BackedEnum|int|string|UnitEnum $p
506506 /**
507507 * Returns array of permission ids.
508508 */
509- private function collectPermissions (array |BackedEnum |int |string | UnitEnum ...$ permissions ): array
509+ private function collectPermissions (array |UnitEnum |int |string ...$ permissions ): array
510510 {
511511 if (empty ($ permissions )) {
512512 return [];
0 commit comments