public function listProjects(array $filters = [], $maxResults = null)
{
$envelope = null;
$projects = [];
$uri = self::getUserApiUrl('/projects');
do {
$params = $filters;
if ($maxResults) {
$params[ApiController::QUERY_PARAM_MAX_RESULTS] = $maxResults;
}
if (isset($envelope->pagination->next)) {
$parts = parse_url($envelope->pagination->next);
parse_str($parts['query'], $params);
}
$response = $this->request($uri, Request::METHOD_GET, $params);
$this->assertEquals(200, $response->status, $this->printResponseError($response));
$this->assertDescribeResponseNotEmpty($response);
$envelope = $response->getBody();
foreach ($envelope->data as $v) {
$projects[] = $v;
}
} while (!empty($envelope->pagination->next) && !$maxResults);
return $projects;
}