Skip to content

Commit da4d062

Browse files
committed
IBX-10669: Fixed accessing isContainer property for CT drafts
1 parent a56a539 commit da4d062

File tree

2 files changed

+167
-12
lines changed

2 files changed

+167
-12
lines changed

phpstan-baseline.neon

Lines changed: 162 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -2256,6 +2256,12 @@ parameters:
22562256
count: 1
22572257
path: src/bundle/Core/Features/Context/BasicContentContext.php
22582258

2259+
-
2260+
message: '#^Parameter \#1 \$versionInfo of method Ibexa\\Contracts\\Core\\Repository\\ContentService\:\:publishVersion\(\) expects Ibexa\\Contracts\\Core\\Repository\\Values\\Content\\VersionInfo, int given\.$#'
2261+
identifier: argument.type
2262+
count: 1
2263+
path: src/bundle/Core/Features/Context/BasicContentContext.php
2264+
22592265
-
22602266
message: '#^Property Ibexa\\Bundle\\Core\\Features\\Context\\BasicContentContext\:\:\$contentPaths has no type specified\.$#'
22612267
identifier: missingType.property
@@ -6222,6 +6228,12 @@ parameters:
62226228
count: 1
62236229
path: src/lib/FieldType/BinaryBase/Type.php
62246230

6231+
-
6232+
message: '#^Property Ibexa\\Core\\FieldType\\BinaryBase\\Value\:\:\$id \(string\) in isset\(\) is not nullable\.$#'
6233+
identifier: isset.property
6234+
count: 1
6235+
path: src/lib/FieldType/BinaryBase/Type.php
6236+
62256237
-
62266238
message: '#^Method Ibexa\\Core\\FieldType\\BinaryBase\\Value\:\:__construct\(\) has parameter \$fileData with no value type specified in iterable type array\.$#'
62276239
identifier: missingType.iterableValue
@@ -8754,6 +8766,24 @@ parameters:
87548766
count: 1
87558767
path: src/lib/MVC/Symfony/Routing/SimplifiedRequest.php
87568768

8769+
-
8770+
message: '#^Instanceof between int\|string and Ibexa\\Contracts\\Core\\Repository\\Values\\Content\\Location will always evaluate to false\.$#'
8771+
identifier: instanceof.alwaysFalse
8772+
count: 1
8773+
path: src/lib/MVC/Symfony/Routing/UrlAliasRouter.php
8774+
8775+
-
8776+
message: '#^Parameter \#1 \$locationId of method Ibexa\\Core\\MVC\\Symfony\\Routing\\Generator\\UrlAliasGenerator\:\:loadLocation\(\) expects int, int\|string given\.$#'
8777+
identifier: argument.type
8778+
count: 1
8779+
path: src/lib/MVC/Symfony/Routing/UrlAliasRouter.php
8780+
8781+
-
8782+
message: '#^Parameter \#1 \$string of function trim expects string, int\|string given\.$#'
8783+
identifier: argument.type
8784+
count: 2
8785+
path: src/lib/MVC/Symfony/Routing/UrlAliasRouter.php
8786+
87578787
-
87588788
message: '#^Method Ibexa\\Core\\MVC\\Symfony\\Security\\Authorization\\Attribute\:\:__construct\(\) has parameter \$function with no type specified\.$#'
87598789
identifier: missingType.parameter
@@ -17028,6 +17058,18 @@ parameters:
1702817058
count: 1
1702917059
path: src/lib/Repository/LocationService.php
1703017060

17061+
-
17062+
message: '#^Property Ibexa\\Contracts\\Core\\Repository\\Values\\ContentType\\ContentType\:\:\$defaultSortField \(int\) on left side of \?\? is not nullable\.$#'
17063+
identifier: nullCoalesce.property
17064+
count: 1
17065+
path: src/lib/Repository/LocationService.php
17066+
17067+
-
17068+
message: '#^Property Ibexa\\Contracts\\Core\\Repository\\Values\\ContentType\\ContentType\:\:\$defaultSortOrder \(int\) on left side of \?\? is not nullable\.$#'
17069+
identifier: nullCoalesce.property
17070+
count: 1
17071+
path: src/lib/Repository/LocationService.php
17072+
1703117073
-
1703217074
message: '#^Property Ibexa\\Core\\Repository\\LocationService\:\:\$repository \(Ibexa\\Core\\Repository\\Repository\) does not accept Ibexa\\Contracts\\Core\\Repository\\Repository\.$#'
1703317075
identifier: assign.propertyType
@@ -18246,12 +18288,6 @@ parameters:
1824618288
count: 2
1824718289
path: src/lib/Repository/URLWildcardService.php
1824818290

