1
0
Fork 0
mirror of synced 2024-06-03 11:24:48 +12:00

Merge branch '0.6' of github.com:appwrite/appwrite into feature--flutter-support

This commit is contained in:
Eldad Fux 2020-04-15 16:42:53 +03:00
commit 8481e7035b
14 changed files with 103 additions and 103 deletions

View file

@ -1,8 +1,14 @@
# Version 0.6.0 (PLANNED)
# Version 0.6.0 (PRE-RELEASE)
## Features
* Added support for Flutter iOS & Android apps
* New locale for Khmer
## Breaking Changes
* Updated all the REST API query params to be in camelCase
* Normalized locale phone codes response body
## Bug Fixes

View file

@ -410,12 +410,6 @@ $utopia->get('/.well-known/acme-challenge')
}
);
$name = APP_NAME;
if (array_key_exists($service, $services)) { /** @noinspection PhpIncludeInspection */

View file

@ -721,7 +721,7 @@ $utopia->patch('/v1/account/password')
->label('sdk.method', 'updatePassword')
->label('sdk.description', '/docs/references/account/update-password.md')
->param('password', '', function () { return new Password(); }, 'New user password.')
->param('old-password', '', function () { return new Password(); }, 'Old user password.')
->param('oldPassword', '', function () { return new Password(); }, 'Old user password.')
->action(
function ($password, $oldPassword) use ($response, $user, $projectDB, $audit, $oauth2Keys) {
if (!Auth::passwordVerify($oldPassword, $user->getAttribute('password'))) { // Double check user password
@ -1119,11 +1119,11 @@ $utopia->put('/v1/account/recovery')
->label('abuse-key', 'url:{url},userId:{param-userId}')
->param('userId', '', function () { return new UID(); }, 'User account UID address.')
->param('secret', '', function () { return new Text(256); }, 'Valid reset token.')
->param('password-a', '', function () { return new Password(); }, 'New password.')
->param('password-b', '', function () {return new Password(); }, 'New password again.')
->param('password', '', function () { return new Password(); }, 'New password.')
->param('passwordAgain', '', function () {return new Password(); }, 'New password again.')
->action(
function ($userId, $secret, $passwordA, $passwordB) use ($response, $projectDB, $audit) {
if ($passwordA !== $passwordB) {
function ($userId, $secret, $password, $passwordAgain) use ($response, $projectDB, $audit) {
if ($password !== $passwordAgain) {
throw new Exception('Passwords must match', 400);
}
@ -1149,7 +1149,7 @@ $utopia->put('/v1/account/recovery')
Authorization::setRole('user:'.$profile->getId());
$profile = $projectDB->updateDocument(array_merge($profile->getArrayCopy(), [
'password' => Auth::passwordHash($passwordA),
'password' => Auth::passwordHash($password),
'password-update' => time(),
'emailVerification' => true,
]));

View file

@ -379,9 +379,9 @@ $utopia->get('/v1/database/collections/:collectionId/documents')
->param('filters', [], function () { return new ArrayList(new Text(128)); }, 'Array of filter strings. Each filter is constructed from a key name, comparison operator (=, !=, >, <, <=, >=) and a value. You can also use a dot (.) separator in attribute names to filter by child document attributes. Examples: \'name=John Doe\' or \'category.$id>=5bed2d152c362\'.', true)
->param('offset', 0, function () { return new Range(0, 900000000); }, 'Offset value. Use this value to manage pagination.', true)
->param('limit', 50, function () { return new Range(0, 1000); }, 'Maximum number of documents to return in response. Use this value to manage pagination.', true)
->param('order-field', '$id', function () { return new Text(128); }, 'Document field that results will be sorted by.', true)
->param('order-type', 'ASC', function () { return new WhiteList(array('DESC', 'ASC')); }, 'Order direction. Possible values are DESC for descending order, or ASC for ascending order.', true)
->param('order-cast', 'string', function () { return new WhiteList(array('int', 'string', 'date', 'time', 'datetime')); }, 'Order field type casting. Possible values are int, string, date, time or datetime. The database will attempt to cast the order field to the value you pass here. The default value is a string.', true)
->param('orderField', '$id', function () { return new Text(128); }, 'Document field that results will be sorted by.', true)
->param('orderType', 'ASC', function () { return new WhiteList(array('DESC', 'ASC')); }, 'Order direction. Possible values are DESC for descending order, or ASC for ascending order.', true)
->param('orderCast', 'string', function () { return new WhiteList(array('int', 'string', 'date', 'time', 'datetime')); }, 'Order field type casting. Possible values are int, string, date, time or datetime. The database will attempt to cast the order field to the value you pass here. The default value is a string.', true)
->param('search', '', function () { return new Text(256); }, 'Search query. Enter any free text search. The database will try to find a match against all document attributes and children.', true)
->param('first', 0, function () { return new Range(0, 1); }, 'Return only first document. Pass 1 for true or 0 for false. The default value is 0.', true)
->param('last', 0, function () { return new Range(0, 1); }, 'Return only last document. Pass 1 for true or 0 for false. The default value is 0.', true)

View file

@ -47,7 +47,7 @@ $collection = $this->getParam('collection', []);
data-param-search="{{router.params.search}}"
data-param-limit="<?php echo APP_PAGING_LIMIT; ?>"
data-param-offset=""
data-param-order-type="DESC"
data-param-orderType="DESC"
data-scope="sdk"
data-name="project-documents"
data-success="state"
@ -69,7 +69,7 @@ $collection = $this->getParam('collection', []);
data-param-search="{{router.params.search}}"
data-param-limit="<?php echo APP_PAGING_LIMIT; ?>"
data-param-offset="{{router.params.offset}}"
data-param-order-type="DESC"
data-param-orderType="DESC"
data-scope="sdk"
data-name="project-documents">
@ -132,7 +132,7 @@ $collection = $this->getParam('collection', []);
data-param-collection-id="{{router.params.id}}"
data-param-search="{{router.params.search}}"
data-param-limit="<?php echo APP_PAGING_LIMIT; ?>"
data-param-order-type="DESC"
data-param-orderType="DESC"
data-scope="sdk"
data-name="project-documents"
data-success="state"
@ -148,7 +148,7 @@ $collection = $this->getParam('collection', []);
data-param-collection-id="{{router.params.id}}"
data-param-search="{{router.params.search}}"
data-param-limit="<?php echo APP_PAGING_LIMIT; ?>"
data-param-order-type="DESC"
data-param-orderType="DESC"
data-scope="sdk"
data-name="project-documents"
data-success="state"

View file

@ -42,7 +42,7 @@
data-param-search="{{router.params.search}}"
data-param-limit="<?php echo APP_PAGING_LIMIT; ?>"
data-param-offset=""
data-param-order-type="DESC"
data-param-orderType="DESC"
data-scope="sdk"
data-name="project-collections"
data-success="state"
@ -60,7 +60,7 @@
data-param-search="{{router.params.search}}"
data-param-limit="<?php echo APP_PAGING_LIMIT; ?>"
data-param-offset="{{router.params.offset}}"
data-param-order-type="DESC"
data-param-orderType="DESC"
data-scope="sdk"
data-name="project-collections">
@ -77,7 +77,7 @@
data-param-search=""
data-param-limit="<?php echo APP_PAGING_LIMIT; ?>"
data-param-offset=""
data-param-order-type="DESC"
data-param-orderType="DESC"
data-scope="sdk"
data-name="project-documents"
data-success="state"
@ -100,7 +100,7 @@
data-event="submit"
data-param-search="{{router.params.search}}"
data-param-limit="<?php echo APP_PAGING_LIMIT; ?>"
data-param-order-type="DESC"
data-param-orderType="DESC"
data-scope="sdk"
data-name="project-collections"
data-success="state"
@ -115,7 +115,7 @@
data-event="submit"
data-param-search="{{router.params.search}}"
data-param-limit="<?php echo APP_PAGING_LIMIT; ?>"
data-param-order-type="DESC"
data-param-orderType="DESC"
data-scope="sdk"
data-name="project-collections"
data-success="state"
@ -139,7 +139,7 @@
data-param-search="{{router.params.dsearch}}"
data-param-limit="<?php echo APP_PAGING_LIMIT; ?>"
data-param-offset=""
data-param-order-type="DESC"
data-param-orderType="DESC"
data-scope="sdk"
data-name="project-documents"
data-success="state"
@ -158,7 +158,7 @@
data-param-search="{{router.params.dsearch}}"
data-param-limit="<?php echo APP_PAGING_LIMIT; ?>"
data-param-offset="{{router.params.doffset}}"
data-param-order-type="DESC"
data-param-orderType="DESC"
data-scope="sdk"
data-name="project-documents">
@ -196,7 +196,7 @@
data-param-collection-id="{{router.params.collectionId}}"
data-param-search="{{router.params.dsearch}}"
data-param-limit="<?php echo APP_PAGING_LIMIT; ?>"
data-param-order-type="DESC"
data-param-orderType="DESC"
data-scope="sdk"
data-name="project-documents"
data-success="state"
@ -212,7 +212,7 @@
data-param-collection-id="{{router.params.collectionId}}"
data-param-search="{{router.params.dsearch}}"
data-param-limit="<?php echo APP_PAGING_LIMIT; ?>"
data-param-order-type="DESC"
data-param-orderType="DESC"
data-scope="sdk"
data-name="project-documents"
data-success="state"

View file

@ -57,7 +57,7 @@ $fileLimitHuman = $this->getParam('fileLimitHuman', 0);
data-param-search="{{router.params.search}}"
data-param-limit="<?php echo APP_PAGING_LIMIT; ?>"
data-param-offset=""
data-param-order-type="DESC"
data-param-orderType="DESC"
data-scope="sdk"
data-name="project-files"
data-success="state"
@ -78,7 +78,7 @@ $fileLimitHuman = $this->getParam('fileLimitHuman', 0);
data-param-search="{{router.params.search}}"
data-param-limit="<?php echo APP_PAGING_LIMIT; ?>"
data-param-offset="{{router.params.offset}}"
data-param-order-type="DESC"
data-param-orderType="DESC"
data-scope="sdk"
data-name="project-files">
@ -207,7 +207,7 @@ $fileLimitHuman = $this->getParam('fileLimitHuman', 0);
data-event="submit"
data-param-search="{{router.params.search}}"
data-param-limit="<?php echo APP_PAGING_LIMIT; ?>"
data-param-order-type="DESC"
data-param-orderType="DESC"
data-scope="sdk"
data-name="project-files"
data-success="state"
@ -222,7 +222,7 @@ $fileLimitHuman = $this->getParam('fileLimitHuman', 0);
data-event="submit"
data-param-search="{{router.params.search}}"
data-param-limit="<?php echo APP_PAGING_LIMIT; ?>"
data-param-order-type="DESC"
data-param-orderType="DESC"
data-scope="sdk"
data-name="project-files"
data-success="state"

View file

@ -56,7 +56,7 @@ $providers = $this->getParam('providers', []);
data-param-search="{{router.params.search}}"
data-param-limit="<?php echo APP_PAGING_LIMIT; ?>"
data-param-offset=""
data-param-order-type="DESC"
data-param-orderType="DESC"
data-scope="sdk"
data-name="project-users"
data-success="state"
@ -77,7 +77,7 @@ $providers = $this->getParam('providers', []);
data-param-search="{{router.params.search}}"
data-param-limit="<?php echo APP_PAGING_LIMIT; ?>"
data-param-offset="{{router.params.offset}}"
data-param-order-type="DESC"
data-param-orderType="DESC"
data-scope="sdk"
data-name="project-users">
@ -141,7 +141,7 @@ $providers = $this->getParam('providers', []);
data-event="submit"
data-param-search="{{router.params.search}}"
data-param-limit="<?php echo APP_PAGING_LIMIT; ?>"
data-param-order-type="DESC"
data-param-orderType="DESC"
data-scope="sdk"
data-name="project-users"
data-success="state"
@ -156,7 +156,7 @@ $providers = $this->getParam('providers', []);
data-event="submit"
data-param-search="{{router.params.search}}"
data-param-limit="<?php echo APP_PAGING_LIMIT; ?>"
data-param-order-type="DESC"
data-param-orderType="DESC"
data-scope="sdk"
data-name="project-users"
data-success="state"
@ -203,7 +203,7 @@ $providers = $this->getParam('providers', []);
data-param-search="{{router.params.search}}"
data-param-limit="<?php echo APP_PAGING_LIMIT; ?>"
data-param-offset=""
data-param-order-type="DESC"
data-param-orderType="DESC"
data-scope="sdk"
data-name="project-teams"
data-success="state"
@ -224,7 +224,7 @@ $providers = $this->getParam('providers', []);
data-param-search="{{router.params.search}}"
data-param-limit="<?php echo APP_PAGING_LIMIT; ?>"
data-param-offset="{{router.params.offset}}"
data-param-order-type="DESC"
data-param-orderType="DESC"
data-scope="sdk"
data-name="project-teams">
@ -298,7 +298,7 @@ $providers = $this->getParam('providers', []);
data-event="submit"
data-param-search="{{router.params.search}}"
data-param-limit="<?php echo APP_PAGING_LIMIT; ?>"
data-param-order-type="DESC"
data-param-orderType="DESC"
data-scope="sdk"
data-name="project-teams"
data-success="state"
@ -313,7 +313,7 @@ $providers = $this->getParam('providers', []);
data-event="submit"
data-param-search="{{router.params.search}}"
data-param-limit="<?php echo APP_PAGING_LIMIT; ?>"
data-param-order-type="DESC"
data-param-orderType="DESC"
data-scope="sdk"
data-name="project-teams"
data-success="state"

View file

@ -26,10 +26,10 @@
<input type="hidden" name="secret" data-ls-bind="{{router.params.secret}}">
<label>Password</label>
<input name="passwordA" type="password" autocomplete="off" placeholder="" required data-forms-password-meter pattern=".{6,}" title="Six or more characters">
<input name="password" type="password" autocomplete="off" placeholder="" required data-forms-password-meter pattern=".{6,}" title="Six or more characters">
<label>Password Again</label>
<input name="passwordB" type="password" autocomplete="off" placeholder="" required data-forms-password-meter pattern=".{6,}" title="Six or more characters">
<input name="passwordAgain" type="password" autocomplete="off" placeholder="" required data-forms-password-meter pattern=".{6,}" title="Six or more characters">
<button type="submit" class="btn btn-primary"><i class="fa fa-sign-in"></i> Apply</button>
</form>

View file

@ -33,21 +33,21 @@ let path='/account/name';let payload={};if(name){payload['name']=name;}
return http.patch(path,{'content-type':'application/json',},payload);},updatePassword:function(password,oldPassword){if(password===undefined){throw new Error('Missing required parameter: "password"');}
if(oldPassword===undefined){throw new Error('Missing required parameter: "oldPassword"');}
let path='/account/password';let payload={};if(password){payload['password']=password;}
if(oldPassword){payload['old-password']=oldPassword;}
if(oldPassword){payload['oldPassword']=oldPassword;}
return http.patch(path,{'content-type':'application/json',},payload);},getPrefs:function(){let path='/account/prefs';let payload={};return http.get(path,{'content-type':'application/json',},payload);},updatePrefs:function(prefs){if(prefs===undefined){throw new Error('Missing required parameter: "prefs"');}
let path='/account/prefs';let payload={};if(prefs){payload['prefs']=prefs;}
return http.patch(path,{'content-type':'application/json',},payload);},createRecovery:function(email,url){if(email===undefined){throw new Error('Missing required parameter: "email"');}
if(url===undefined){throw new Error('Missing required parameter: "url"');}
let path='/account/recovery';let payload={};if(email){payload['email']=email;}
if(url){payload['url']=url;}
return http.post(path,{'content-type':'application/json',},payload);},updateRecovery:function(userId,secret,passwordA,passwordB){if(userId===undefined){throw new Error('Missing required parameter: "userId"');}
return http.post(path,{'content-type':'application/json',},payload);},updateRecovery:function(userId,secret,password,passwordAgain){if(userId===undefined){throw new Error('Missing required parameter: "userId"');}
if(secret===undefined){throw new Error('Missing required parameter: "secret"');}
if(passwordA===undefined){throw new Error('Missing required parameter: "passwordA"');}
if(passwordB===undefined){throw new Error('Missing required parameter: "passwordB"');}
if(password===undefined){throw new Error('Missing required parameter: "password"');}
if(passwordAgain===undefined){throw new Error('Missing required parameter: "passwordAgain"');}
let path='/account/recovery';let payload={};if(userId){payload['userId']=userId;}
if(secret){payload['secret']=secret;}
if(passwordA){payload['password-a']=passwordA;}
if(passwordB){payload['password-b']=passwordB;}
if(password){payload['password']=password;}
if(passwordAgain){payload['passwordAgain']=passwordAgain;}
return http.put(path,{'content-type':'application/json',},payload);},getSessions:function(){let path='/account/sessions';let payload={};return http.get(path,{'content-type':'application/json',},payload);},createSession:function(email,password){if(email===undefined){throw new Error('Missing required parameter: "email"');}
if(password===undefined){throw new Error('Missing required parameter: "password"');}
let path='/account/sessions';let payload={};if(email){payload['email']=email;}
@ -113,9 +113,9 @@ let path='/database/collections/{collectionId}'.replace(new RegExp('{collectionI
let path='/database/collections/{collectionId}/documents'.replace(new RegExp('{collectionId}','g'),collectionId);let payload={};if(filters){payload['filters']=filters;}
if(offset){payload['offset']=offset;}
if(limit){payload['limit']=limit;}
if(orderField){payload['order-field']=orderField;}
if(orderType){payload['order-type']=orderType;}
if(orderCast){payload['order-cast']=orderCast;}
if(orderField){payload['orderField']=orderField;}
if(orderType){payload['orderType']=orderType;}
if(orderCast){payload['orderCast']=orderCast;}
if(search){payload['search']=search;}
if(first){payload['first']=first;}
if(last){payload['last']=last;}

View file

@ -33,21 +33,21 @@ let path='/account/name';let payload={};if(name){payload['name']=name;}
return http.patch(path,{'content-type':'application/json',},payload);},updatePassword:function(password,oldPassword){if(password===undefined){throw new Error('Missing required parameter: "password"');}
if(oldPassword===undefined){throw new Error('Missing required parameter: "oldPassword"');}
let path='/account/password';let payload={};if(password){payload['password']=password;}
if(oldPassword){payload['old-password']=oldPassword;}
if(oldPassword){payload['oldPassword']=oldPassword;}
return http.patch(path,{'content-type':'application/json',},payload);},getPrefs:function(){let path='/account/prefs';let payload={};return http.get(path,{'content-type':'application/json',},payload);},updatePrefs:function(prefs){if(prefs===undefined){throw new Error('Missing required parameter: "prefs"');}
let path='/account/prefs';let payload={};if(prefs){payload['prefs']=prefs;}
return http.patch(path,{'content-type':'application/json',},payload);},createRecovery:function(email,url){if(email===undefined){throw new Error('Missing required parameter: "email"');}
if(url===undefined){throw new Error('Missing required parameter: "url"');}
let path='/account/recovery';let payload={};if(email){payload['email']=email;}
if(url){payload['url']=url;}
return http.post(path,{'content-type':'application/json',},payload);},updateRecovery:function(userId,secret,passwordA,passwordB){if(userId===undefined){throw new Error('Missing required parameter: "userId"');}
return http.post(path,{'content-type':'application/json',},payload);},updateRecovery:function(userId,secret,password,passwordAgain){if(userId===undefined){throw new Error('Missing required parameter: "userId"');}
if(secret===undefined){throw new Error('Missing required parameter: "secret"');}
if(passwordA===undefined){throw new Error('Missing required parameter: "passwordA"');}
if(passwordB===undefined){throw new Error('Missing required parameter: "passwordB"');}
if(password===undefined){throw new Error('Missing required parameter: "password"');}
if(passwordAgain===undefined){throw new Error('Missing required parameter: "passwordAgain"');}
let path='/account/recovery';let payload={};if(userId){payload['userId']=userId;}
if(secret){payload['secret']=secret;}
if(passwordA){payload['password-a']=passwordA;}
if(passwordB){payload['password-b']=passwordB;}
if(password){payload['password']=password;}
if(passwordAgain){payload['passwordAgain']=passwordAgain;}
return http.put(path,{'content-type':'application/json',},payload);},getSessions:function(){let path='/account/sessions';let payload={};return http.get(path,{'content-type':'application/json',},payload);},createSession:function(email,password){if(email===undefined){throw new Error('Missing required parameter: "email"');}
if(password===undefined){throw new Error('Missing required parameter: "password"');}
let path='/account/sessions';let payload={};if(email){payload['email']=email;}
@ -113,9 +113,9 @@ let path='/database/collections/{collectionId}'.replace(new RegExp('{collectionI
let path='/database/collections/{collectionId}/documents'.replace(new RegExp('{collectionId}','g'),collectionId);let payload={};if(filters){payload['filters']=filters;}
if(offset){payload['offset']=offset;}
if(limit){payload['limit']=limit;}
if(orderField){payload['order-field']=orderField;}
if(orderType){payload['order-type']=orderType;}
if(orderCast){payload['order-cast']=orderCast;}
if(orderField){payload['orderField']=orderField;}
if(orderType){payload['orderType']=orderType;}
if(orderCast){payload['orderCast']=orderCast;}
if(search){payload['search']=search;}
if(first){payload['first']=first;}
if(last){payload['last']=last;}

View file

@ -516,7 +516,7 @@
}
if(oldPassword) {
payload['old-password'] = oldPassword;
payload['oldPassword'] = oldPassword;
}
return http
@ -630,12 +630,12 @@
*
* @param {string} userId
* @param {string} secret
* @param {string} passwordA
* @param {string} passwordB
* @param {string} password
* @param {string} passwordAgain
* @throws {Error}
* @return {Promise}
*/
updateRecovery: function(userId, secret, passwordA, passwordB) {
updateRecovery: function(userId, secret, password, passwordAgain) {
if(userId === undefined) {
throw new Error('Missing required parameter: "userId"');
}
@ -644,12 +644,12 @@
throw new Error('Missing required parameter: "secret"');
}
if(passwordA === undefined) {
throw new Error('Missing required parameter: "passwordA"');
if(password === undefined) {
throw new Error('Missing required parameter: "password"');
}
if(passwordB === undefined) {
throw new Error('Missing required parameter: "passwordB"');
if(passwordAgain === undefined) {
throw new Error('Missing required parameter: "passwordAgain"');
}
let path = '/account/recovery';
@ -664,12 +664,12 @@
payload['secret'] = secret;
}
if(passwordA) {
payload['password-a'] = passwordA;
if(password) {
payload['password'] = password;
}
if(passwordB) {
payload['password-b'] = passwordB;
if(passwordAgain) {
payload['passwordAgain'] = passwordAgain;
}
return http
@ -1401,15 +1401,15 @@
}
if(orderField) {
payload['order-field'] = orderField;
payload['orderField'] = orderField;
}
if(orderType) {
payload['order-type'] = orderType;
payload['orderType'] = orderType;
}
if(orderCast) {
payload['order-cast'] = orderCast;
payload['orderCast'] = orderCast;
}
if(search) {

View file

@ -449,7 +449,7 @@ trait AccountBase
'cookie' => 'a_session_'.$this->getProject()['$id'].'=' . $session,
]), [
'password' => 'new-password',
'old-password' => $password,
'oldPassword' => $password,
]);
$this->assertEquals($response['headers']['status-code'], 200);
@ -1019,8 +1019,8 @@ trait AccountBase
]), [
'userId' => $id,
'secret' => $recovery,
'password-a' => $newPassowrd,
'password-b' => $newPassowrd,
'password' => $newPassowrd,
'passwordAgain' => $newPassowrd,
]);
$this->assertEquals(200, $response['headers']['status-code']);
@ -1035,8 +1035,8 @@ trait AccountBase
]), [
'userId' => 'ewewe',
'secret' => $recovery,
'password-a' => $newPassowrd,
'password-b' => $newPassowrd,
'password' => $newPassowrd,
'passwordAgain' => $newPassowrd,
]);
$this->assertEquals(404, $response['headers']['status-code']);
@ -1048,8 +1048,8 @@ trait AccountBase
]), [
'userId' => $id,
'secret' => 'sdasdasdasd',
'password-a' => $newPassowrd,
'password-b' => $newPassowrd,
'password' => $newPassowrd,
'passwordAgain' => $newPassowrd,
]);
$this->assertEquals(401, $response['headers']['status-code']);
@ -1061,8 +1061,8 @@ trait AccountBase
]), [
'userId' => $id,
'secret' => $recovery,
'password-a' => $newPassowrd.'x',
'password-b' => $newPassowrd,
'password' => $newPassowrd.'x',
'passwordAgain' => $newPassowrd,
]);
$this->assertEquals(400, $response['headers']['status-code']);

