From 45e38cf6f97ad27b53cce79d741fa0126bd59ece Mon Sep 17 00:00:00 2001 From: Ji Jia Jia Date: Tue, 10 Feb 2026 16:10:11 +0100 Subject: [PATCH 1/2] refactor interface to use GetInheritedProperties --- doc/02_Upgrade_Notes/README.md | 5 ++++- src/Contract/Models/Asset/AssetResolverContract.php | 10 ++++++++++ .../Models/Asset/AssetResolverContractInterface.php | 4 ++++ .../DataObject/ConcreteObjectResolverContract.php | 10 ++++++++++ .../ConcreteObjectResolverContractInterface.php | 4 ++++ .../DataObject/DataObjectFolderResolverContract.php | 10 ++++++++++ .../DataObjectFolderResolverContractInterface.php | 4 ++++ .../Models/DataObject/DataObjectResolverContract.php | 10 ++++++++++ .../DataObjectResolverContractInterface.php | 4 ++++ .../Models/Document/DocumentResolverContract.php | 11 +++++++++++ .../Document/DocumentResolverContractInterface.php | 4 ++++ tests/Unit/Models/Assets/AssetResolverTest.php | 5 ----- .../Models/DataObject/ConcreteObjectResolverTest.php | 2 -- .../DataObject/DataObjectFolderResolverTest.php | 2 -- tests/Unit/Models/Document/DocumentResolverTest.php | 5 ----- 15 files changed, 75 insertions(+), 15 deletions(-) diff --git a/doc/02_Upgrade_Notes/README.md b/doc/02_Upgrade_Notes/README.md index 9592a78..8b1f6f8 100644 --- a/doc/02_Upgrade_Notes/README.md +++ b/doc/02_Upgrade_Notes/README.md @@ -1,5 +1,8 @@ # Upgrade notes +## 4.0.0 +- Added getter/setter of GetInheritedProperties in element contract interfaces + ## 2.0.0 All Resolver classes and interfaces will be marked as `@internal` @@ -8,4 +11,4 @@ All Proxy classes and interfaces will be marked as `@deprecated` All public Resolvers and Interfaces will be moved to the `Contract` namespace. -Reslover in `Contract` will contain all `public static` methodes if they are not marked as `internal` +Resolver in `Contract` will contain all `public static` methods if they are not marked as `internal` diff --git a/src/Contract/Models/Asset/AssetResolverContract.php b/src/Contract/Models/Asset/AssetResolverContract.php index e47008a..1cde0a2 100644 --- a/src/Contract/Models/Asset/AssetResolverContract.php +++ b/src/Contract/Models/Asset/AssetResolverContract.php @@ -51,4 +51,14 @@ public function locateDaoClass(string $modelClass): ?string { return Asset::locateDaoClass($modelClass); } + + public function getGetInheritedProperties(): bool + { + return Asset::getGetInheritedProperties(); + } + + public function setGetInheritedProperties(bool $getInheritedProperties): void + { + Asset::setGetInheritedProperties($getInheritedProperties); + } } diff --git a/src/Contract/Models/Asset/AssetResolverContractInterface.php b/src/Contract/Models/Asset/AssetResolverContractInterface.php index 685785c..8dc6f11 100644 --- a/src/Contract/Models/Asset/AssetResolverContractInterface.php +++ b/src/Contract/Models/Asset/AssetResolverContractInterface.php @@ -33,4 +33,8 @@ public function create(int $parentId, array $data = [], bool $save = true): Asse public function getById(int $id, array $params = []): ?Asset; public function locateDaoClass(string $modelClass): ?string; + + public function getGetInheritedProperties(): bool; + + public function setGetInheritedProperties(bool $getInheritedProperties): void; } diff --git a/src/Contract/Models/DataObject/ConcreteObjectResolverContract.php b/src/Contract/Models/DataObject/ConcreteObjectResolverContract.php index 0aa9d03..74201f7 100644 --- a/src/Contract/Models/DataObject/ConcreteObjectResolverContract.php +++ b/src/Contract/Models/DataObject/ConcreteObjectResolverContract.php @@ -44,6 +44,16 @@ public function doHideUnpublished(): bool return Concrete::doHideUnpublished(); } + public function getGetInheritedProperties(): bool + { + return Concrete::getGetInheritedProperties(); + } + + public function setGetInheritedProperties(bool $getInheritedProperties): void + { + Concrete::setGetInheritedProperties($getInheritedProperties); + } + public function setGetInheritedValues(bool $getInheritedValues): void { Concrete::setGetInheritedValues($getInheritedValues); diff --git a/src/Contract/Models/DataObject/ConcreteObjectResolverContractInterface.php b/src/Contract/Models/DataObject/ConcreteObjectResolverContractInterface.php index 120401d..f56a8b3 100644 --- a/src/Contract/Models/DataObject/ConcreteObjectResolverContractInterface.php +++ b/src/Contract/Models/DataObject/ConcreteObjectResolverContractInterface.php @@ -29,6 +29,10 @@ public function setHideUnpublished(bool $hideUnpublished): void; public function doHideUnpublished(): bool; + public function getGetInheritedProperties(): bool; + + public function setGetInheritedProperties(bool $getInheritedProperties): void; + public function setGetInheritedValues(bool $getInheritedValues): void; public function getGetInheritedValues(): bool; diff --git a/src/Contract/Models/DataObject/DataObjectFolderResolverContract.php b/src/Contract/Models/DataObject/DataObjectFolderResolverContract.php index eb22c19..9fd8d30 100644 --- a/src/Contract/Models/DataObject/DataObjectFolderResolverContract.php +++ b/src/Contract/Models/DataObject/DataObjectFolderResolverContract.php @@ -45,6 +45,16 @@ public function doHideUnpublished(): bool return Folder::doHideUnpublished(); } + public function getGetInheritedProperties(): bool + { + return Folder::getGetInheritedProperties(); + } + + public function setGetInheritedProperties(bool $getInheritedProperties): void + { + Folder::setGetInheritedProperties($getInheritedProperties); + } + public function setGetInheritedValues(bool $getInheritedValues): void { Folder::setGetInheritedValues($getInheritedValues); diff --git a/src/Contract/Models/DataObject/DataObjectFolderResolverContractInterface.php b/src/Contract/Models/DataObject/DataObjectFolderResolverContractInterface.php index ee6e9f6..e2f2ded 100644 --- a/src/Contract/Models/DataObject/DataObjectFolderResolverContractInterface.php +++ b/src/Contract/Models/DataObject/DataObjectFolderResolverContractInterface.php @@ -30,6 +30,10 @@ public function setHideUnpublished(bool $hideUnpublished): void; public function doHideUnpublished(): bool; + public function getGetInheritedProperties(): bool; + + public function setGetInheritedProperties(bool $getInheritedProperties): void; + public function setGetInheritedValues(bool $getInheritedValues): void; public function getGetInheritedValues(): bool; diff --git a/src/Contract/Models/DataObject/DataObjectResolverContract.php b/src/Contract/Models/DataObject/DataObjectResolverContract.php index bfbfa46..7979dd0 100644 --- a/src/Contract/Models/DataObject/DataObjectResolverContract.php +++ b/src/Contract/Models/DataObject/DataObjectResolverContract.php @@ -40,6 +40,16 @@ public function doHideUnpublished(): bool return DataObject::doHideUnpublished(); } + public function getGetInheritedProperties(): bool + { + return DataObject::getGetInheritedProperties(); + } + + public function setGetInheritedProperties(bool $getInheritedProperties): void + { + DataObject::setGetInheritedProperties($getInheritedProperties); + } + public function setGetInheritedValues(bool $getInheritedValues): void { DataObject::setGetInheritedValues($getInheritedValues); diff --git a/src/Contract/Models/DataObject/DataObjectResolverContractInterface.php b/src/Contract/Models/DataObject/DataObjectResolverContractInterface.php index ec86410..087cedb 100644 --- a/src/Contract/Models/DataObject/DataObjectResolverContractInterface.php +++ b/src/Contract/Models/DataObject/DataObjectResolverContractInterface.php @@ -28,6 +28,10 @@ public function setHideUnpublished(bool $hideUnpublished): void; public function doHideUnpublished(): bool; + public function getGetInheritedProperties(): bool; + + public function setGetInheritedProperties(bool $getInheritedProperties): void; + public function setGetInheritedValues(bool $getInheritedValues): void; public function getGetInheritedValues(): bool; diff --git a/src/Contract/Models/Document/DocumentResolverContract.php b/src/Contract/Models/Document/DocumentResolverContract.php index b43a4fa..e59b24b 100644 --- a/src/Contract/Models/Document/DocumentResolverContract.php +++ b/src/Contract/Models/Document/DocumentResolverContract.php @@ -66,4 +66,15 @@ public function locateDaoClass(string $modelClass): ?string { return Document::locateDaoClass($modelClass); } + + public function getGetInheritedProperties(): bool + { + return Document::getGetInheritedProperties(); + } + + public function setGetInheritedProperties(bool $getInheritedProperties): void + { + Document::setGetInheritedProperties($getInheritedProperties); + } + } diff --git a/src/Contract/Models/Document/DocumentResolverContractInterface.php b/src/Contract/Models/Document/DocumentResolverContractInterface.php index 0f42996..05d1011 100644 --- a/src/Contract/Models/Document/DocumentResolverContractInterface.php +++ b/src/Contract/Models/Document/DocumentResolverContractInterface.php @@ -39,4 +39,8 @@ public function getTypesConfiguration(): array; public function doHideUnpublished(): bool; public function locateDaoClass(string $modelClass): ?string; + + public function getGetInheritedProperties(): bool; + + public function setGetInheritedProperties(bool $getInheritedProperties): void; } diff --git a/tests/Unit/Models/Assets/AssetResolverTest.php b/tests/Unit/Models/Assets/AssetResolverTest.php index 9a67059..432c175 100644 --- a/tests/Unit/Models/Assets/AssetResolverTest.php +++ b/tests/Unit/Models/Assets/AssetResolverTest.php @@ -11,11 +11,6 @@ #[Group('contract')] class AssetResolverTest extends ContractAbstractTest { - public array $excludedMethods = [ - 'setGetInheritedProperties', - 'getGetInheritedProperties' - ]; - public array $exludeMethodsForReturnTypeCheck = ['getByPath', 'getById']; protected function getClassToTest(): string { diff --git a/tests/Unit/Models/DataObject/ConcreteObjectResolverTest.php b/tests/Unit/Models/DataObject/ConcreteObjectResolverTest.php index e6f5fd0..213120e 100644 --- a/tests/Unit/Models/DataObject/ConcreteObjectResolverTest.php +++ b/tests/Unit/Models/DataObject/ConcreteObjectResolverTest.php @@ -13,8 +13,6 @@ class ConcreteObjectResolverTest extends ContractAbstractTest { public array $excludedMethods = [ '__callStatic', - 'setGetInheritedProperties', - 'getGetInheritedProperties' ]; public array $exludeMethodsForReturnTypeCheck = ['getById', 'getByPath']; diff --git a/tests/Unit/Models/DataObject/DataObjectFolderResolverTest.php b/tests/Unit/Models/DataObject/DataObjectFolderResolverTest.php index fd56187..4e2073a 100644 --- a/tests/Unit/Models/DataObject/DataObjectFolderResolverTest.php +++ b/tests/Unit/Models/DataObject/DataObjectFolderResolverTest.php @@ -13,8 +13,6 @@ class DataObjectFolderResolverTest extends ContractAbstractTest { public array $excludedMethods = [ '__callStatic', - 'setGetInheritedProperties', - 'getGetInheritedProperties' ]; public array $exludeMethodsForReturnTypeCheck = ['getById', 'getByPath']; diff --git a/tests/Unit/Models/Document/DocumentResolverTest.php b/tests/Unit/Models/Document/DocumentResolverTest.php index e13cd16..8c9dbc5 100644 --- a/tests/Unit/Models/Document/DocumentResolverTest.php +++ b/tests/Unit/Models/Document/DocumentResolverTest.php @@ -11,11 +11,6 @@ #[Group('contract')] class DocumentResolverTest extends ContractAbstractTest { - public array $excludedMethods = [ - 'setGetInheritedProperties', - 'getGetInheritedProperties' - ]; - public array $exludeMethodsForReturnTypeCheck = [ 'getByPath', 'getById', From 66b6a2ad97de1c3a4ac395240f104cf9ede84a11 Mon Sep 17 00:00:00 2001 From: Ji Jia Jia Date: Tue, 10 Feb 2026 16:17:56 +0100 Subject: [PATCH 2/2] missing this test --- tests/Unit/Models/DataObject/DataObjectResolverTest.php | 2 -- 1 file changed, 2 deletions(-) diff --git a/tests/Unit/Models/DataObject/DataObjectResolverTest.php b/tests/Unit/Models/DataObject/DataObjectResolverTest.php index eed38c4..07684fb 100644 --- a/tests/Unit/Models/DataObject/DataObjectResolverTest.php +++ b/tests/Unit/Models/DataObject/DataObjectResolverTest.php @@ -13,8 +13,6 @@ class DataObjectResolverTest extends ContractAbstractTest { public array $excludedMethods = [ '__callStatic', - 'setGetInheritedProperties', - 'getGetInheritedProperties' ]; public array $exludeMethodsForReturnTypeCheck = ['getById', 'getByPath'];