18249-
-
18250-
message: '#^Parameter \#3 \$hashType of method Ibexa\\Contracts\\Core\\Repository\\PasswordHashService\:\:isValidPassword\(\) expects int\|null, string given\.$#'
18251-
identifier: argument.type
18252-
count: 1
18253-
path: src/lib/Repository/User/PasswordValidator.php
18254-
1825518291
-
1825618292
message: '#^Dead catch \- Exception is never thrown in the try block\.$#'
1825718293
identifier: catch.neverThrown
@@ -18312,12 +18348,6 @@ parameters:
1831218348
count: 1
1831318349
path: src/lib/Repository/UserService.php
1831418350

18315-
-
18316-
message: '#^Parameter \#3 \$hashAlgorithm of method Ibexa\\Core\\Repository\\UserService\:\:comparePasswordHashes\(\) expects int, string given\.$#'
18317-
identifier: argument.type
18318-
count: 1
18319-
path: src/lib/Repository/UserService.php
18320-
1832118351
-
1832218352
message: '#^Property Ibexa\\Contracts\\Core\\Repository\\Values\\User\\UserUpdateStruct\:\:\$contentMetadataUpdateStruct \(Ibexa\\Contracts\\Core\\Repository\\Values\\Content\\ContentMetadataUpdateStruct\) in empty\(\) is not falsy\.$#'
1832318353
identifier: empty.property
@@ -18450,6 +18480,12 @@ parameters:
1845018480
count: 1
1845118481
path: src/lib/Repository/Values/ContentType/ContentType.php
1845218482

18483+
-
18484+
message: '#^Property Ibexa\\Core\\Repository\\Values\\ContentType\\ContentType\:\:\$mainLanguageCode \(string\) in isset\(\) is not nullable\.$#'
18485+
identifier: isset.property
18486+
count: 1
18487+
path: src/lib/Repository/Values/ContentType/ContentType.php
18488+
1845318489
-
1845418490
message: '#^Method Ibexa\\Core\\Repository\\Values\\ContentType\\ContentTypeDraft\:\:getProperties\(\) has parameter \$dynamicProperties with no value type specified in iterable type array\.$#'
1845518491
identifier: missingType.iterableValue
@@ -18474,6 +18510,12 @@ parameters:
1847418510
count: 1
1847518511
path: src/lib/Repository/Values/ContentType/ContentTypeGroup.php
1847618512

18513+
-
18514+
message: '#^Property Ibexa\\Core\\Repository\\Values\\ContentType\\ContentTypeGroup\:\:\$mainLanguageCode \(string\) in isset\(\) is not nullable\.$#'
18515+
identifier: isset.property
18516+
count: 1
18517+
path: src/lib/Repository/Values/ContentType/ContentTypeGroup.php
18518+
1847718519
-
1847818520
message: '#^Class Ibexa\\Core\\Repository\\Values\\ContentType\\FieldDefinition has PHPDoc tag @property\-read for property \$fieldSettings with no value type specified in iterable type array\.$#'
1847918521
identifier: missingType.iterableValue
@@ -18576,12 +18618,24 @@ parameters:
1857618618
count: 1
1857718619
path: src/lib/Repository/Values/ObjectState/ObjectState.php
1857818620

18621+
-
18622+
message: '#^Property Ibexa\\Core\\Repository\\Values\\ObjectState\\ObjectState\:\:\$mainLanguageCode \(string\) in isset\(\) is not nullable\.$#'
18623+
identifier: isset.property
18624+
count: 1
18625+
path: src/lib/Repository/Values/ObjectState/ObjectState.php
18626+
1857918627
-
1858018628
message: '#^Method Ibexa\\Core\\Repository\\Values\\ObjectState\\ObjectStateGroup\:\:getDescription\(\) should return string\|null but returns string\|false\.$#'
1858118629
identifier: return.type
1858218630
count: 1
1858318631
path: src/lib/Repository/Values/ObjectState/ObjectStateGroup.php
1858418632

