55namespace Sysix \LexOffice ;
66
77use Psr \Http \Message \ResponseInterface ;
8- use stdClass ;
98
109abstract class PaginationClient extends BaseClient
1110{
@@ -52,10 +51,13 @@ public function getAll(): ResponseInterface
5251 trigger_error (self ::class . ':: ' . __METHOD__ . ' should not be called anymore, in future versions this method WILL not exist ' , E_USER_DEPRECATED );
5352
5453 $ response = $ this ->getPage (0 );
55- /** @var ?stdClass{totalPages:int, content:stdClass[]} $result */
5654 $ result = Utils::getJsonFromResponse ($ response );
5755
58- if ($ result === null || $ result ->totalPages == 1 ) {
56+ if (
57+ $ result === null || !is_object ($ result ) ||
58+ !property_exists ($ result , 'totalPages ' ) || $ result ->totalPages == 1 ||
59+ !property_exists ($ result , 'content ' )
60+ ) {
5961 return $ response ;
6062 }
6163
@@ -67,19 +69,19 @@ public function getAll(): ResponseInterface
6769 return $ responsePage ;
6870 }
6971
70- /** @var ?stdClass{totalPages:int, content:stdClass[]} $resultPage */
7172 $ resultPage = Utils::getJsonFromResponse ($ responsePage );
7273
73- if ($ resultPage === null ) {
74+ if (
75+ $ resultPage === null ||
76+ !is_object ($ resultPage ) ||
77+ !property_exists ($ resultPage , 'content ' ) ||
78+ !is_array ($ resultPage ->content ) ||
79+ !is_array ($ result ->content )
80+ ) {
7481 return $ responsePage ;
7582 }
7683
77- foreach ($ resultPage ->content as $ entity ) {
78- $ result ->content = [
79- ...$ result ->content ,
80- $ entity
81- ];
82- }
84+ array_push ($ result ->content , ...$ resultPage ->content );
8385 }
8486
8587 return $ response ->withBody (Utils::createStream ($ result ));
0 commit comments