Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Specified return type for PermissionResolver #328

Merged
merged 1 commit into from
Feb 5, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
40 changes: 0 additions & 40 deletions phpstan-baseline.neon
Original file line number Diff line number Diff line change
Expand Up @@ -6980,11 +6980,6 @@ parameters:
count: 1
path: src/contracts/Repository/PermissionCriterionResolver.php

-
message: "#^Method Ibexa\\\\Contracts\\\\Core\\\\Repository\\\\PermissionResolver\\:\\:hasAccess\\(\\) return type has no value type specified in iterable type array\\.$#"
count: 1
path: src/contracts/Repository/PermissionResolver.php

-
message: "#^Method Ibexa\\\\Contracts\\\\Core\\\\Repository\\\\SearchService\\:\\:findContent\\(\\) has parameter \\$languageFilter with no value type specified in iterable type array\\.$#"
count: 1
Expand Down Expand Up @@ -20575,11 +20570,6 @@ parameters:
count: 1
path: src/lib/Repository/Permission/CachedPermissionService.php

-
message: "#^Method Ibexa\\\\Core\\\\Repository\\\\Permission\\\\CachedPermissionService\\:\\:hasAccess\\(\\) return type has no value type specified in iterable type array\\.$#"
count: 1
path: src/lib/Repository/Permission/CachedPermissionService.php

-
message: "#^Method Ibexa\\\\Core\\\\Repository\\\\Permission\\\\CachedPermissionService\\:\\:sudo\\(\\) has no return type specified\\.$#"
count: 1
Expand Down Expand Up @@ -20635,11 +20625,6 @@ parameters:
count: 1
path: src/lib/Repository/Permission/PermissionResolver.php

-
message: "#^Method Ibexa\\\\Core\\\\Repository\\\\Permission\\\\PermissionResolver\\:\\:hasAccess\\(\\) return type has no value type specified in iterable type array\\.$#"
count: 1
path: src/lib/Repository/Permission/PermissionResolver.php

-
message: "#^Method Ibexa\\\\Core\\\\Repository\\\\Permission\\\\PermissionResolver\\:\\:isDeniedByRoleLimitation\\(\\) has parameter \\$targets with no value type specified in iterable type array\\.$#"
count: 1
Expand Down Expand Up @@ -34525,11 +34510,6 @@ parameters:
count: 11
path: tests/integration/Core/Repository/LocationServiceTest.php

-
message: "#^Cannot call method fetchColumn\\(\\) on Doctrine\\\\DBAL\\\\ForwardCompatibility\\\\Result\\|int\\|string\\.$#"
count: 1
path: tests/integration/Core/Repository/LocationServiceTest.php

-
message: "#^Cannot call method getContentInfo\\(\\) on Ibexa\\\\Contracts\\\\Core\\\\Repository\\\\Values\\\\Content\\\\Location\\|null\\.$#"
count: 2
Expand Down Expand Up @@ -44475,11 +44455,6 @@ parameters:
count: 1
path: tests/lib/FieldType/Url/Gateway/DoctrineStorageTest.php

-
message: "#^Cannot call method fetchAllAssociative\\(\\) on Doctrine\\\\DBAL\\\\ForwardCompatibility\\\\Result\\|int\\|string\\.$#"
count: 4
path: tests/lib/FieldType/Url/Gateway/DoctrineStorageTest.php

-
message: "#^Method Ibexa\\\\Tests\\\\Core\\\\FieldType\\\\Url\\\\Gateway\\\\DoctrineStorageTest\\:\\:testGetIdUrlMap\\(\\) has no return type specified\\.$#"
count: 1
Expand Down Expand Up @@ -51320,11 +51295,6 @@ parameters:
count: 1
path: tests/lib/Persistence/Legacy/Content/FieldValueConverterRegistryTest.php

-
message: "#^Cannot call method fetchColumn\\(\\) on Doctrine\\\\DBAL\\\\ForwardCompatibility\\\\Result\\|int\\|string\\.$#"
count: 5
path: tests/lib/Persistence/Legacy/Content/Gateway/DoctrineDatabaseTest.php

-
message: "#^Method Ibexa\\\\Tests\\\\Core\\\\Persistence\\\\Legacy\\\\Content\\\\Gateway\\\\DoctrineDatabaseTest\\:\\:assertContentVersionAttributesLanguages\\(\\) has parameter \\$expectation with no value type specified in iterable type array\\.$#"
count: 1
Expand Down Expand Up @@ -51930,11 +51900,6 @@ parameters:
count: 1
path: tests/lib/Persistence/Legacy/Content/Location/Gateway/DoctrineDatabaseTest.php

-
message: "#^Cannot call method fetchColumn\\(\\) on Doctrine\\\\DBAL\\\\ForwardCompatibility\\\\Result\\|int\\|string\\.$#"
count: 1
path: tests/lib/Persistence/Legacy/Content/Location/Gateway/DoctrineDatabaseTest.php

-
message: "#^Method Ibexa\\\\Tests\\\\Core\\\\Persistence\\\\Legacy\\\\Content\\\\Location\\\\Gateway\\\\DoctrineDatabaseTest\\:\\:assertLoadLocationProperties\\(\\) has parameter \\$locationData with no value type specified in iterable type array\\.$#"
count: 1
Expand Down Expand Up @@ -54350,11 +54315,6 @@ parameters:
count: 4
path: tests/lib/Persistence/Legacy/Content/UrlAlias/UrlAliasHandlerTest.php

-
message: "#^Cannot call method fetchColumn\\(\\) on Doctrine\\\\DBAL\\\\ForwardCompatibility\\\\Result\\|int\\|string\\.$#"
count: 1
path: tests/lib/Persistence/Legacy/Content/UrlAlias/UrlAliasHandlerTest.php

-
message: "#^Method Ibexa\\\\Tests\\\\Core\\\\Persistence\\\\Legacy\\\\Content\\\\UrlAlias\\\\UrlAliasHandlerTest\\:\\:assertVirtualUrlAliasValid\\(\\) has no return type specified\\.$#"
count: 1
Expand Down
7 changes: 7 additions & 0 deletions src/contracts/Repository/PermissionResolver.php
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,13 @@ public function setCurrentUserReference(UserReference $userReference): void;
* which the information is returned, current user will be used if null
*
* @return bool|array if limitations are on this function an array of limitations is returned
*
* @phpstan-return bool|array<
* array{
* limitation: \Ibexa\Contracts\Core\Repository\Values\User\Limitation|null,
* policies: array<\Ibexa\Contracts\Core\Repository\Values\User\Policy>
* },
* >
*/
public function hasAccess(string $module, string $function, ?UserReference $userReference = null);

Expand Down
Loading