18633+
-
18634+
message: '#^Property Ibexa\\Core\\Repository\\Values\\ObjectState\\ObjectStateGroup\:\:\$mainLanguageCode \(string\) in isset\(\) is not nullable\.$#'
18635+
identifier: isset.property
18636+
count: 1
18637+
path: src/lib/Repository/Values/ObjectState/ObjectStateGroup.php
18638+
1858518639
-
1858618640
message: '#^Property Ibexa\\Core\\Repository\\Values\\User\\PolicyDraft\:\:\$draftProperties type has no value type specified in iterable type array\.$#'
1858718641
identifier: missingType.iterableValue
@@ -33096,6 +33150,12 @@ parameters:
3309633150
count: 23
3309733151
path: tests/integration/Core/Repository/LocationServiceTest.php
3309833152

33153+
-
33154+
message: '#^Parameter \#1 \$locationId of method Ibexa\\Contracts\\Core\\Repository\\LocationService\:\:loadLocation\(\) expects int, int\|string given\.$#'
33155+
identifier: argument.type
33156+
count: 1
33157+
path: tests/integration/Core/Repository/LocationServiceTest.php
33158+
3309933159
-
3310033160
message: '#^Parameter \#1 \$parentLocationId of method Ibexa\\Contracts\\Core\\Repository\\LocationService\:\:newLocationCreateStruct\(\) expects int, int\|null given\.$#'
3310133161
identifier: argument.type
@@ -33936,6 +33996,12 @@ parameters:
3393633996
count: 1
3393733997
path: tests/integration/Core/Repository/Regression/EZP21069Test.php
3393833998

33999+
-
34000+
message: '#^Parameter \#1 \$locationId of method Ibexa\\Contracts\\Core\\Repository\\LocationService\:\:loadLocation\(\) expects int, int\|string given\.$#'
34001+
identifier: argument.type
34002+
count: 2
34003+
path: tests/integration/Core/Repository/Regression/EZP21069Test.php
34004+
3393934005
-
3394034006
message: '#^Method Ibexa\\Tests\\Integration\\Core\\Repository\\Regression\\EZP21089Test\:\:testCreateContent\(\) has no return type specified\.$#'
3394134007
identifier: missingType.return
@@ -33972,6 +34038,12 @@ parameters:
3397234038
count: 1
3397334039
path: tests/integration/Core/Repository/Regression/EZP21798Test.php
3397434040

34041+
-
34042+
message: '#^Parameter \#1 \$locationId of method Ibexa\\Contracts\\Core\\Repository\\LocationService\:\:loadLocation\(\) expects int, int\|string given\.$#'
34043+
identifier: argument.type
34044+
count: 1
34045+
path: tests/integration/Core/Repository/Regression/EZP21798Test.php
34046+
3397534047
-
3397634048
message: '#^Parameter \#1 \$value of function count expects array\|Countable, iterable\<Ibexa\\Contracts\\Core\\Repository\\Values\\User\\Policy\> given\.$#'
3397734049
identifier: argument.type
@@ -38472,6 +38544,12 @@ parameters:
3847238544
count: 1
3847338545
path: tests/integration/Core/Repository/URLWildcardServiceTest.php
3847438546

38547+
-
38548+
message: '#^Call to static method PHPUnit\\Framework\\Assert\:\:assertNotNull\(\) with int will always evaluate to true\.$#'
38549+
identifier: staticMethod.alreadyNarrowedType
38550+
count: 1
38551+
path: tests/integration/Core/Repository/URLWildcardServiceTest.php
38552+
3847538553
-
3847638554
message: '#^Method Ibexa\\Tests\\Integration\\Core\\Repository\\URLWildcardServiceTest\:\:testCreateSetsIdPropertyOnURLWildcard\(\) has no return type specified\.$#'
3847738555
identifier: missingType.return
@@ -59982,12 +60060,24 @@ parameters:
5998260060
count: 1
5998360061
path: tests/lib/Repository/Values/Content/LocationTest.php
5998460062

60063+
-
60064+
message: '#^Call to static method PHPUnit\\Framework\\Assert\:\:assertTrue\(\) with true will always evaluate to true\.$#'
60065+
identifier: staticMethod.alreadyNarrowedType
60066+
count: 1
60067+
path: tests/lib/Repository/Values/Content/LocationTest.php
60068+
5998560069
-
5998660070
message: '#^Method Ibexa\\Tests\\Core\\Repository\\Values\\Content\\LocationTest\:\:assertPropertiesCorrect\(\) has no return type specified\.$#'
5998760071
identifier: missingType.return
5998860072
count: 1
5998960073
path: tests/lib/Repository/Values/Content/LocationTest.php
5999060074

