public function selectRequest(ObjectListQuery $objectListQuery = null, array $options = []): PromiseInterface
    {
        if (!$objectListQuery) {
            $objectListQuery = new ObjectListQuery();
        }

        $annotation = $this->dataService->getAnnotation();

        if (!isset($options['query'])) {
            $options['query'] = [];
        }
        $options['query'] = $options['query'] +
            $objectListQuery->toQueryParts() + [
                'schema' => $annotation->schemaVersion,
                'form' => 'cjson',
                'count' => true,
            ];

        if ($this->authenticatedClient->hasAccount()) {
            $options['query']['account'] = (string) $this->authenticatedClient->getAccount()->getMpxId();
        }

        $uri = $this->getBaseUri($annotation, true);

        $request = $this->authenticatedClient->requestAsync('GET', $uri, $options)->then(
            function (ResponseInterface $response) use ($objectListQuery) {
                return $this->deserializeObjectList($response, $objectListQuery);
            }
        );

        return $request;
    }
public function selectRequest(ObjectListQuery $objectListQuery = null, array $options = []): PromiseInterface
    {
        if (!$objectListQuery) {
            $objectListQuery = new ObjectListQuery();
        }

        $annotation = $this->dataService->getAnnotation();

        if (!isset($options['query'])) {
            $options['query'] = [];
        }
        $options['query'] = $options['query'] +
            $objectListQuery->toQueryParts() + [
                'schema' => $annotation->schemaVersion,
                'form' => 'cjson',
                'count' => true,
            ];

        if ($this->authenticatedClient->hasAccount()) {
            $options['query']['account'] = (string) $this->authenticatedClient->getAccount()->getMpxId();
        }

        $uri = $this->getBaseUri($annotation, true);

        $request = $this->authenticatedClient->requestAsync('GET', $uri, $options)->then(
            function (ResponseInterface $response) use ($objectListQuery) {
                return $this->deserializeObjectList($response, $objectListQuery);
            }
        );

        return $request;
    }
public function selectRequest ( ObjectListQuery $ objectListQuery = null , array $ options = [ ] ) : PromiseInterface { if ( ! $ objectListQuery ) { $ objectListQuery = new ObjectListQuery ( ) ; } $ annotation = $ this -> dataService -> getAnnotation ( ) ; if ( ! isset ( $ options [ 'query' ] ) ) { $ options [ 'query' ] = [ ] ; } $ options [ 'query' ] = $ options [ 'query' ] + $ objectListQuery -> toQueryParts ( ) + [ 'schema' => $ annotation -> schemaVersion , 'form' => 'cjson' , 'count' => true , ] ; if ( $ this -> authenticatedClient -> hasAccount ( ) ) { $ options [ 'query' ] [ 'account' ] = ( string ) $ this -> authenticatedClient -> getAccount ( ) -> getMpxId ( ) ; } $ uri = $ this -> getBaseUri ( $ annotation , true ) ; $ request = $ this -> authenticatedClient -> requestAsync ( 'GET' , $ uri , $ options ) -> then ( function ( ResponseInterface $ response ) use ( $ objectListQuery ) { return $ this -> deserializeObjectList ( $ response , $ objectListQuery ) ; } ) ; return $ request ; }
Return a promise to an object list.

@see \Lullabot\Mpx\DataService\DataObjectFactory::select

@param ObjectListQuery $objectListQuery (optional) The fields and values to filter by. Note these are exact
matches.
@param array           $options         (optional) An array of HTTP client options.

@return PromiseInterface A promise to return an ObjectList.
Return a promise to an object list .