5
5
namespace Sysix \LexOffice ;
6
6
7
7
use Psr \Http \Message \ResponseInterface ;
8
- use stdClass ;
9
8
10
9
abstract class PaginationClient extends BaseClient
11
10
{
@@ -52,10 +51,13 @@ public function getAll(): ResponseInterface
52
51
trigger_error (self ::class . ':: ' . __METHOD__ . ' should not be called anymore, in future versions this method WILL not exist ' , E_USER_DEPRECATED );
53
52
54
53
$ response = $ this ->getPage (0 );
55
- /** @var ?stdClass{totalPages:int, content:stdClass[]} $result */
56
54
$ result = Utils::getJsonFromResponse ($ response );
57
55
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
+ ) {
59
61
return $ response ;
60
62
}
61
63
@@ -67,19 +69,19 @@ public function getAll(): ResponseInterface
67
69
return $ responsePage ;
68
70
}
69
71
70
- /** @var ?stdClass{totalPages:int, content:stdClass[]} $resultPage */
71
72
$ resultPage = Utils::getJsonFromResponse ($ responsePage );
72
73
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
+ ) {
74
81
return $ responsePage ;
75
82
}
76
83
77
- foreach ($ resultPage ->content as $ entity ) {
78
- $ result ->content = [
79
- ...$ result ->content ,
80
- $ entity
81
- ];
82
- }
84
+ array_push ($ result ->content , ...$ resultPage ->content );
83
85
}
84
86
85
87
return $ response ->withBody (Utils::createStream ($ result ));
0 commit comments