60075+
-
60076+
message: '#^Property Ibexa\\Contracts\\Core\\Repository\\Values\\Content\\Location\:\:\$id \(int\) in isset\(\) is not nullable\.$#'
60077+
identifier: isset.property
60078+
count: 1
60079+
path: tests/lib/Repository/Values/Content/LocationTest.php
60080+
5999160081
-
5999260082
message: '#^Method Ibexa\\Tests\\Core\\Repository\\Values\\Content\\Query\\Criterion\\DateMetadataTest\:\:testConstruction\(\) has parameter \$value with no type specified\.$#'
5999360083
identifier: missingType.parameter
@@ -60000,6 +60090,12 @@ parameters:
6000060090
count: 1
6000160091
path: tests/lib/Repository/Values/Content/SectionTest.php
6000260092

60093+
-
60094+
message: '#^Call to static method PHPUnit\\Framework\\Assert\:\:assertTrue\(\) with true will always evaluate to true\.$#'
60095+
identifier: staticMethod.alreadyNarrowedType
60096+
count: 1
60097+
path: tests/lib/Repository/Values/Content/SectionTest.php
60098+
6000360099
-
6000460100
message: '#^Method Ibexa\\Tests\\Core\\Repository\\Values\\Content\\SectionTest\:\:assertPropertiesCorrect\(\) has no return type specified\.$#'
6000560101
identifier: missingType.return
@@ -60030,12 +60126,24 @@ parameters:
6003060126
count: 1
6003160127
path: tests/lib/Repository/Values/Content/SectionTest.php
6003260128

60129+
-
60130+
message: '#^Property Ibexa\\Contracts\\Core\\Repository\\Values\\Content\\Section\:\:\$id \(int\) in isset\(\) is not nullable\.$#'
60131+
identifier: isset.property
60132+
count: 1
60133+
path: tests/lib/Repository/Values/Content/SectionTest.php
60134+
6003360135
-
6003460136
message: '#^Access to an undefined property Ibexa\\Core\\Repository\\Values\\Content\\TrashItem\:\:\$notDefined\.$#'
6003560137
identifier: property.notFound
6003660138
count: 1
6003760139
path: tests/lib/Repository/Values/Content/TrashItemTest.php
6003860140

60141+
-
60142+
message: '#^Call to static method PHPUnit\\Framework\\Assert\:\:assertTrue\(\) with true will always evaluate to true\.$#'
60143+
identifier: staticMethod.alreadyNarrowedType
60144+
count: 1
60145+
path: tests/lib/Repository/Values/Content/TrashItemTest.php
60146+
6003960147
-
6004060148
message: '#^Method Ibexa\\Tests\\Core\\Repository\\Values\\Content\\TrashItemTest\:\:assertPropertiesCorrect\(\) has no return type specified\.$#'
6004160149
identifier: missingType.return
@@ -60066,6 +60174,12 @@ parameters:
6006660174
count: 1
6006760175
path: tests/lib/Repository/Values/Content/TrashItemTest.php
6006860176

60177+
-
60178+
message: '#^Property Ibexa\\Contracts\\Core\\Repository\\Values\\Content\\Location\:\:\$id \(int\) in isset\(\) is not nullable\.$#'
60179+
identifier: isset.property
60180+
count: 1
60181+
path: tests/lib/Repository/Values/Content/TrashItemTest.php
60182+
6006960183
-
6007060184
message: '#^Method Ibexa\\Tests\\Core\\Repository\\Values\\ContentType\\FieldDefinitionCollectionTest\:\:createFieldDefinitions\(\) return type has no value type specified in iterable type array\.$#'
6007160185
identifier: missingType.iterableValue
@@ -60120,6 +60234,12 @@ parameters:
6012060234
count: 1
6012160235
path: tests/lib/Repository/Values/ObjectState/ObjectStateGroupTest.php
6012260236

60237+
-
60238+
message: '#^Call to static method PHPUnit\\Framework\\Assert\:\:assertTrue\(\) with true will always evaluate to true\.$#'
60239+
identifier: staticMethod.alreadyNarrowedType
60240+
count: 1
60241+
path: tests/lib/Repository/Values/ObjectState/ObjectStateGroupTest.php
60242+
6012360243
-
6012460244
message: '#^Method Ibexa\\Tests\\Core\\Repository\\Values\\ObjectState\\ObjectStateGroupTest\:\:assertPropertiesCorrect\(\) has no return type specified\.$#'
6012560245
identifier: missingType.return
@@ -60180,6 +60300,12 @@ parameters:
6018060300
count: 1
6018160301
path: tests/lib/Repository/Values/ObjectState/ObjectStateGroupTest.php
6018260302

