X-Appwrite-Response-Format 1.8.0

This commit is contained in:
fogelito
2026-01-25 18:04:00 +02:00
parent 0748a08fdc
commit 87380a2b01
2 changed files with 35 additions and 0 deletions
@@ -31,12 +31,15 @@ class V22 extends Filter
}
$queries = [];
$internals = false;
$values = [];
foreach ($parsed as $query) {
try {
if ($query->getMethod() === 'select') {
foreach ($query->getValues() as $select) {
$queries[] = Query::select($select);
$values[] = $select;
}
} else {
$queries[] = $query;
@@ -47,6 +50,14 @@ class V22 extends Filter
}
}
if (count($values)) {
$queries[] = Query::select('$sequence');
$queries[] = Query::select('$id');
$queries[] = Query::select('$updatedAt');
$queries[] = Query::select('$createdAt');
$queries[] = Query::select('$permissions');
}
$resolvedQueries = [];
foreach ($queries as $query) {
@@ -2449,6 +2449,30 @@ trait DatabasesBase
$this->assertEquals($document['title'], $response['body']['documents'][0]['title']);
$this->assertEquals($document['releaseYear'], $response['body']['documents'][0]['releaseYear']);
$this->assertEquals($document['$sequence'], $response['body']['documents'][0]['$sequence']);
/**
* Use specific X-Appwrite-Response-Format 1.8.0
*/
$response = $this->client->call(Client::METHOD_GET, '/databases/' . $databaseId . '/collections/' . $document['$collectionId'] . '/documents', array_merge([
'content-type' => 'application/json',
'x-appwrite-project' => $this->getProject()['$id'],
'X-Appwrite-Response-Format' => '1.8.0',
], $this->getHeaders()), [
'queries' => [
'{"method":"select","values":["title"]}',
],
]);
var_dump($response);
$this->assertEquals(200, $response['headers']['status-code']);
$this->assertArrayHasKey('title', $response['body']['documents'][0]);
$this->assertArrayNotHasKey('birthDay', $response['body']['documents'][0]);
$this->assertArrayHasKey('$sequence', $response['body']['documents'][0]);
$this->assertArrayHasKey('$id', $response['body']['documents'][0]);
$this->assertArrayHasKey('$createdAt', $response['body']['documents'][0]);
$this->assertArrayHasKey('$updatedAt', $response['body']['documents'][0]);
$this->assertArrayHasKey('$permissions', $response['body']['documents'][0]);
}
/**