Skip to content

Commit 794f66d

Browse files
committed
IBX-9727: Added type-hints and adapted codebase to PHP8+ within contracts
1 parent 361c060 commit 794f66d

File tree

6 files changed

+33
-51
lines changed

6 files changed

+33
-51
lines changed

dependencies.json

Lines changed: 0 additions & 11 deletions
This file was deleted.

phpstan-baseline.neon

Lines changed: 7 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1086,18 +1086,6 @@ parameters:
10861086
count: 1
10871087
path: src/bundle/Controller/URLWildcardController.php
10881088

1089-
-
1090-
message: '#^Parameter \#1 \$locationIds of method Ibexa\\Contracts\\AdminUi\\UniversalDiscovery\\Provider\:\:getLocations\(\) expects array\<int\>, list\<string\> given\.$#'
1091-
identifier: argument.type
1092-
count: 1
1093-
path: src/bundle/Controller/UniversalDiscoveryController.php
1094-
1095-
-
1096-
message: '#^Parameter \#1 \$locationList of class Ibexa\\AdminUi\\REST\\Value\\UniversalDiscovery\\LocationListData constructor expects array\<array\{location\: Ibexa\\Contracts\\Core\\Repository\\Values\\Content\\Location, permissions\: array\{create\: array\{hasAccess\: bool, restrictedContentTypeIds\: array\<int\>, restrictedLanguageCodes\: array\<string\>\}, edit\: array\{hasAccess\: bool, restrictedContentTypeIds\: array\<int\>, restrictedLanguageCodes\: array\<string\>\}\}\}\>, array\<Ibexa\\Contracts\\Core\\Repository\\Values\\Content\\Location\> given\.$#'
1097-
identifier: argument.type
1098-
count: 1
1099-
path: src/bundle/Controller/UniversalDiscoveryController.php
1100-
11011089
-
11021090
message: '#^Cannot access property \$languageCode on Ibexa\\Contracts\\Core\\Repository\\Values\\Content\\Language\|null\.$#'
11031091
identifier: property.nonObject
@@ -7290,18 +7278,6 @@ parameters:
72907278
count: 1
72917279
path: src/lib/QueryType/TrashSearchQueryType.php
72927280

7293-
-
7294-
message: '#^Method Ibexa\\AdminUi\\REST\\Generator\\ProfilePictureFieldConfigRestGenerator\:\:generate\(\) has parameter \$parameter with no type specified\.$#'
7295-
identifier: missingType.parameter
7296-
count: 1
7297-
path: src/lib/REST/Generator/ProfilePictureFieldConfigRestGenerator.php
7298-
7299-
-
7300-
message: '#^Method Ibexa\\AdminUi\\REST\\Generator\\UserConfigRestGenerator\:\:generate\(\) has parameter \$parameter with no type specified\.$#'
7301-
identifier: missingType.parameter
7302-
count: 1
7303-
path: src/lib/REST/Generator/UserConfigRestGenerator.php
7304-
73057281
-
73067282
message: '#^Method Ibexa\\AdminUi\\REST\\Security\\NonAdminRESTRequestMatcher\:\:__construct\(\) has parameter \$siteAccessGroups with no value type specified in iterable type array\.$#'
73077283
identifier: missingType.iterableValue
@@ -8707,7 +8683,7 @@ parameters:
87078683
path: src/lib/UniversalDiscovery/UniversalDiscoveryProvider.php
87088684

87098685
-
8710-
message: '#^Method Ibexa\\AdminUi\\UniversalDiscovery\\UniversalDiscoveryProvider\:\:getLocations\(\) should return array\<Ibexa\\Contracts\\Core\\Repository\\Values\\Content\\Location\> but returns list\<array\<string, array\<string, mixed\>\|Ibexa\\Contracts\\Core\\Repository\\Values\\Content\\Location\>\>\.$#'
8686+
message: '#^Method Ibexa\\AdminUi\\UniversalDiscovery\\UniversalDiscoveryProvider\:\:getLocations\(\) should return array\<array\{location\: Ibexa\\Contracts\\Core\\Repository\\Values\\Content\\Location, permissions\: array\{create\: array\{hasAccess\: bool, restrictedContentTypeIds\: array\<int\>, restrictedLanguageCodes\: array\<string\>\}, edit\: array\{hasAccess\: bool, restrictedContentTypeIds\: array\<int\>, restrictedLanguageCodes\: array\<string\>\}\}\}\> but returns list\<array\{location\: Ibexa\\Contracts\\Core\\Repository\\Values\\Content\\Location, permissions\: array\<string, mixed\>\}\>\.$#'
87118687
identifier: return.type
87128688
count: 1
87138689
path: src/lib/UniversalDiscovery/UniversalDiscoveryProvider.php
@@ -8760,6 +8736,12 @@ parameters:
87608736
count: 1
87618737
path: src/lib/UniversalDiscovery/UniversalDiscoveryProvider.php
87628738