60303+
-
60304+
message: '#^Property Ibexa\\Core\\Repository\\Values\\ObjectState\\ObjectStateGroup\:\:\$defaultLanguageCode \(string\) in isset\(\) is not nullable\.$#'
60305+
identifier: isset.property
60306+
count: 1
60307+
path: tests/lib/Repository/Values/ObjectState/ObjectStateGroupTest.php
60308+
6018360309
-
6018460310
message: '#^Access to an undefined property Ibexa\\Core\\Repository\\Values\\ObjectState\\ObjectState\:\:\$notDefined\.$#'
6018560311
identifier: property.notFound
@@ -60294,6 +60420,12 @@ parameters:
6029460420
count: 1
6029560421
path: tests/lib/Repository/Values/User/RoleTest.php
6029660422

60423+
-
60424+
message: '#^Call to static method PHPUnit\\Framework\\Assert\:\:assertTrue\(\) with true will always evaluate to true\.$#'
60425+
identifier: staticMethod.alreadyNarrowedType
60426+
count: 1
60427+
path: tests/lib/Repository/Values/User/RoleTest.php
60428+
6029760429
-
6029860430
message: '#^Method Ibexa\\Tests\\Core\\Repository\\Values\\User\\RoleTest\:\:assertPropertiesCorrect\(\) has no return type specified\.$#'
6029960431
identifier: missingType.return
@@ -60330,6 +60462,12 @@ parameters:
6033060462
count: 1
6033160463
path: tests/lib/Repository/Values/User/RoleTest.php
6033260464

60465+
-
60466+
message: '#^Property Ibexa\\Contracts\\Core\\Repository\\Values\\User\\Role\:\:\$id \(int\) in isset\(\) is not nullable\.$#'
60467+
identifier: isset.property
60468+
count: 1
60469+
path: tests/lib/Repository/Values/User/RoleTest.php
60470+
6033360471
-
6033460472
message: '#^Access to an undefined property Ibexa\\Core\\Repository\\Values\\User\\UserGroup\:\:\$notDefined\.$#'
6033560473
identifier: property.notFound
@@ -60390,12 +60528,24 @@ parameters:
6039060528
count: 1
6039160529
path: tests/lib/Repository/Values/User/UserTest.php
6039260530

60531+
-
60532+
message: '#^Call to static method PHPUnit\\Framework\\Assert\:\:assertTrue\(\) with true will always evaluate to true\.$#'
60533+
identifier: staticMethod.alreadyNarrowedType
60534+
count: 1
60535+
path: tests/lib/Repository/Values/User/UserTest.php
60536+
6039360537
-
6039460538
message: '#^Method Ibexa\\Tests\\Core\\Repository\\Values\\User\\UserTest\:\:assertPropertiesCorrect\(\) has no return type specified\.$#'
6039560539
identifier: missingType.return
6039660540
count: 1
6039760541
path: tests/lib/Repository/Values/User/UserTest.php
6039860542

60543+
-
60544+
message: '#^Property Ibexa\\Contracts\\Core\\Repository\\Values\\User\\User\:\:\$login \(string\) in isset\(\) is not nullable\.$#'
60545+
identifier: isset.property
60546+
count: 1
60547+
path: tests/lib/Repository/Values/User/UserTest.php
60548+
6039960549
-
6040060550
message: '#^Method Ibexa\\Tests\\Core\\Search\\Common\\FieldValueMapper\\RemoteIdentifierMapperTest\:\:getDataForTestCanMap\(\) return type has no value type specified in iterable type iterable\.$#'
6040160551
identifier: missingType.iterableValue

src/lib/Repository/Values/ContentType/ContentTypeDraft.php

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -149,4 +149,9 @@ public function hasFieldDefinition(string $fieldDefinitionIdentifier): bool
149149
{
150150
return $this->innerContentType->hasFieldDefinition($fieldDefinitionIdentifier);
151151
}
152+
153+
public function isContainer(): bool
154+
{
155+
return $this->innerContentType->isContainer();
156+
}
152157
}

0 commit comments

Comments
 (0)