mirror of
https://github.com/appwrite/appwrite.git
synced 2026-05-26 13:51:13 +00:00
check queries
This commit is contained in:
Generated
+19
-19
@@ -3801,12 +3801,12 @@
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/utopia-php/database.git",
|
||||
"reference": "ba6763fad1e9be986c0e31ffe344a65298b62468"
|
||||
"reference": "2eb66b29e093810d3f5dde15536398c186093a83"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/utopia-php/database/zipball/ba6763fad1e9be986c0e31ffe344a65298b62468",
|
||||
"reference": "ba6763fad1e9be986c0e31ffe344a65298b62468",
|
||||
"url": "https://api.github.com/repos/utopia-php/database/zipball/2eb66b29e093810d3f5dde15536398c186093a83",
|
||||
"reference": "2eb66b29e093810d3f5dde15536398c186093a83",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -3814,10 +3814,10 @@
|
||||
"ext-mongodb": "*",
|
||||
"ext-pdo": "*",
|
||||
"php": ">=8.4",
|
||||
"utopia-php/cache": "1.0.*",
|
||||
"utopia-php/cache": "1.*",
|
||||
"utopia-php/framework": "0.33.*",
|
||||
"utopia-php/mongo": "0.11.*",
|
||||
"utopia-php/pools": "1.0.*"
|
||||
"utopia-php/mongo": "1.*",
|
||||
"utopia-php/pools": "1.*"
|
||||
},
|
||||
"require-dev": {
|
||||
"fakerphp/faker": "1.23.*",
|
||||
@@ -3851,7 +3851,7 @@
|
||||
"issues": "https://github.com/utopia-php/database/issues",
|
||||
"source": "https://github.com/utopia-php/database/tree/joins8"
|
||||
},
|
||||
"time": "2026-02-11T13:08:54+00:00"
|
||||
"time": "2026-02-12T09:52:35+00:00"
|
||||
},
|
||||
{
|
||||
"name": "utopia-php/detector",
|
||||
@@ -4519,16 +4519,16 @@
|
||||
},
|
||||
{
|
||||
"name": "utopia-php/mongo",
|
||||
"version": "0.11.0",
|
||||
"version": "1.0.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/utopia-php/mongo.git",
|
||||
"reference": "34bc0cda8ea368cde68702a6fffe2c3ac625398e"
|
||||
"reference": "45bedf36c2c946ec7a0a3e59b9f12f772de0b01d"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/utopia-php/mongo/zipball/34bc0cda8ea368cde68702a6fffe2c3ac625398e",
|
||||
"reference": "34bc0cda8ea368cde68702a6fffe2c3ac625398e",
|
||||
"url": "https://api.github.com/repos/utopia-php/mongo/zipball/45bedf36c2c946ec7a0a3e59b9f12f772de0b01d",
|
||||
"reference": "45bedf36c2c946ec7a0a3e59b9f12f772de0b01d",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -4574,9 +4574,9 @@
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/utopia-php/mongo/issues",
|
||||
"source": "https://github.com/utopia-php/mongo/tree/0.11.0"
|
||||
"source": "https://github.com/utopia-php/mongo/tree/1.0.0"
|
||||
},
|
||||
"time": "2025-10-20T11:11:23+00:00"
|
||||
"time": "2026-02-12T05:54:06+00:00"
|
||||
},
|
||||
{
|
||||
"name": "utopia-php/platform",
|
||||
@@ -5389,16 +5389,16 @@
|
||||
"packages-dev": [
|
||||
{
|
||||
"name": "appwrite/sdk-generator",
|
||||
"version": "1.8.28",
|
||||
"version": "1.8.29",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/appwrite/sdk-generator.git",
|
||||
"reference": "4762aa017b28a3a7e4e53da6e193d0c196ec3fd4"
|
||||
"reference": "eae24f143aa0e352acc8ae8975a0692fd77d2ec3"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/appwrite/sdk-generator/zipball/4762aa017b28a3a7e4e53da6e193d0c196ec3fd4",
|
||||
"reference": "4762aa017b28a3a7e4e53da6e193d0c196ec3fd4",
|
||||
"url": "https://api.github.com/repos/appwrite/sdk-generator/zipball/eae24f143aa0e352acc8ae8975a0692fd77d2ec3",
|
||||
"reference": "eae24f143aa0e352acc8ae8975a0692fd77d2ec3",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -5434,9 +5434,9 @@
|
||||
"description": "Appwrite PHP library for generating API SDKs for multiple programming languages and platforms",
|
||||
"support": {
|
||||
"issues": "https://github.com/appwrite/sdk-generator/issues",
|
||||
"source": "https://github.com/appwrite/sdk-generator/tree/1.8.28"
|
||||
"source": "https://github.com/appwrite/sdk-generator/tree/1.8.29"
|
||||
},
|
||||
"time": "2026-02-11T10:35:18+00:00"
|
||||
"time": "2026-02-12T07:22:23+00:00"
|
||||
},
|
||||
{
|
||||
"name": "doctrine/annotations",
|
||||
|
||||
@@ -185,6 +185,14 @@ class Client
|
||||
$responseHeaders = [];
|
||||
$cookies = [];
|
||||
|
||||
if (isset($params['queries'])) {
|
||||
foreach ($params['queries'] as $value) {
|
||||
if (!is_string($value)) {
|
||||
throw new Exception('Queries must be a strings');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$query = match ($headers['content-type']) {
|
||||
'application/json' => json_encode($params),
|
||||
'multipart/form-data' => $this->flatten($params),
|
||||
|
||||
@@ -184,7 +184,7 @@ class DatabasesConsoleClientTest extends Scope
|
||||
], $this->getHeaders()), [
|
||||
'queries' => [
|
||||
Query::join($sessions['body']['$id'], 'B', [
|
||||
Query::relationEqual('', '$sequence','B', 'userId')
|
||||
Query::relationEqual('', '$sequence', 'B', 'userId')
|
||||
])->toString(),
|
||||
Query::orderDesc('username', '')->toString(),
|
||||
],
|
||||
@@ -212,7 +212,7 @@ class DatabasesConsoleClientTest extends Scope
|
||||
Query::select('username', '')->toString(),
|
||||
Query::select('userId', 'B')->toString(),
|
||||
Query::join($sessions['body']['$id'], 'B', [
|
||||
Query::relationEqual('', '$sequence','B', 'userId')
|
||||
Query::relationEqual('', '$sequence', 'B', 'userId')
|
||||
])->toString(),
|
||||
Query::orderDesc('username', '')->toString(),
|
||||
],
|
||||
@@ -231,7 +231,7 @@ class DatabasesConsoleClientTest extends Scope
|
||||
$this->assertArrayNotHasKey('$permissions', $rows['body']['rows'][0]);
|
||||
|
||||
/**
|
||||
* Simple join query + equal query
|
||||
* Join query + equal query
|
||||
*/
|
||||
$rows = $this->client->call(Client::METHOD_GET, '/tablesdb/' . $databaseId . '/tables/' . $users['body']['$id'] . '/rows', array_merge([
|
||||
'content-type' => 'application/json',
|
||||
@@ -241,7 +241,7 @@ class DatabasesConsoleClientTest extends Scope
|
||||
Query::select('*', 'B')->toString(),
|
||||
Query::equal('userId', [$bill['body']['$sequence']], 'B')->toString(),
|
||||
Query::join($sessions['body']['$id'], 'B', [
|
||||
Query::relationEqual('', '$sequence','B', 'userId')
|
||||
Query::relationEqual('', '$sequence', 'B', 'userId')
|
||||
])->toString(),
|
||||
],
|
||||
]);
|
||||
@@ -250,7 +250,33 @@ class DatabasesConsoleClientTest extends Scope
|
||||
$this->assertEquals($bill['body']['$sequence'], $rows['body']['rows'][0]['userId']);
|
||||
$this->assertArrayNotHasKey('username', $rows['body']['rows'][0]);
|
||||
|
||||
$this->assertEquals('shmuel', 'fogel');
|
||||
/**
|
||||
* Right join with on equal query in ON clause
|
||||
*/
|
||||
$rows = $this->client->call(Client::METHOD_GET, '/tablesdb/' . $databaseId . '/tables/' . $users['body']['$id'] . '/rows', array_merge([
|
||||
'content-type' => 'application/json',
|
||||
'x-appwrite-project' => $this->getProject()['$id'],
|
||||
], $this->getHeaders()), [
|
||||
'queries' => [
|
||||
Query::select('username', '')->toString(),
|
||||
Query::select('userId', 'B')->toString(),
|
||||
Query::equal('username', ['dsdsds'])->toString(),
|
||||
Query::rightJoin($sessions['body']['$id'], 'B', [
|
||||
Query::relationEqual('', '$sequence', 'B', 'userId'),
|
||||
Query::equal('userId', [$bill['body']['$sequence']], 'B')
|
||||
])->toString(),
|
||||
Query::orderAsc('userId')
|
||||
],
|
||||
]);
|
||||
var_dump($rows);
|
||||
$this->assertEquals(2, $rows['body']['total']);
|
||||
$this->assertEquals(null, $rows['body']['rows'][0]['username']);
|
||||
$this->assertEquals($abraham['body']['$sequence'], $rows['body']['rows'][0]['userId']);
|
||||
$this->assertEquals('Bill', $rows['body']['rows'][1]['username']);
|
||||
$this->assertEquals($bill['body']['$sequence'], $rows['body']['rows'][1]['userId']);
|
||||
|
||||
|
||||
$this->assertEquals('shmuel123', 'fogel');
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user