8739+
-
8740+
message: '#^Parameter \#1 \$value of class Ibexa\\Contracts\\Core\\Repository\\Values\\Content\\Query\\Criterion\\LocationId constructor expects array\<int\>\|int, list\<string\> given\.$#'
8741+
identifier: argument.type
8742+
count: 1
8743+
path: src/lib/UniversalDiscovery/UniversalDiscoveryProvider.php
8744+
87638745
-
87648746
message: '#^Parameter \#2 \$locations of method Ibexa\\AdminUi\\UniversalDiscovery\\UniversalDiscoveryProvider\:\:moveSelectedLocationOnTop\(\) expects array, Ibexa\\Contracts\\Core\\Repository\\Values\\Content\\Location given\.$#'
87658747
identifier: argument.type

src/bundle/Controller/UniversalDiscoveryController.php

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -16,14 +16,11 @@
1616
use Ibexa\Rest\Server\Controller;
1717
use Symfony\Component\HttpFoundation\Request;
1818

19-
class UniversalDiscoveryController extends Controller
19+
final class UniversalDiscoveryController extends Controller
2020
{
21-
private Provider $provider;
22-
2321
public function __construct(
24-
Provider $provider
22+
private readonly Provider $provider
2523
) {
26-
$this->provider = $provider;
2724
}
2825

2926
public function locationsAction(Request $request): LocationListData

src/contracts/UniversalDiscovery/Provider.php

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -83,9 +83,23 @@ public function getLocationGridViewData(
8383
): array;
8484

8585
/**
86-
* @param int[] $locationIds
86+
* @param list<string> $locationIds
8787
*
88-
* @return \Ibexa\Contracts\Core\Repository\Values\Content\Location[]
88+
* @return array<array{
89+
* location: \Ibexa\Contracts\Core\Repository\Values\Content\Location,
90+
* permissions: array{
91+
* create: array{
92+
* hasAccess: bool,
93+
* restrictedContentTypeIds: array<int>,
94+
* restrictedLanguageCodes: array<string>
95+
* },
96+
* edit: array{
97+
* hasAccess: bool,
98+
* restrictedContentTypeIds: array<int>,
99+
* restrictedLanguageCodes: array<string>
100+
* }
101+
* }
102+
* }>
89103
*/
90104
public function getLocations(array $locationIds): array;
91105

src/lib/REST/Generator/ProfilePictureFieldConfigRestGenerator.php

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,10 @@
1313
use Ibexa\Contracts\Rest\Output\Generator;
1414
use Ibexa\Contracts\Rest\Output\Visitor;
1515

16-
final class ProfilePictureFieldConfigRestGenerator implements ApplicationConfigRestGeneratorInterface
16+
final readonly class ProfilePictureFieldConfigRestGenerator implements ApplicationConfigRestGeneratorInterface
1717
{
18-
private const NAMESPACE = 'user';
19-
private const PARAMETER = 'profile_picture_field';
18+
private const string NAMESPACE = 'user';
19+
private const string PARAMETER = 'profile_picture_field';
2020

2121
public function supportsNamespace(string $namespace): bool
2222
{
@@ -28,7 +28,7 @@ public function supportsParameter(string $parameterName): bool
2828
return self::PARAMETER === $parameterName;
2929
}
3030

31-
public function generate($parameter, Generator $generator, Visitor $visitor): void
31+
public function generate(mixed $parameter, Generator $generator, Visitor $visitor): void
3232
{
3333
if ($parameter instanceof Field) {
3434
$generator->startHashElement(self::PARAMETER);

src/lib/REST/Generator/UserConfigRestGenerator.php

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,10 @@
1313
use Ibexa\Contracts\Rest\Output\Generator;
1414
use Ibexa\Contracts\Rest\Output\Visitor;
1515

16-
final class UserConfigRestGenerator implements ApplicationConfigRestGeneratorInterface
16+
final readonly class UserConfigRestGenerator implements ApplicationConfigRestGeneratorInterface
1717
{
18-
private const NAMESPACE = 'user';
19-
private const PARAMETER = 'user';
18+
private const string NAMESPACE = 'user';
19+
private const string PARAMETER = 'user';
2020

2121
public function supportsNamespace(string $namespace): bool
2222
{
@@ -28,7 +28,7 @@ public function supportsParameter(string $parameterName): bool
2828
return self::PARAMETER === $parameterName;
2929
}
3030

31-
public function generate($parameter, Generator $generator, Visitor $visitor): void
31+
public function generate(mixed $parameter, Generator $generator, Visitor $visitor): void
3232
{
3333
if ($parameter instanceof User) {
3434
$generator->startHashElement(self::PARAMETER);

0 commit comments

Comments
 (0)