From b0001c6010840362355c181b831b4517ac19b8fc Mon Sep 17 00:00:00 2001 From: jld3103 Date: Wed, 14 Jun 2023 08:56:42 +0200 Subject: Add template types to responses Signed-off-by: jld3103 --- lib/private/AppFramework/OCS/BaseResponse.php | 10 +++++++++- lib/private/AppFramework/OCS/V1Response.php | 9 +++++++++ lib/private/AppFramework/OCS/V2Response.php | 9 +++++++++ 3 files changed, 27 insertions(+), 1 deletion(-) (limited to 'lib/private/AppFramework/OCS') diff --git a/lib/private/AppFramework/OCS/BaseResponse.php b/lib/private/AppFramework/OCS/BaseResponse.php index 533cff74a30..123b73d302c 100644 --- a/lib/private/AppFramework/OCS/BaseResponse.php +++ b/lib/private/AppFramework/OCS/BaseResponse.php @@ -7,6 +7,7 @@ * @author Joas Schilling * @author Lukas Reschke * @author Roeland Jago Douma + * @author Kate Döen * * @license GNU AGPL version 3 or any later version * @@ -30,6 +31,13 @@ use OCP\AppFramework\Http; use OCP\AppFramework\Http\DataResponse; use OCP\AppFramework\Http\Response; +/** + * @psalm-import-type DataResponseType from DataResponse + * @template S of int + * @template-covariant T of DataResponseType + * @template H of array + * @template-extends Response> + */ abstract class BaseResponse extends Response { /** @var array */ protected $data; @@ -49,7 +57,7 @@ abstract class BaseResponse extends Response { /** * BaseResponse constructor. * - * @param DataResponse $dataResponse + * @param DataResponse $dataResponse * @param string $format * @param string|null $statusMessage * @param int|null $itemsCount diff --git a/lib/private/AppFramework/OCS/V1Response.php b/lib/private/AppFramework/OCS/V1Response.php index cca3c267ec4..e6b01652789 100644 --- a/lib/private/AppFramework/OCS/V1Response.php +++ b/lib/private/AppFramework/OCS/V1Response.php @@ -5,6 +5,7 @@ * @author Christoph Wurst * @author Joas Schilling * @author Roeland Jago Douma + * @author Kate Döen * * @license GNU AGPL version 3 or any later version * @@ -25,8 +26,16 @@ namespace OC\AppFramework\OCS; use OCP\AppFramework\Http; +use OCP\AppFramework\Http\DataResponse; use OCP\AppFramework\OCSController; +/** + * @psalm-import-type DataResponseType from DataResponse + * @template S of int + * @template-covariant T of DataResponseType + * @template H of array + * @template-extends BaseResponse> + */ class V1Response extends BaseResponse { /** * The V1 endpoint has very limited http status codes basically everything diff --git a/lib/private/AppFramework/OCS/V2Response.php b/lib/private/AppFramework/OCS/V2Response.php index 8bf4c37a578..1e81a3c7d93 100644 --- a/lib/private/AppFramework/OCS/V2Response.php +++ b/lib/private/AppFramework/OCS/V2Response.php @@ -4,6 +4,7 @@ * * @author Christoph Wurst * @author Roeland Jago Douma + * @author Kate Döen * * @license GNU AGPL version 3 or any later version * @@ -24,8 +25,16 @@ namespace OC\AppFramework\OCS; use OCP\AppFramework\Http; +use OCP\AppFramework\Http\DataResponse; use OCP\AppFramework\OCSController; +/** + * @psalm-import-type DataResponseType from DataResponse + * @template S of int + * @template-covariant T of DataResponseType + * @template H of array + * @template-extends BaseResponse> + */ class V2Response extends BaseResponse { /** * The V2 endpoint just passes on status codes. -- cgit v1.2.3