Scalr\Tests\Functional\Api\Service\User\V1beta0\Controller\ProjectsTest::listProjects PHP Method

listProjects() public method

Return list of Projects available in this environment
public listProjects ( array $filters = [], integer $maxResults = null ) : array
$filters array optional Filterable properties
$maxResults integer optional Max Results
return array
    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;
    }