1
0
Fork 0
mirror of synced 2024-05-20 20:52:36 +12:00

Updated all the REST API query params to be in camelCase

This commit is contained in:
Eldad Fux 2020-03-25 22:19:19 +02:00
parent d66017f34b
commit 7b1dd6b2c3
12 changed files with 85 additions and 79 deletions

View file

@ -1,3 +1,9 @@
# Version 0.6.0 (PRE-RELEASE)
## Breaking Changes
* Updated all the REST API query params to be in camelCase
# Version 0.5.3 (PRE-RELEASE)
## Bug Fixes

View file

@ -692,7 +692,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
@ -1087,11 +1087,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);
}
@ -1117,7 +1117,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

@ -33,7 +33,7 @@ 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"');}
@ -46,8 +46,8 @@ if(passwordA===undefined){throw new Error('Missing required parameter: "password
if(passwordB===undefined){throw new Error('Missing required parameter: "passwordB"');}
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(passwordA){payload['password']=passwordA;}
if(passwordB){payload['passwordAgain']=passwordB;}
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,7 +33,7 @@ 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"');}
@ -46,8 +46,8 @@ if(passwordA===undefined){throw new Error('Missing required parameter: "password
if(passwordB===undefined){throw new Error('Missing required parameter: "passwordB"');}
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(passwordA){payload['password']=passwordA;}
if(passwordB){payload['passwordAgain']=passwordB;}
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
@ -665,11 +665,11 @@
}
if(passwordA) {
payload['password-a'] = passwordA;
payload['password'] = passwordA;
}
if(passwordB) {
payload['password-b'] = passwordB;
payload['passwordAgain'] = passwordB;
}
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,
]);