From 415c31c48f047becbfc57cb134cd7abd3c894354 Mon Sep 17 00:00:00 2001 From: Andrew Longosz Date: Fri, 15 Mar 2024 16:30:19 +0100 Subject: [PATCH 1/4] Introduced strict getters for LookupLimitationResult Value Object --- .../Values/User/LookupLimitationResult.php | 22 +++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/src/contracts/Repository/Values/User/LookupLimitationResult.php b/src/contracts/Repository/Values/User/LookupLimitationResult.php index 8b85af8a15..0fae8edc76 100644 --- a/src/contracts/Repository/Values/User/LookupLimitationResult.php +++ b/src/contracts/Repository/Values/User/LookupLimitationResult.php @@ -16,16 +16,15 @@ final class LookupLimitationResult extends ValueObject { /** @var bool */ - protected $hasAccess; + protected bool $hasAccess; /** @var \Ibexa\Contracts\Core\Repository\Values\User\Limitation[] */ - protected $roleLimitations; + protected array $roleLimitations; /** @var \Ibexa\Contracts\Core\Repository\Values\User\LookupPolicyLimitations[] */ - protected $lookupPolicyLimitations; + protected array $lookupPolicyLimitations; /** - * @param bool $hasAccess * @param \Ibexa\Contracts\Core\Repository\Values\User\Limitation[] $roleLimitations * @param \Ibexa\Contracts\Core\Repository\Values\User\LookupPolicyLimitations[] $lookupPolicyLimitations */ @@ -40,6 +39,21 @@ public function __construct( $this->lookupPolicyLimitations = $lookupPolicyLimitations; $this->roleLimitations = $roleLimitations; } + + public function hasAccess(): bool + { + return $this->hasAccess; + } + + public function getRoleLimitations(): array + { + return $this->roleLimitations; + } + + public function getLookupPolicyLimitations(): array + { + return $this->lookupPolicyLimitations; + } } class_alias(LookupLimitationResult::class, 'eZ\Publish\API\Repository\Values\User\LookupLimitationResult'); From 9bfb7c6c71b997c89a9d2ada7627c03e37d22283 Mon Sep 17 00:00:00 2001 From: tischsoic Date: Mon, 18 Mar 2024 09:32:44 +0100 Subject: [PATCH 2/4] Added phpstan types for arrays --- .../Repository/Values/User/LookupLimitationResult.php | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/contracts/Repository/Values/User/LookupLimitationResult.php b/src/contracts/Repository/Values/User/LookupLimitationResult.php index 0fae8edc76..4e27a7c1f6 100644 --- a/src/contracts/Repository/Values/User/LookupLimitationResult.php +++ b/src/contracts/Repository/Values/User/LookupLimitationResult.php @@ -45,11 +45,17 @@ public function hasAccess(): bool return $this->hasAccess; } + /** + * @return \Ibexa\Contracts\Core\Repository\Values\User\Limitation[] + */ public function getRoleLimitations(): array { return $this->roleLimitations; } + /** + * @return \Ibexa\Contracts\Core\Repository\Values\User\LookupPolicyLimitations[] + */ public function getLookupPolicyLimitations(): array { return $this->lookupPolicyLimitations; From 195c63b4618dd876a7a5defc2b83dab752e60f93 Mon Sep 17 00:00:00 2001 From: tischsoic Date: Mon, 8 Apr 2024 18:32:00 +0200 Subject: [PATCH 3/4] add getLanguageCodes to VersionInfo --- src/contracts/Repository/Values/Content/VersionInfo.php | 5 +++++ src/lib/Repository/Values/Content/VersionInfo.php | 5 +++++ 2 files changed, 10 insertions(+) diff --git a/src/contracts/Repository/Values/Content/VersionInfo.php b/src/contracts/Repository/Values/Content/VersionInfo.php index e5f3005168..00f6681e39 100644 --- a/src/contracts/Repository/Values/Content/VersionInfo.php +++ b/src/contracts/Repository/Values/Content/VersionInfo.php @@ -107,6 +107,11 @@ abstract public function getInitialLanguage(): Language; */ abstract public function getLanguages(): iterable; + /** + * @return iterable + */ + abstract public function getLanguageCodes(): iterable; + /** * Returns true if version is a draft. * diff --git a/src/lib/Repository/Values/Content/VersionInfo.php b/src/lib/Repository/Values/Content/VersionInfo.php index 891fb19137..74f3f79197 100644 --- a/src/lib/Repository/Values/Content/VersionInfo.php +++ b/src/lib/Repository/Values/Content/VersionInfo.php @@ -89,6 +89,11 @@ public function getLanguages(): iterable return $this->languages; } + public function getLanguageCodes(): iterable + { + return $this->languageCodes; + } + /** * {@inheritdoc} */ From ac56356078bf3f3b5c6447573f2e5fa258544a0d Mon Sep 17 00:00:00 2001 From: tischsoic Date: Tue, 9 Apr 2024 11:00:53 +0200 Subject: [PATCH 4/4] changes --- src/contracts/Repository/Values/Content/VersionInfo.php | 9 ++++++--- src/lib/Repository/Values/Content/VersionInfo.php | 5 ----- 2 files changed, 6 insertions(+), 8 deletions(-) diff --git a/src/contracts/Repository/Values/Content/VersionInfo.php b/src/contracts/Repository/Values/Content/VersionInfo.php index 00f6681e39..f416251c89 100644 --- a/src/contracts/Repository/Values/Content/VersionInfo.php +++ b/src/contracts/Repository/Values/Content/VersionInfo.php @@ -89,7 +89,7 @@ abstract class VersionInfo extends ValueObject implements MultiLanguageName * * @var string[] */ - protected $languageCodes = []; + protected array $languageCodes = []; /** * Content of the content this version belongs to. @@ -108,9 +108,12 @@ abstract public function getInitialLanguage(): Language; abstract public function getLanguages(): iterable; /** - * @return iterable + * @return array */ - abstract public function getLanguageCodes(): iterable; + public function getLanguageCodes(): array + { + return $this->languageCodes; + } /** * Returns true if version is a draft. diff --git a/src/lib/Repository/Values/Content/VersionInfo.php b/src/lib/Repository/Values/Content/VersionInfo.php index 74f3f79197..891fb19137 100644 --- a/src/lib/Repository/Values/Content/VersionInfo.php +++ b/src/lib/Repository/Values/Content/VersionInfo.php @@ -89,11 +89,6 @@ public function getLanguages(): iterable return $this->languages; } - public function getLanguageCodes(): iterable - { - return $this->languageCodes; - } - /** * {@inheritdoc} */