1
0
Fork 0
mirror of synced 2024-07-02 21:20:58 +12:00

Updated prefs

This commit is contained in:
Eldad Fux 2020-08-06 15:00:16 +03:00
parent 1ce645a209
commit 1707fac0ab
2 changed files with 12 additions and 103 deletions

View file

@ -28,19 +28,6 @@ use Utopia\Validator\ArrayList;
$oauthDefaultSuccess = App::getEnv('_APP_HOME').'/auth/oauth2/success'; $oauthDefaultSuccess = App::getEnv('_APP_HOME').'/auth/oauth2/success';
$oauthDefaultFailure = App::getEnv('_APP_HOME').'/auth/oauth2/failure'; $oauthDefaultFailure = App::getEnv('_APP_HOME').'/auth/oauth2/failure';
$oauth2Keys = [];
App::init(function() use (&$oauth2Keys) {
foreach (Config::getParam('providers') as $key => $provider) {
if (!$provider['enabled']) {
continue;
}
$oauth2Keys[] = 'oauth2'.\ucfirst($key);
$oauth2Keys[] = 'oauth2'.\ucfirst($key).'AccessToken';
}
}, [], 'account');
App::post('/v1/account') App::post('/v1/account')
->desc('Create Account') ->desc('Create Account')
->groups(['api', 'account']) ->groups(['api', 'account'])
@ -54,7 +41,7 @@ App::post('/v1/account')
->param('email', '', function () { return new Email(); }, 'User email.') ->param('email', '', function () { return new Email(); }, 'User email.')
->param('password', '', function () { return new Password(); }, 'User password. Must be between 6 to 32 chars.') ->param('password', '', function () { return new Password(); }, 'User password. Must be between 6 to 32 chars.')
->param('name', '', function () { return new Text(100); }, 'User name.', true) ->param('name', '', function () { return new Text(100); }, 'User name.', true)
->action(function ($email, $password, $name, $request, $response, $project, $projectDB, $webhooks, $audits) use ($oauth2Keys) { ->action(function ($email, $password, $name, $request, $response, $project, $projectDB, $webhooks, $audits) {
/** @var Appwrite\Swoole\Request $request */ /** @var Appwrite\Swoole\Request $request */
/** @var Appwrite\Swoole\Response $response */ /** @var Appwrite\Swoole\Response $response */
/** @var Appwrite\Database\Document $project */ /** @var Appwrite\Database\Document $project */
@ -133,17 +120,11 @@ App::post('/v1/account')
->setParam('resource', 'users/'.$user->getId()) ->setParam('resource', 'users/'.$user->getId())
; ;
$response $user
->setStatusCode(Response::STATUS_CODE_CREATED) ->setAttribute('roles', Authorization::getRoles())
->json(\array_merge($user->getArrayCopy(\array_merge( ;
[
'$id', $response->dynamic($user, Response::MODEL_USER);
'email',
'registration',
'name',
],
$oauth2Keys
)), ['roles' => Authorization::getRoles()]));
}, ['request', 'response', 'project', 'projectDB', 'webhooks', 'audits']); }, ['request', 'response', 'project', 'projectDB', 'webhooks', 'audits']);
App::post('/v1/account/sessions') App::post('/v1/account/sessions')

View file

@ -65,27 +65,7 @@ App::post('/v1/users')
throw new Exception('Account already exists', 409); throw new Exception('Account already exists', 409);
} }
$oauth2Keys = []; $response->dynamic($user, Response::MODEL_USER);
foreach (Config::getParam('providers') as $key => $provider) {
if (!$provider['enabled']) {
continue;
}
$oauth2Keys[] = 'oauth2'.\ucfirst($key);
$oauth2Keys[] = 'oauth2'.\ucfirst($key).'AccessToken';
}
$response
->setStatusCode(Response::STATUS_CODE_CREATED)
->json(\array_merge($user->getArrayCopy(\array_merge([
'$id',
'status',
'email',
'registration',
'emailVerification',
'name',
], $oauth2Keys)), ['roles' => []]));
}, ['response', 'projectDB']); }, ['response', 'projectDB']);
App::get('/v1/users') App::get('/v1/users')
@ -116,18 +96,7 @@ App::get('/v1/users')
], ],
]); ]);
$oauth2Keys = []; $results = \array_map(function ($value) { /* @var $value \Database\Document */
foreach (Config::getParam('providers') as $key => $provider) {
if (!$provider['enabled']) {
continue;
}
$oauth2Keys[] = 'oauth2'.\ucfirst($key);
$oauth2Keys[] = 'oauth2'.\ucfirst($key).'AccessToken';
}
$results = \array_map(function ($value) use ($oauth2Keys) { /* @var $value \Database\Document */
return $value->getArrayCopy(\array_merge( return $value->getArrayCopy(\array_merge(
[ [
'$id', '$id',
@ -137,7 +106,6 @@ App::get('/v1/users')
'emailVerification', 'emailVerification',
'name', 'name',
], ],
$oauth2Keys
)); ));
}, $results); }, $results);
@ -163,28 +131,7 @@ App::get('/v1/users/:userId')
throw new Exception('User not found', 404); throw new Exception('User not found', 404);
} }
$oauth2Keys = []; $response->dynamic($user, Response::MODEL_USER);
foreach (Config::getParam('providers') as $key => $provider) {
if (!$provider['enabled']) {
continue;
}
$oauth2Keys[] = 'oauth2'.\ucfirst($key);
$oauth2Keys[] = 'oauth2'.\ucfirst($key).'AccessToken';
}
$response->json(\array_merge($user->getArrayCopy(\array_merge(
[
'$id',
'status',
'email',
'registration',
'emailVerification',
'name',
],
$oauth2Keys
)), ['roles' => []]));
}, ['response', 'projectDB']); }, ['response', 'projectDB']);
App::get('/v1/users/:userId/prefs') App::get('/v1/users/:userId/prefs')
@ -390,26 +337,7 @@ App::patch('/v1/users/:userId/status')
throw new Exception('Failed saving user to DB', 500); throw new Exception('Failed saving user to DB', 500);
} }
$oauth2Keys = []; $response->dynamic($user, Response::MODEL_USER);
foreach (Config::getParam('providers') as $key => $provider) {
if (!$provider['enabled']) {
continue;
}
$oauth2Keys[] = 'oauth2'.\ucfirst($key);
$oauth2Keys[] = 'oauth2'.\ucfirst($key).'AccessToken';
}
$response
->json(\array_merge($user->getArrayCopy(\array_merge([
'$id',
'status',
'email',
'registration',
'emailVerification',
'name',
], $oauth2Keys)), ['roles' => []]));
}, ['response', 'projectDB']); }, ['response', 'projectDB']);
App::patch('/v1/users/:userId/prefs') App::patch('/v1/users/:userId/prefs')
@ -476,7 +404,7 @@ App::delete('/v1/users/:userId/sessions/:sessionId')
} }
} }
$response->json(array('result' => 'success')); $response->noContent();
}, ['response', 'projectDB']); }, ['response', 'projectDB']);
App::delete('/v1/users/:userId/sessions') App::delete('/v1/users/:userId/sessions')
@ -507,5 +435,5 @@ App::delete('/v1/users/:userId/sessions')
} }
} }
$response->json(array('result' => 'success')); $response->noContent();
}, ['response', 'projectDB']); }, ['response', 'projectDB']);