View file

@ -254,9 +254,9 @@ trait DatabaseBase
'content-type' => 'application/json',
'x-appwrite-project' => $this->getProject()['$id'],
], $this->getHeaders()), [
'order-field' => 'releaseYear',
'order-type' => 'ASC',
'order-cast' => 'int',
'orderField' => 'releaseYear',
'orderType' => 'ASC',
'orderCast' => 'int',
]);
$this->assertEquals(1944, $documents['body']['documents'][0]['releaseYear']);
@ -268,9 +268,9 @@ trait DatabaseBase
'content-type' => 'application/json',
'x-appwrite-project' => $this->getProject()['$id'],
], $this->getHeaders()), [
'order-field' => 'releaseYear',
'order-type' => 'DESC',
'order-cast' => 'int',
'orderField' => 'releaseYear',
'orderType' => 'DESC',
'orderCast' => 'int',
]);
$this->assertEquals(1944, $documents['body']['documents'][2]['releaseYear']);
@ -291,9 +291,9 @@ trait DatabaseBase
'x-appwrite-project' => $this->getProject()['$id'],
], $this->getHeaders()), [
'limit' => 1,
'order-field' => 'releaseYear',
'order-type' => 'ASC',
'order-cast' => 'int',
'orderField' => 'releaseYear',
'orderType' => 'ASC',
'orderCast' => 'int',
]);
$this->assertEquals(1944, $documents['body']['documents'][0]['releaseYear']);
@ -305,9 +305,9 @@ trait DatabaseBase
], $this->getHeaders()), [
'limit' => 2,
'offset' => 1,
'order-field' => 'releaseYear',
'order-type' => 'ASC',
'order-cast' => 'int',
'orderField' => 'releaseYear',
'orderType' => 'ASC',
'orderCast' => 'int',
]);
$this->assertEquals(2017, $documents['body']['documents'][0]['releaseYear']);
@ -327,9 +327,9 @@ trait DatabaseBase
'x-appwrite-project' => $this->getProject()['$id'],
], $this->getHeaders()), [
'limit' => 1,
'order-field' => 'releaseYear',
'order-type' => 'ASC',
'order-cast' => 'int',
'orderField' => 'releaseYear',
'orderType' => 'ASC',
'orderCast' => 'int',
'first' => true,
]);
@ -341,9 +341,9 @@ trait DatabaseBase
], $this->getHeaders()), [
'limit' => 2,
'offset' => 1,
'order-field' => 'releaseYear',
'order-type' => 'ASC',
'order-cast' => 'int',
'orderField' => 'releaseYear',
'orderType' => 'ASC',
'orderCast' => 'int',
'last' => true,
]);