1
0
Fork 0
mirror of synced 2024-06-28 11:10:46 +12:00

Updated swoole I/O

This commit is contained in:
Eldad Fux 2020-08-15 00:56:33 +03:00
parent 0b5e24133d
commit 58384ac0b9
19 changed files with 141 additions and 119 deletions

View file

@ -43,7 +43,7 @@ App::post('/v1/account')
->param('name', '', function () { return new Text(100); }, 'User name.', true)
->action(function ($email, $password, $name, $request, $response, $project, $projectDB, $webhooks, $audits) {
/** @var Appwrite\Swoole\Request $request */
/** @var Appwrite\Swoole\Response $response */
/** @var Appwrite\Utopia\Response $response */
/** @var Appwrite\Database\Document $project */
/** @var Appwrite\Database\Database $projectDB */
/** @var Appwrite\Event\Event $webhooks */
@ -143,7 +143,7 @@ App::post('/v1/account/sessions')
->param('password', '', function () { return new Password(); }, 'User password. Must be between 6 to 32 chars.')
->action(function ($email, $password, $request, $response, $projectDB, $locale, $geodb, $webhooks, $audits) {
/** @var Appwrite\Swoole\Request $request */
/** @var Appwrite\Swoole\Response $response */
/** @var Appwrite\Utopia\Response $response */
/** @var Appwrite\Database\Database $projectDB */
/** @var Utopia\Locale\Locale $locale */
/** @var GeoIp2\Database\Reader $geodb */
@ -291,7 +291,7 @@ App::get('/v1/account/sessions/oauth2/:provider')
->param('scopes', [], function () { return new ArrayList(new Text(128)); }, 'A list of custom OAuth2 scopes. Check each provider internal docs for a list of supported scopes.', true)
->action(function ($provider, $success, $failure, $scopes, $request, $response, $project) {
/** @var Appwrite\Swoole\Request $request */
/** @var Appwrite\Swoole\Response $response */
/** @var Appwrite\Utopia\Response $response */
/** @var Appwrite\Database\Document $project */
$protocol = $request->getProtocol();
@ -336,7 +336,7 @@ App::get('/v1/account/sessions/oauth2/callback/:provider/:projectId')
->param('state', '', function () { return new Text(2048); }, 'Login state params.', true)
->action(function ($projectId, $provider, $code, $state, $request, $response) {
/** @var Appwrite\Swoole\Request $request */
/** @var Appwrite\Swoole\Response $response */
/** @var Appwrite\Utopia\Response $response */
$domain = $request->getHostname();
$protocol = $request->getProtocol();
@ -361,7 +361,7 @@ App::post('/v1/account/sessions/oauth2/callback/:provider/:projectId')
->param('state', '', function () { return new Text(2048); }, 'Login state params.', true)
->action(function ($projectId, $provider, $code, $state, $request, $response) {
/** @var Appwrite\Swoole\Request $request */
/** @var Appwrite\Swoole\Response $response */
/** @var Appwrite\Utopia\Response $response */
$domain = $request->getHostname();
$protocol = $request->getProtocol();
@ -387,7 +387,7 @@ App::get('/v1/account/sessions/oauth2/:provider/redirect')
->param('state', '', function () { return new Text(2048); }, 'OAuth2 state params.', true)
->action(function ($provider, $code, $state, $request, $response, $project, $user, $projectDB, $geodb, $audits) use ($oauthDefaultSuccess) {
/** @var Appwrite\Swoole\Request $request */
/** @var Appwrite\Swoole\Response $response */
/** @var Appwrite\Utopia\Response $response */
/** @var Appwrite\Database\Document $project */
/** @var Appwrite\Database\Document $user */
/** @var Appwrite\Database\Database $projectDB */
@ -625,7 +625,7 @@ App::get('/v1/account')
->label('sdk.description', '/docs/references/account/get.md')
->label('sdk.response', ['200' => 'user'])
->action(function ($response, $user) {
/** @var Appwrite\Swoole\Response $response */
/** @var Appwrite\Utopia\Response $response */
/** @var Appwrite\Database\Document $user */
$user
@ -644,7 +644,7 @@ App::get('/v1/account/prefs')
->label('sdk.method', 'getPrefs')
->label('sdk.description', '/docs/references/account/get-prefs.md')
->action(function ($response, $user) {
/** @var Appwrite\Swoole\Response $response */
/** @var Appwrite\Utopia\Response $response */
/** @var Appwrite\Database\Document $user */
$prefs = $user->getAttribute('prefs', new \stdClass);
@ -661,7 +661,7 @@ App::get('/v1/account/sessions')
->label('sdk.method', 'getSessions')
->label('sdk.description', '/docs/references/account/get-sessions.md')
->action(function ($response, $user, $locale) {
/** @var Appwrite\Swoole\Response $response */
/** @var Appwrite\Utopia\Response $response */
/** @var Appwrite\Database\Document $user */
/** @var Utopia\Locale\Locale $locale */
@ -698,7 +698,7 @@ App::get('/v1/account/logs')
->label('sdk.method', 'getLogs')
->label('sdk.description', '/docs/references/account/get-logs.md')
->action(function ($response, $register, $project, $user, $locale, $geodb) {
/** @var Appwrite\Swoole\Response $response */
/** @var Appwrite\Utopia\Response $response */
/** @var Appwrite\Database\Document $project */
/** @var Appwrite\Database\Document $user */
/** @var Utopia\Locale\Locale $locale */
@ -776,7 +776,7 @@ App::patch('/v1/account/name')
->label('sdk.description', '/docs/references/account/update-name.md')
->param('name', '', function () { return new Text(100); }, 'User name.')
->action(function ($name, $response, $user, $projectDB, $audits) {
/** @var Appwrite\Swoole\Response $response */
/** @var Appwrite\Utopia\Response $response */
/** @var Appwrite\Database\Document $user */
/** @var Appwrite\Database\Database $projectDB */
/** @var Appwrite\Event\Event $audits */
@ -812,7 +812,7 @@ App::patch('/v1/account/password')
->param('password', '', function () { return new Password(); }, 'New user password. Must be between 6 to 32 chars.')
->param('oldPassword', '', function () { return new Password(); }, 'Old user password. Must be between 6 to 32 chars.')
->action(function ($password, $oldPassword, $response, $user, $projectDB, $audits) {
/** @var Appwrite\Swoole\Response $response */
/** @var Appwrite\Utopia\Response $response */
/** @var Appwrite\Database\Document $user */
/** @var Appwrite\Database\Database $projectDB */
/** @var Appwrite\Event\Event $audits */
@ -852,7 +852,7 @@ App::patch('/v1/account/email')
->param('email', '', function () { return new Email(); }, 'User email.')
->param('password', '', function () { return new Password(); }, 'User password. Must be between 6 to 32 chars.')
->action(function ($email, $password, $response, $user, $projectDB, $audits) {
/** @var Appwrite\Swoole\Response $response */
/** @var Appwrite\Utopia\Response $response */
/** @var Appwrite\Database\Document $user */
/** @var Appwrite\Database\Database $projectDB */
/** @var Appwrite\Event\Event $audits */
@ -892,7 +892,6 @@ App::patch('/v1/account/email')
->setParam('resource', 'users/'.$user->getId())
;
$response->dynamic($user, Response::MODEL_USER);
}, ['response', 'user', 'projectDB', 'audits']);
@ -907,7 +906,7 @@ App::patch('/v1/account/prefs')
->param('prefs', [], function () { return new Assoc();}, 'Prefs key-value JSON object.')
->label('sdk.description', '/docs/references/account/update-prefs.md')
->action(function ($prefs, $response, $user, $projectDB, $audits) {
/** @var Appwrite\Swoole\Response $response */
/** @var Appwrite\Utopia\Response $response */
/** @var Appwrite\Database\Document $user */
/** @var Appwrite\Database\Database $projectDB */
/** @var Appwrite\Event\Event $audits */
@ -941,7 +940,7 @@ App::delete('/v1/account')
->label('sdk.description', '/docs/references/account/delete.md')
->action(function ($request, $response, $user, $projectDB, $audits, $webhooks) {
/** @var Appwrite\Swoole\Request $request */
/** @var Appwrite\Swoole\Response $response */
/** @var Appwrite\Utopia\Response $response */
/** @var Appwrite\Database\Document $user */
/** @var Appwrite\Database\Database $projectDB */
/** @var Appwrite\Event\Event $audits */
@ -1004,7 +1003,7 @@ App::delete('/v1/account/sessions/:sessionId')
->param('sessionId', null, function () { return new UID(); }, 'Session unique ID. Use the string \'current\' to delete the current device session.')
->action(function ($sessionId, $request, $response, $user, $projectDB, $audits, $webhooks) {
/** @var Appwrite\Swoole\Request $request */
/** @var Appwrite\Swoole\Response $response */
/** @var Appwrite\Utopia\Response $response */
/** @var Appwrite\Database\Document $user */
/** @var Appwrite\Database\Database $projectDB */
/** @var Appwrite\Event\Event $audits */
@ -1068,7 +1067,7 @@ App::delete('/v1/account/sessions')
->label('abuse-limit', 100)
->action(function ($request, $response, $user, $projectDB, $audits, $webhooks) {
/** @var Appwrite\Swoole\Request $request */
/** @var Appwrite\Swoole\Response $response */
/** @var Appwrite\Utopia\Response $response */
/** @var Appwrite\Database\Document $user */
/** @var Appwrite\Database\Database $projectDB */
/** @var Appwrite\Event\Event $audits */
@ -1126,7 +1125,7 @@ App::post('/v1/account/recovery')
->param('url', '', function ($clients) { return new Host($clients); }, 'URL to redirect the user back to your app from the recovery email. Only URLs from hostnames in your project platform list are allowed. This requirement helps to prevent an [open redirect](https://cheatsheetseries.owasp.org/cheatsheets/Unvalidated_Redirects_and_Forwards_Cheat_Sheet.html) attack against your project API.', false, ['clients'])
->action(function ($email, $url, $request, $response, $projectDB, $project, $locale, $mails, $audits) {
/** @var Appwrite\Swoole\Request $request */
/** @var Appwrite\Swoole\Response $response */
/** @var Appwrite\Utopia\Response $response */
/** @var Appwrite\Database\Database $projectDB */
/** @var Appwrite\Database\Document $project */
/** @var Utopia\Locale\Locale $locale */
@ -1233,7 +1232,7 @@ App::put('/v1/account/recovery')
->param('password', '', function () { return new Password(); }, 'New password. Must be between 6 to 32 chars.')
->param('passwordAgain', '', function () {return new Password(); }, 'New password again. Must be between 6 to 32 chars.')
->action(function ($userId, $secret, $password, $passwordAgain, $response, $projectDB, $audits) {
/** @var Appwrite\Swoole\Response $response */
/** @var Appwrite\Utopia\Response $response */
/** @var Appwrite\Database\Database $projectDB */
/** @var Appwrite\Event\Event $audits */
@ -1303,7 +1302,7 @@ App::post('/v1/account/verification')
->param('url', '', function ($clients) { return new Host($clients); }, 'URL to redirect the user back to your app from the verification email. Only URLs from hostnames in your project platform list are allowed. This requirement helps to prevent an [open redirect](https://cheatsheetseries.owasp.org/cheatsheets/Unvalidated_Redirects_and_Forwards_Cheat_Sheet.html) attack against your project API.', false, ['clients']) // TODO add built-in confirm page
->action(function ($url, $request, $response, $project, $user, $projectDB, $locale, $audits, $mails) {
/** @var Appwrite\Swoole\Request $request */
/** @var Appwrite\Swoole\Response $response */
/** @var Appwrite\Utopia\Response $response */
/** @var Appwrite\Database\Document $project */
/** @var Appwrite\Database\Document $user */
/** @var Appwrite\Database\Database $projectDB */
@ -1398,7 +1397,7 @@ App::put('/v1/account/verification')
->param('userId', '', function () { return new UID(); }, 'User unique ID.')
->param('secret', '', function () { return new Text(256); }, 'Valid verification token.')
->action(function ($userId, $secret, $response, $user, $projectDB, $audits) {
/** @var Appwrite\Swoole\Response $response */
/** @var Appwrite\Utopia\Response $response */
/** @var Appwrite\Database\Document $user */
/** @var Appwrite\Database\Database $projectDB */
/** @var Appwrite\Event\Event $audits */

View file

@ -19,7 +19,7 @@ use Utopia\Config\Config;
use Utopia\Validator\HexColor;
$avatarCallback = function ($type, $code, $width, $height, $quality, $response) {
/** @var Appwrite\Swoole\Response $response */
/** @var Appwrite\Utopia\Response $response */
$code = \strtolower($code);
$type = \strtolower($type);
@ -145,7 +145,7 @@ App::get('/v1/avatars/image')
->param('width', 400, function () { return new Range(0, 2000); }, 'Resize preview image width, Pass an integer between 0 to 2000.', true)
->param('height', 400, function () { return new Range(0, 2000); }, 'Resize preview image height, Pass an integer between 0 to 2000.', true)
->action(function ($url, $width, $height, $response) {
/** @var Appwrite\Swoole\Response $response */
/** @var Appwrite\Utopia\Response $response */
$quality = 80;
$output = 'png';
@ -209,7 +209,7 @@ App::get('/v1/avatars/favicon')
->label('sdk.description', '/docs/references/avatars/get-favicon.md')
->param('url', '', function () { return new URL(); }, 'Website URL which you want to fetch the favicon from.')
->action(function ($url, $response) {
/** @var Appwrite\Swoole\Response $response */
/** @var Appwrite\Utopia\Response $response */
$width = 56;
$height = 56;
@ -362,7 +362,7 @@ App::get('/v1/avatars/qr')
->param('margin', 1, function () { return new Range(0, 10); }, 'Margin from edge. Pass an integer between 0 to 10. Defaults to 1.', true)
->param('download', false, function () { return new Boolean(true); }, 'Return resulting image with \'Content-Disposition: attachment \' headers for the browser to start downloading it. Pass 0 for no header, or 1 for otherwise. Default value is set to 0.', true)
->action(function ($text, $size, $margin, $download, $response) {
/** @var Appwrite\Swoole\Response $response */
/** @var Appwrite\Utopia\Response $response */
$download = ($download === '1' || $download === 'true' || $download === 1 || $download === true);
@ -399,7 +399,7 @@ App::get('/v1/avatars/initials')
->param('color', '', function () { return new HexColor(); }, 'Changes text color. By default a random color will be picked and stay will persistent to the given name.', true)
->param('background', '', function () { return new HexColor(); }, 'Changes background color. By default a random color will be picked and stay will persistent to the given name.', true)
->action(function ($name, $width, $height, $color, $background, $response, $user) {
/** @var Appwrite\Swoole\Response $response */
/** @var Appwrite\Utopia\Response $response */
/** @var Appwrite\Database\Document $user */
$themes = [

View file

@ -35,7 +35,7 @@ App::post('/v1/database/collections')
->param('write', [], function () { return new ArrayList(new Text(64)); }, 'An array of strings with write permissions. By default no user is granted with any write permissions. [learn more about permissions](/docs/permissions) and get a full list of available permissions.')
->param('rules', [], function ($projectDB) { return new ArrayList(new Collection($projectDB, [Database::SYSTEM_COLLECTION_RULES], ['$collection' => Database::SYSTEM_COLLECTION_RULES, '$permissions' => ['read' => [], 'write' => []]])); }, 'Array of [rule objects](/docs/rules). Each rule define a collection field name, data type and validation.', false, ['projectDB'])
->action(function ($name, $read, $write, $rules, $response, $projectDB, $webhooks, $audits) {
/** @var Appwrite\Swoole\Response $response */
/** @var Appwrite\Utopia\Response $response */
/** @var Appwrite\Database\Database $projectDB */
/** @var Appwrite\Event\Event $webhooks */
/** @var Appwrite\Event\Event $audits */
@ -108,7 +108,7 @@ App::get('/v1/database/collections')
->param('offset', 0, function () { return new Range(0, 40000); }, 'Results offset. The default value is 0. Use this param to manage pagination.', true)
->param('orderType', 'ASC', function () { return new WhiteList(['ASC', 'DESC']); }, 'Order result by ASC or DESC order.', true)
->action(function ($search, $limit, $offset, $orderType, $response, $projectDB) {
/** @var Appwrite\Swoole\Response $response */
/** @var Appwrite\Utopia\Response $response */
/** @var Appwrite\Database\Database $projectDB */
$results = $projectDB->getCollection([
@ -136,7 +136,7 @@ App::get('/v1/database/collections/:collectionId')
->label('sdk.description', '/docs/references/database/get-collection.md')
->param('collectionId', '', function () { return new UID(); }, 'Collection unique ID.')
->action(function ($collectionId, $response, $projectDB) {
/** @var Appwrite\Swoole\Response $response */
/** @var Appwrite\Utopia\Response $response */
/** @var Appwrite\Database\Database $projectDB */
$collection = $projectDB->getDocument($collectionId, false);
@ -228,7 +228,7 @@ App::put('/v1/database/collections/:collectionId')
->param('write', [], function () { return new ArrayList(new Text(64)); }, 'An array of strings with write permissions. By default no user is granted with any write permissions. [learn more about permissions](/docs/permissions) and get a full list of available permissions.')
->param('rules', [], function ($projectDB) { return new ArrayList(new Collection($projectDB, [Database::SYSTEM_COLLECTION_RULES], ['$collection' => Database::SYSTEM_COLLECTION_RULES, '$permissions' => ['read' => [], 'write' => []]])); }, 'Array of [rule objects](/docs/rules). Each rule define a collection field name, data type and validation.', true, ['projectDB'])
->action(function ($collectionId, $name, $read, $write, $rules, $response, $projectDB, $webhooks, $audits) {
/** @var Appwrite\Swoole\Response $response */
/** @var Appwrite\Utopia\Response $response */
/** @var Appwrite\Database\Database $projectDB */
/** @var Appwrite\Event\Event $webhooks */
/** @var Appwrite\Event\Event $audits */
@ -300,7 +300,7 @@ App::delete('/v1/database/collections/:collectionId')
->label('sdk.description', '/docs/references/database/delete-collection.md')
->param('collectionId', '', function () { return new UID(); }, 'Collection unique ID.')
->action(function ($collectionId, $response, $projectDB, $webhooks, $audits) {
/** @var Appwrite\Swoole\Response $response */
/** @var Appwrite\Utopia\Response $response */
/** @var Appwrite\Database\Database $projectDB */
/** @var Appwrite\Event\Event $webhooks */
/** @var Appwrite\Event\Event $audits */
@ -347,7 +347,7 @@ App::post('/v1/database/collections/:collectionId/documents')
->param('parentProperty', '', function () { return new Key(); }, 'Parent document property name. Use when you want your new document to be a child of a parent document.', true)
->param('parentPropertyType', Document::SET_TYPE_ASSIGN, function () { return new WhiteList([Document::SET_TYPE_ASSIGN, Document::SET_TYPE_APPEND, Document::SET_TYPE_PREPEND]); }, 'Parent document property connection type. You can set this value to **assign**, **append** or **prepend**, default value is assign. Use when you want your new document to be a child of a parent document.', true)
->action(function ($collectionId, $data, $read, $write, $parentDocument, $parentProperty, $parentPropertyType, $response, $projectDB, $webhooks, $audits) {
/** @var Appwrite\Swoole\Response $response */
/** @var Appwrite\Utopia\Response $response */
/** @var Appwrite\Database\Database $projectDB */
/** @var Appwrite\Event\Event $webhooks */
/** @var Appwrite\Event\Event $audits */
@ -467,7 +467,7 @@ App::get('/v1/database/collections/:collectionId/documents')
->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)
->action(function ($collectionId, $filters, $limit, $offset, $orderField, $orderType, $orderCast, $search, $response, $projectDB) {
/** @var Appwrite\Swoole\Response $response */
/** @var Appwrite\Utopia\Response $response */
/** @var Appwrite\Database\Database $projectDB */
$collection = $projectDB->getDocument($collectionId, false);
@ -520,7 +520,7 @@ App::get('/v1/database/collections/:collectionId/documents/:documentId')
->param('documentId', null, function () { return new UID(); }, 'Document unique ID.')
->action(function ($collectionId, $documentId, $request, $response, $projectDB) {
/** @var Appwrite\Swoole\Request $request */
/** @var Appwrite\Swoole\Response $response */
/** @var Appwrite\Utopia\Response $response */
/** @var Appwrite\Database\Database $projectDB */
$document = $projectDB->getDocument($documentId, false);
@ -568,7 +568,7 @@ App::patch('/v1/database/collections/:collectionId/documents/:documentId')
->param('read', [], function () { return new ArrayList(new Text(64)); }, 'An array of strings with read permissions. By default no user is granted with any read permissions. [learn more about permissions](/docs/permissions) and get a full list of available permissions.')
->param('write', [], function () { return new ArrayList(new Text(64)); }, 'An array of strings with write permissions. By default no user is granted with any write permissions. [learn more about permissions](/docs/permissions) and get a full list of available permissions.')
->action(function ($collectionId, $documentId, $data, $read, $write, $response, $projectDB, $webhooks, $audits) {
/** @var Appwrite\Swoole\Response $response */
/** @var Appwrite\Utopia\Response $response */
/** @var Appwrite\Database\Database $projectDB */
/** @var Appwrite\Event\Event $webhooks */
/** @var Appwrite\Event\Event $audits */
@ -646,7 +646,7 @@ App::delete('/v1/database/collections/:collectionId/documents/:documentId')
->param('collectionId', null, function () { return new UID(); }, 'Collection unique ID. You can create a new collection with validation rules using the Database service [server integration](/docs/server/database#createCollection).')
->param('documentId', null, function () { return new UID(); }, 'Document unique ID.')
->action(function ($collectionId, $documentId, $response, $projectDB, $webhooks, $audits) {
/** @var Appwrite\Swoole\Response $response */
/** @var Appwrite\Utopia\Response $response */
/** @var Appwrite\Database\Database $projectDB */
/** @var Appwrite\Event\Event $webhooks */
/** @var Appwrite\Event\Event $audits */

View file

@ -8,7 +8,7 @@ use Appwrite\Storage\Validator\File;
use Appwrite\Storage\Validator\FileSize;
use Appwrite\Storage\Validator\FileType;
use Appwrite\Storage\Validator\Upload;
use Appwrite\Swoole\Response;
use Appwrite\Utopia\Response;
use Appwrite\Task\Validator\Cron;
use Utopia\App;
use Utopia\Validator\ArrayList;
@ -124,7 +124,7 @@ App::get('/v1/functions/:functionId/usage')
->param('functionId', '', function () { return new UID(); }, 'Function unique ID.')
->param('range', '30d', function () { return new WhiteList(['24h', '7d', '30d', '90d']); }, 'Date range.', true)
->action(function ($functionId, $range, $response, $project, $projectDB, $register) {
/** @var Appwrite\Swoole\Response $response */
/** @var Appwrite\Utopia\Response $response */
/** @var Appwrite\Database\Document $project */
/** @var Appwrite\Database\Database $consoleDB */
/** @var Appwrite\Database\Database $projectDB */
@ -317,7 +317,7 @@ App::delete('/v1/functions/:functionId')
->label('sdk.description', '/docs/references/functions/delete-function.md')
->param('functionId', '', function () { return new UID(); }, 'Function unique ID.')
->action(function ($functionId, $response, $project, $projectDB, $deletes) {
/** @var Appwrite\Swoole\Response $response */
/** @var Appwrite\Utopia\Response $response */
/** @var Appwrite\Database\Document $project */
/** @var Appwrite\Database\Database $projectDB */
/** @var Appwrite\Event\Event $deletes */
@ -552,7 +552,7 @@ App::post('/v1/functions/:functionId/executions')
->param('functionId', '', function () { return new UID(); }, 'Function unique ID.')
// ->param('async', 1, function () { return new Range(0, 1); }, 'Execute code asynchronously. Pass 1 for true, 0 for false. Default value is 1.', true)
->action(function ($functionId, /*$async,*/ $response, $project, $projectDB) {
/** @var Appwrite\Swoole\Response $response */
/** @var Appwrite\Utopia\Response $response */
/** @var Appwrite\Database\Document $project */
/** @var Appwrite\Database\Database $projectDB */

View file

@ -15,7 +15,7 @@ App::get('/v1/health')
->label('sdk.method', 'get')
->label('sdk.description', '/docs/references/health/get.md')
->action(function ($response) {
/** @var Appwrite\Swoole\Response $response */
/** @var Appwrite\Utopia\Response $response */
$response->json(['status' => 'OK']);
}, ['response']);
@ -25,7 +25,7 @@ App::get('/v1/health/version')
->groups(['api', 'health'])
->label('scope', 'public')
->action(function ($response) {
/** @var Appwrite\Swoole\Response $response */
/** @var Appwrite\Utopia\Response $response */
$response->json(['version' => APP_VERSION_STABLE]);
}, ['response']);
@ -39,7 +39,7 @@ App::get('/v1/health/db')
->label('sdk.method', 'getDB')
->label('sdk.description', '/docs/references/health/get-db.md')
->action(function ($response, $register) {
/** @var Appwrite\Swoole\Response $response */
/** @var Appwrite\Utopia\Response $response */
/** @var Utopia\Registry\Registry $register */
$register->get('db'); /* @var $db PDO */
@ -56,7 +56,7 @@ App::get('/v1/health/cache')
->label('sdk.method', 'getCache')
->label('sdk.description', '/docs/references/health/get-cache.md')
->action(function ($response, $register) {
/** @var Appwrite\Swoole\Response $response */
/** @var Appwrite\Utopia\Response $response */
/** @var Utopia\Registry\Registry $register */
$register->get('cache'); /* @var $cache Predis\Client */
@ -72,7 +72,7 @@ App::get('/v1/health/time')
->label('sdk.method', 'getTime')
->label('sdk.description', '/docs/references/health/get-time.md')
->action(function ($response) {
/** @var Appwrite\Swoole\Response $response */
/** @var Appwrite\Utopia\Response $response */
/*
* Code from: @see https://www.beliefmedia.com.au/query-ntp-time-server
@ -120,7 +120,7 @@ App::get('/v1/health/queue/webhooks')
->label('sdk.method', 'getQueueWebhooks')
->label('sdk.description', '/docs/references/health/get-queue-webhooks.md')
->action(function ($response) {
/** @var Appwrite\Swoole\Response $response */
/** @var Appwrite\Utopia\Response $response */
$response->json(['size' => Resque::size('v1-webhooks')]);
}, ['response']);
@ -134,7 +134,7 @@ App::get('/v1/health/queue/tasks')
->label('sdk.method', 'getQueueTasks')
->label('sdk.description', '/docs/references/health/get-queue-tasks.md')
->action(function ($response) {
/** @var Appwrite\Swoole\Response $response */
/** @var Appwrite\Utopia\Response $response */
$response->json(['size' => Resque::size('v1-tasks')]);
}, ['response']);
@ -148,7 +148,7 @@ App::get('/v1/health/queue/logs')
->label('sdk.method', 'getQueueLogs')
->label('sdk.description', '/docs/references/health/get-queue-logs.md')
->action(function ($response) {
/** @var Appwrite\Swoole\Response $response */
/** @var Appwrite\Utopia\Response $response */
$response->json(['size' => Resque::size('v1-audit')]);
}, ['response']);
@ -162,7 +162,7 @@ App::get('/v1/health/queue/usage')
->label('sdk.method', 'getQueueUsage')
->label('sdk.description', '/docs/references/health/get-queue-usage.md')
->action(function ($response) {
/** @var Appwrite\Swoole\Response $response */
/** @var Appwrite\Utopia\Response $response */
$response->json(['size' => Resque::size('v1-usage')]);
}, ['response']);
@ -176,7 +176,7 @@ App::get('/v1/health/queue/certificates')
->label('sdk.method', 'getQueueCertificates')
->label('sdk.description', '/docs/references/health/get-queue-certificates.md')
->action(function ($response) {
/** @var Appwrite\Swoole\Response $response */
/** @var Appwrite\Utopia\Response $response */
$response->json(['size' => Resque::size('v1-certificates')]);
}, ['response']);
@ -190,7 +190,7 @@ App::get('/v1/health/queue/functions')
->label('sdk.method', 'getQueueFunctions')
->label('sdk.description', '/docs/references/health/get-queue-functions.md')
->action(function ($response) {
/** @var Appwrite\Swoole\Response $response */
/** @var Appwrite\Utopia\Response $response */
$response->json(['size' => Resque::size('v1-functions')]);
}, ['response']);
@ -204,7 +204,7 @@ App::get('/v1/health/storage/local')
->label('sdk.method', 'getStorageLocal')
->label('sdk.description', '/docs/references/health/get-storage-local.md')
->action(function ($response) {
/** @var Appwrite\Swoole\Response $response */
/** @var Appwrite\Utopia\Response $response */
foreach ([
'Uploads' => APP_STORAGE_UPLOADS,
@ -235,7 +235,7 @@ App::get('/v1/health/anti-virus')
->label('sdk.method', 'getAntiVirus')
->label('sdk.description', '/docs/references/health/get-storage-anti-virus.md')
->action(function ($response) {
/** @var Appwrite\Swoole\Response $response */
/** @var Appwrite\Utopia\Response $response */
if (App::getEnv('_APP_STORAGE_ANTIVIRUS') === 'disabled') { // Check if scans are enabled
throw new Exception('Anitvirus is disabled');
@ -258,7 +258,7 @@ App::get('/v1/health/stats') // Currently only used internally
// ->label('sdk.method', 'getStats')
->label('docs', false)
->action(function ($response, $register) {
/** @var Appwrite\Swoole\Response $response */
/** @var Appwrite\Utopia\Response $response */
/** @var Utopia\Registry\Registry $register */
$device = Storage::getDevice('files');

View file

@ -1,7 +1,7 @@
<?php
use Appwrite\Database\Document;
use Appwrite\Swoole\Response;
use Appwrite\Utopia\Response;
use Utopia\App;
use Utopia\Config\Config;
@ -15,7 +15,7 @@ App::get('/v1/locale')
->label('sdk.description', '/docs/references/locale/get-locale.md')
->action(function ($request, $response, $locale, $geodb) {
/** @var Appwrite\Swoole\Request $request */
/** @var Appwrite\Swoole\Response $response */
/** @var Appwrite\Utopia\Response $response */
/** @var Utopia\Locale\Locale $locale */
/** @var GeoIp2\Database\Reader $geodb */
@ -72,7 +72,7 @@ App::get('/v1/locale/countries')
->label('sdk.method', 'getCountries')
->label('sdk.description', '/docs/references/locale/get-countries.md')
->action(function ($response, $locale) {
/** @var Appwrite\Swoole\Response $response */
/** @var Appwrite\Utopia\Response $response */
/** @var Utopia\Locale\Locale $locale */
$list = $locale->getText('countries'); /* @var $list array */
@ -91,7 +91,7 @@ App::get('/v1/locale/countries/eu')
->label('sdk.method', 'getCountriesEU')
->label('sdk.description', '/docs/references/locale/get-countries-eu.md')
->action(function ($response, $locale) {
/** @var Appwrite\Swoole\Response $response */
/** @var Appwrite\Utopia\Response $response */
/** @var Utopia\Locale\Locale $locale */
$countries = $locale->getText('countries'); /* @var $countries array */
@ -118,7 +118,7 @@ App::get('/v1/locale/countries/phones')
->label('sdk.method', 'getCountriesPhones')
->label('sdk.description', '/docs/references/locale/get-countries-phones.md')
->action(function ($response, $locale) {
/** @var Appwrite\Swoole\Response $response */
/** @var Appwrite\Utopia\Response $response */
/** @var Utopia\Locale\Locale $locale */
$list = Config::getParam('locale-phones'); /* @var $list array */
@ -145,7 +145,7 @@ App::get('/v1/locale/continents')
->label('sdk.method', 'getContinents')
->label('sdk.description', '/docs/references/locale/get-continents.md')
->action(function ($response, $locale) {
/** @var Appwrite\Swoole\Response $response */
/** @var Appwrite\Utopia\Response $response */
/** @var Utopia\Locale\Locale $locale */
$list = $locale->getText('continents'); /* @var $list array */
@ -164,7 +164,7 @@ App::get('/v1/locale/currencies')
->label('sdk.method', 'getCurrencies')
->label('sdk.description', '/docs/references/locale/get-currencies.md')
->action(function ($response) {
/** @var Appwrite\Swoole\Response $response */
/** @var Appwrite\Utopia\Response $response */
$currencies = Config::getParam('locale-currencies');
@ -181,7 +181,7 @@ App::get('/v1/locale/languages')
->label('sdk.method', 'getLanguages')
->label('sdk.description', '/docs/references/locale/get-languages.md')
->action(function ($response) {
/** @var Appwrite\Swoole\Response $response */
/** @var Appwrite\Utopia\Response $response */
$languages = Config::getParam('locale-languages');

View file

@ -20,7 +20,7 @@ use Appwrite\Storage\Validator\Upload;
use Appwrite\Storage\Compression\Algorithms\GZIP;
use Appwrite\Resize\Resize;
use Appwrite\OpenSSL\OpenSSL;
use Appwrite\Swoole\Response;
use Appwrite\Utopia\Response;
use Utopia\Config\Config;
App::post('/v1/storage/files')
@ -39,7 +39,7 @@ App::post('/v1/storage/files')
->param('write', [], function () { return new ArrayList(new Text(64)); }, 'An array of strings with write permissions. By default no user is granted with any write permissions. [learn more about permissions](/docs/permissions) and get a full list of available permissions.')
->action(function ($file, $read, $write, $request, $response, $user, $projectDB, $webhooks, $audits, $usage) {
/** @var Appwrite\Swoole\Request $request */
/** @var Appwrite\Swoole\Response $response */
/** @var Appwrite\Utopia\Response $response */
/** @var Appwrite\Database\Document $user */
/** @var Appwrite\Database\Database $projectDB */
/** @var Appwrite\Event\Event $webhooks */
@ -171,7 +171,7 @@ App::get('/v1/storage/files')
->param('offset', 0, function () { return new Range(0, 2000); }, 'Results offset. The default value is 0. Use this param to manage pagination.', true)
->param('orderType', 'ASC', function () { return new WhiteList(['ASC', 'DESC']); }, 'Order result by ASC or DESC order.', true)
->action(function ($search, $limit, $offset, $orderType, $response, $projectDB) {
/** @var Appwrite\Swoole\Response $response */
/** @var Appwrite\Utopia\Response $response */
/** @var Appwrite\Database\Database $projectDB */
$results = $projectDB->getCollection([
@ -202,7 +202,7 @@ App::get('/v1/storage/files/:fileId')
->label('sdk.description', '/docs/references/storage/get-file.md')
->param('fileId', '', function () { return new UID(); }, 'File unique ID.')
->action(function ($fileId, $response, $projectDB) {
/** @var Appwrite\Swoole\Response $response */
/** @var Appwrite\Utopia\Response $response */
/** @var Appwrite\Database\Database $projectDB */
$file = $projectDB->getDocument($fileId);
@ -232,7 +232,7 @@ App::get('/v1/storage/files/:fileId/preview')
->param('output', '', function () { return new WhiteList(\array_keys(Config::getParam('storage-outputs'))); }, 'Output format type (jpeg, jpg, png, gif and webp).', true)
->action(function ($fileId, $width, $height, $quality, $background, $output, $request, $response, $project, $projectDB) {
/** @var Appwrite\Swoole\Request $request */
/** @var Appwrite\Swoole\Response $response */
/** @var Appwrite\Utopia\Response $response */
/** @var Appwrite\Database\Document $project */
/** @var Appwrite\Database\Database $projectDB */
@ -352,7 +352,7 @@ App::get('/v1/storage/files/:fileId/download')
->label('sdk.methodType', 'location')
->param('fileId', '', function () { return new UID(); }, 'File unique ID.')
->action(function ($fileId, $response, $projectDB) {
/** @var Appwrite\Swoole\Response $response */
/** @var Appwrite\Utopia\Response $response */
/** @var Appwrite\Database\Database $projectDB */
$file = $projectDB->getDocument($fileId);
@ -408,7 +408,7 @@ App::get('/v1/storage/files/:fileId/view')
->param('fileId', '', function () { return new UID(); }, 'File unique ID.')
->param('as', '', function () { return new WhiteList(['pdf', /*'html',*/ 'text']); }, 'Choose a file format to convert your file to. Currently you can only convert word and pdf files to pdf or txt. This option is currently experimental only, use at your own risk.', true)
->action(function ($fileId, $as, $response, $projectDB) {
/** @var Appwrite\Swoole\Response $response */
/** @var Appwrite\Utopia\Response $response */
/** @var Appwrite\Database\Database $projectDB */
$file = $projectDB->getDocument($fileId);
@ -481,7 +481,7 @@ App::put('/v1/storage/files/:fileId')
->param('read', [], function () { return new ArrayList(new Text(64)); }, 'An array of strings with read permissions. By default no user is granted with any read permissions. [learn more about permissions](/docs/permissions) and get a full list of available permissions.')
->param('write', [], function () { return new ArrayList(new Text(64)); }, 'An array of strings with write permissions. By default no user is granted with any write permissions. [learn more about permissions](/docs/permissions) and get a full list of available permissions.')
->action(function ($fileId, $read, $write, $response, $projectDB, $webhooks, $audits) {
/** @var Appwrite\Swoole\Response $response */
/** @var Appwrite\Utopia\Response $response */
/** @var Appwrite\Database\Database $projectDB */
/** @var Appwrite\Event\Event $webhooks */
/** @var Appwrite\Event\Event $audits */
@ -527,7 +527,7 @@ App::delete('/v1/storage/files/:fileId')
->label('sdk.description', '/docs/references/storage/delete-file.md')
->param('fileId', '', function () { return new UID(); }, 'File unique ID.')
->action(function ($fileId, $response, $projectDB, $webhooks, $audits, $usage) {
/** @var Appwrite\Swoole\Response $response */
/** @var Appwrite\Utopia\Response $response */
/** @var Appwrite\Database\Database $projectDB */
/** @var Appwrite\Event\Event $webhooks */
/** @var Appwrite\Event\Event $audits */

View file

@ -30,7 +30,7 @@ App::post('/v1/teams')
->param('name', null, function () { return new Text(100); }, 'Team name.')
->param('roles', ['owner'], function () { return new ArrayList(new Text(128)); }, 'Array of strings. Use this param to set the roles in the team for the user who created it. The default role is **owner**. A role can be any string. Learn more about [roles and permissions](/docs/permissions).', true)
->action(function ($name, $roles, $response, $user, $projectDB, $mode) {
/** @var Appwrite\Swoole\Response $response */
/** @var Appwrite\Utopia\Response $response */
/** @var Appwrite\Database\Document $user */
/** @var Appwrite\Database\Database $projectDB */
/** @var bool $mode */
@ -97,7 +97,7 @@ App::get('/v1/teams')
->param('offset', 0, function () { return new Range(0, 2000); }, 'Results offset. The default value is 0. Use this param to manage pagination.', true)
->param('orderType', 'ASC', function () { return new WhiteList(['ASC', 'DESC']); }, 'Order result by ASC or DESC order.', true)
->action(function ($search, $limit, $offset, $orderType, $response, $projectDB) {
/** @var Appwrite\Swoole\Response $response */
/** @var Appwrite\Utopia\Response $response */
/** @var Appwrite\Database\Database $projectDB */
$results = $projectDB->getCollection([
@ -128,7 +128,7 @@ App::get('/v1/teams/:teamId')
->label('sdk.description', '/docs/references/teams/get-team.md')
->param('teamId', '', function () { return new UID(); }, 'Team unique ID.')
->action(function ($teamId, $response, $projectDB) {
/** @var Appwrite\Swoole\Response $response */
/** @var Appwrite\Utopia\Response $response */
/** @var Appwrite\Database\Database $projectDB */
$team = $projectDB->getDocument($teamId);
@ -151,7 +151,7 @@ App::put('/v1/teams/:teamId')
->param('teamId', '', function () { return new UID(); }, 'Team unique ID.')
->param('name', null, function () { return new Text(100); }, 'Team name.')
->action(function ($teamId, $name, $response, $projectDB) {
/** @var Appwrite\Swoole\Response $response */
/** @var Appwrite\Utopia\Response $response */
/** @var Appwrite\Database\Database $projectDB */
$team = $projectDB->getDocument($teamId);
@ -181,7 +181,7 @@ App::delete('/v1/teams/:teamId')
->label('sdk.description', '/docs/references/teams/delete-team.md')
->param('teamId', '', function () { return new UID(); }, 'Team unique ID.')
->action(function ($teamId, $response, $projectDB) {
/** @var Appwrite\Swoole\Response $response */
/** @var Appwrite\Utopia\Response $response */
/** @var Appwrite\Database\Database $projectDB */
$team = $projectDB->getDocument($teamId);
@ -226,7 +226,7 @@ App::post('/v1/teams/:teamId/memberships')
->param('roles', [], function () { return new ArrayList(new Text(128)); }, 'Array of strings. Use this param to set the user roles in the team. A role can be any string. Learn more about [roles and permissions](/docs/permissions).')
->param('url', '', function ($clients) { return new Host($clients); }, 'URL to redirect the user back to your app from the invitation email. Only URLs from hostnames in your project platform list are allowed. This requirement helps to prevent an [open redirect](https://cheatsheetseries.owasp.org/cheatsheets/Unvalidated_Redirects_and_Forwards_Cheat_Sheet.html) attack against your project API.', false, ['clients']) // TODO add our own built-in confirm page
->action(function ($teamId, $email, $name, $roles, $url, $response, $project, $user, $projectDB, $locale, $audits, $mails, $mode) {
/** @var Appwrite\Swoole\Response $response */
/** @var Appwrite\Utopia\Response $response */
/** @var Appwrite\Database\Document $project */
/** @var Appwrite\Database\Document $user */
/** @var Appwrite\Database\Database $projectDB */
@ -414,7 +414,7 @@ App::get('/v1/teams/:teamId/memberships')
->param('offset', 0, function () { return new Range(0, 2000); }, 'Results offset. The default value is 0. Use this param to manage pagination.', true)
->param('orderType', 'ASC', function () { return new WhiteList(['ASC', 'DESC']); }, 'Order result by ASC or DESC order.', true)
->action(function ($teamId, $search, $limit, $offset, $orderType, $response, $projectDB) {
/** @var Appwrite\Swoole\Response $response */
/** @var Appwrite\Utopia\Response $response */
/** @var Appwrite\Database\Database $projectDB */
$team = $projectDB->getDocument($teamId);
@ -464,7 +464,7 @@ App::patch('/v1/teams/:teamId/memberships/:inviteId/status')
->param('secret', '', function () { return new Text(256); }, 'Secret key.')
->action(function ($teamId, $inviteId, $userId, $secret, $request, $response, $user, $projectDB, $geodb, $audits) {
/** @var Appwrite\Swoole\Request $request */
/** @var Appwrite\Swoole\Response $response */
/** @var Appwrite\Utopia\Response $response */
/** @var Appwrite\Database\Document $user */
/** @var Appwrite\Database\Database $projectDB */
/** @var GeoIp2\Database\Reader $geodb */
@ -635,7 +635,7 @@ App::delete('/v1/teams/:teamId/memberships/:inviteId')
->param('teamId', '', function () { return new UID(); }, 'Team unique ID.')
->param('inviteId', '', function () { return new UID(); }, 'Invite unique ID.')
->action(function ($teamId, $inviteId, $response, $projectDB, $audits) {
/** @var Appwrite\Swoole\Response $response */
/** @var Appwrite\Utopia\Response $response */
/** @var Appwrite\Database\Database $projectDB */
/** @var Appwrite\Event\Event $audits */

View file

@ -30,7 +30,7 @@ App::post('/v1/users')
->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)
->action(function ($email, $password, $name, $response, $projectDB) {
/** @var Appwrite\Swoole\Response $response */
/** @var Appwrite\Utopia\Response $response */
/** @var Appwrite\Database\Database $projectDB */
$profile = $projectDB->getCollectionFirst([ // Get user by email address
@ -82,7 +82,7 @@ App::get('/v1/users')
->param('offset', 0, function () { return new Range(0, 2000); }, 'Results offset. The default value is 0. Use this param to manage pagination.', true)
->param('orderType', 'ASC', function () { return new WhiteList(['ASC', 'DESC']); }, 'Order result by ASC or DESC order.', true)
->action(function ($search, $limit, $offset, $orderType, $response, $projectDB) {
/** @var Appwrite\Swoole\Response $response */
/** @var Appwrite\Utopia\Response $response */
/** @var Appwrite\Database\Database $projectDB */
$results = $projectDB->getCollection([
@ -113,7 +113,7 @@ App::get('/v1/users/:userId')
->label('sdk.description', '/docs/references/users/get-user.md')
->param('userId', '', function () { return new UID(); }, 'User unique ID.')
->action(function ($userId, $response, $projectDB) {
/** @var Appwrite\Swoole\Response $response */
/** @var Appwrite\Utopia\Response $response */
/** @var Appwrite\Database\Database $projectDB */
$user = $projectDB->getDocument($userId);
@ -135,7 +135,7 @@ App::get('/v1/users/:userId/prefs')
->label('sdk.description', '/docs/references/users/get-user-prefs.md')
->param('userId', '', function () { return new UID(); }, 'User unique ID.')
->action(function ($userId, $response, $projectDB) {
/** @var Appwrite\Swoole\Response $response */
/** @var Appwrite\Utopia\Response $response */
/** @var Appwrite\Database\Database $projectDB */
$user = $projectDB->getDocument($userId);
@ -159,7 +159,7 @@ App::get('/v1/users/:userId/sessions')
->label('sdk.description', '/docs/references/users/get-user-sessions.md')
->param('userId', '', function () { return new UID(); }, 'User unique ID.')
->action(function ($userId, $response, $projectDB, $locale) {
/** @var Appwrite\Swoole\Response $response */
/** @var Appwrite\Utopia\Response $response */
/** @var Appwrite\Database\Database $projectDB */
/** @var Utopia\Locale\Locale $locale */
@ -202,7 +202,7 @@ App::get('/v1/users/:userId/logs')
->label('sdk.description', '/docs/references/users/get-user-logs.md')
->param('userId', '', function () { return new UID(); }, 'User unique ID.')
->action(function ($userId, $response, $register, $project, $projectDB, $locale, $geodb) {
/** @var Appwrite\Swoole\Response $response */
/** @var Appwrite\Utopia\Response $response */
/** @var Utopia\Registry\Registry $register */
/** @var Appwrite\Database\Document $project */
/** @var Appwrite\Database\Database $projectDB */
@ -288,7 +288,7 @@ App::patch('/v1/users/:userId/status')
->param('userId', '', function () { return new UID(); }, 'User unique ID.')
->param('status', '', function () { return new WhiteList([Auth::USER_STATUS_ACTIVATED, Auth::USER_STATUS_BLOCKED, Auth::USER_STATUS_UNACTIVATED]); }, 'User Status code. To activate the user pass '.Auth::USER_STATUS_ACTIVATED.', to block the user pass '.Auth::USER_STATUS_BLOCKED.' and for disabling the user pass '.Auth::USER_STATUS_UNACTIVATED)
->action(function ($userId, $status, $response, $projectDB) {
/** @var Appwrite\Swoole\Response $response */
/** @var Appwrite\Utopia\Response $response */
/** @var Appwrite\Database\Database $projectDB */
$user = $projectDB->getDocument($userId);
@ -319,7 +319,7 @@ App::patch('/v1/users/:userId/prefs')
->param('userId', '', function () { return new UID(); }, 'User unique ID.')
->param('prefs', '', function () { return new Assoc();}, 'Prefs key-value JSON object.')
->action(function ($userId, $prefs, $response, $projectDB) {
/** @var Appwrite\Swoole\Response $response */
/** @var Appwrite\Utopia\Response $response */
/** @var Appwrite\Database\Database $projectDB */
$user = $projectDB->getDocument($userId);
@ -351,7 +351,7 @@ App::delete('/v1/users/:userId/sessions/:sessionId')
->param('userId', '', function () { return new UID(); }, 'User unique ID.')
->param('sessionId', null, function () { return new UID(); }, 'User unique session ID.')
->action(function ($userId, $sessionId, $response, $projectDB) {
/** @var Appwrite\Swoole\Response $response */
/** @var Appwrite\Utopia\Response $response */
/** @var Appwrite\Database\Database $projectDB */
$user = $projectDB->getDocument($userId);
@ -384,7 +384,7 @@ App::delete('/v1/users/:userId/sessions')
->label('abuse-limit', 100)
->param('userId', '', function () { return new UID(); }, 'User unique ID.')
->action(function ($userId, $response, $projectDB) {
/** @var Appwrite\Swoole\Response $response */
/** @var Appwrite\Utopia\Response $response */
/** @var Appwrite\Database\Database $projectDB */
$user = $projectDB->getDocument($userId);

View file

@ -23,7 +23,7 @@ Config::setParam('cookieSamesite', Response::COOKIE_SAMESITE_NONE);
App::init(function ($utopia, $request, $response, $console, $project, $user, $locale, $webhooks, $audits, $usage, $functions, $clients) {
/** @var Appwrite\Swoole\Request $request */
/** @var Appwrite\Swoole\Response $response */
/** @var Appwrite\Utopia\Response $response */
/** @var Appwrite\Database\Document $console */
/** @var Appwrite\Database\Document $project */
/** @var Appwrite\Database\Document $user */
@ -257,7 +257,7 @@ App::init(function ($utopia, $request, $response, $console, $project, $user, $lo
App::shutdown(function ($utopia, $request, $response, $project, $webhooks, $audits, $usage, $deletes, $functions, $mode) {
/** @var Utopia\App $utopia */
/** @var Appwrite\Swoole\Request $request */
/** @var Appwrite\Swoole\Response $response */
/** @var Appwrite\Utopia\Response $response */
/** @var Appwrite\Database\Document $project */
/** @var Appwrite\Event\Event $webhooks */
/** @var Appwrite\Event\Event $audits */
@ -299,7 +299,7 @@ App::shutdown(function ($utopia, $request, $response, $project, $webhooks, $audi
App::options(function ($request, $response) {
/** @var Appwrite\Swoole\Request $request */
/** @var Appwrite\Swoole\Response $response */
/** @var Appwrite\Utopia\Response $response */
$origin = $request->getOrigin();
@ -317,7 +317,7 @@ App::error(function ($error, $utopia, $request, $response, $layout, $project) {
/** @var Exception $error */
/** @var Utopia\App $utopia */
/** @var Appwrite\Swoole\Request $request */
/** @var Appwrite\Swoole\Response $response */
/** @var Appwrite\Utopia\Response $response */
/** @var Utopia\View $layout */
/** @var Appwrite\Database\Document $project */
@ -405,7 +405,7 @@ App::get('/manifest.json')
->label('scope', 'public')
->label('docs', false)
->action(function ($response) {
/** @var Appwrite\Swoole\Response $response */
/** @var Appwrite\Utopia\Response $response */
$response->json([
'name' => APP_NAME,

View file

@ -187,7 +187,7 @@ App::get('/v1/mock/tests/general/redirect')
->label('sdk.description', 'Mock a redirect request for SDK tests')
->label('sdk.mock', true)
->action(function ($response) {
/** @var Appwrite\Swoole\Response $response */
/** @var Appwrite\Utopia\Response $response */
$response->redirect('/v1/mock/tests/general/redirected');
}, ['response']);
@ -210,7 +210,7 @@ App::get('/v1/mock/tests/general/set-cookie')
->label('sdk.description', 'Mock a set cookie request for SDK tests')
->label('sdk.mock', true)
->action(function ($response) {
/** @var Appwrite\Swoole\Response $response */
/** @var Appwrite\Utopia\Response $response */
$response->addCookie('cookieName', 'cookieValue', \time() + 31536000, '/', 'localhost', true, true);
}, ['response']);
@ -238,7 +238,7 @@ App::get('/v1/mock/tests/general/empty')
->label('sdk.description', 'Mock a redirected request for SDK tests')
->label('sdk.mock', true)
->action(function ($response) {
/** @var Appwrite\Swoole\Response $response */
/** @var Appwrite\Utopia\Response $response */
$response->noContent();
exit();
@ -254,7 +254,7 @@ App::get('/v1/mock/tests/general/oauth2')
->param('scope', '', function () { return new Text(100); }, 'OAuth2 scope list.')
->param('state', '', function () { return new Text(1024); }, 'OAuth2 state.')
->action(function ($clientId, $redirectURI, $scope, $state, $response) {
/** @var Appwrite\Swoole\Response $response */
/** @var Appwrite\Utopia\Response $response */
$response->redirect($redirectURI.'?'.\http_build_query(['code' => 'abcdef', 'state' => $state]));
}, ['response']);
@ -269,7 +269,7 @@ App::get('/v1/mock/tests/general/oauth2/token')
->param('client_secret', '', function () { return new Text(100); }, 'OAuth2 scope list.')
->param('code', '', function () { return new Text(100); }, 'OAuth2 state.')
->action(function ($clientId, $redirectURI, $clientSecret, $code, $response) {
/** @var Appwrite\Swoole\Response $response */
/** @var Appwrite\Utopia\Response $response */
if ($clientId != '1') {
throw new Exception('Invalid client ID');
@ -292,7 +292,7 @@ App::get('/v1/mock/tests/general/oauth2/user')
->label('docs', false)
->param('token', '', function () { return new Text(100); }, 'OAuth2 Access Token.')
->action(function ($token, $response) {
/** @var Appwrite\Swoole\Response $response */
/** @var Appwrite\Utopia\Response $response */
if ($token != '123456') {
throw new Exception('Invalid token');
@ -309,7 +309,7 @@ App::get('/v1/mock/tests/general/oauth2/success')
->label('scope', 'public')
->label('docs', false)
->action(function ($response) {
/** @var Appwrite\Swoole\Response $response */
/** @var Appwrite\Utopia\Response $response */
$response->json([
'result' => 'success',
@ -320,7 +320,7 @@ App::get('/v1/mock/tests/general/oauth2/failure')
->label('scope', 'public')
->label('docs', false)
->action(function ($response) {
/** @var Appwrite\Swoole\Response $response */
/** @var Appwrite\Utopia\Response $response */
$response
->setStatusCode(Response::STATUS_CODE_BAD_REQUEST)
@ -332,7 +332,7 @@ App::get('/v1/mock/tests/general/oauth2/failure')
App::shutdown(function($utopia, $response, $request) {
/** @var Utopia\App $utopia */
/** @var Appwrite\Swoole\Request $request */
/** @var Appwrite\Swoole\Response $response */
/** @var Appwrite\Utopia\Response $response */
$result = [];
$route = $utopia->match($request);

View file

@ -8,7 +8,7 @@ use Utopia\Abuse\Adapters\TimeLimit;
App::init(function ($utopia, $request, $response, $project, $user, $register) {
/** @var Utopia\App $utopia */
/** @var Appwrite\Swoole\Request $request */
/** @var Appwrite\Swoole\Response $response */
/** @var Appwrite\Utopia\Response $response */
/** @var Appwrite\Database\Document $project */
/** @var Appwrite\Database\Document $user */
/** @var Utopia\Registry\Registry $register */

View file

@ -6,7 +6,7 @@ use Utopia\Config\Config;
App::init(function ($utopia, $request, $response, $layout) {
/** @var Utopia\App $utopia */
/** @var Appwrite\Swoole\Request $request */
/** @var Appwrite\Swoole\Response $response */
/** @var Appwrite\Utopia\Response $response */
/** @var Utopia\View $layout */
/* AJAX check */

View file

@ -19,7 +19,7 @@ App::init(function ($layout) {
}, ['layout'], 'console');
App::shutdown(function ($response, $layout) {
/** @var Appwrite\Swoole\Response $response */
/** @var Appwrite\Utopia\Response $response */
/** @var Utopia\View $layout */
$header = new View(__DIR__.'/../../views/console/comps/header.phtml');
@ -213,7 +213,7 @@ App::get('/console/database/collection')
->label('scope', 'console')
->param('id', '', function () { return new UID(); }, 'Collection unique ID.')
->action(function ($id, $response, $layout, $projectDB) {
/** @var Appwrite\Swoole\Response $response */
/** @var Appwrite\Utopia\Response $response */
/** @var Utopia\View $layout */
/** @var Appwrite\Database\Database $projectDB */

View file

@ -28,7 +28,7 @@ App::init(function ($layout) {
}, ['layout'], 'home');
App::shutdown(function ($response, $layout) {
/** @var Appwrite\Swoole\Response $response */
/** @var Appwrite\Utopia\Response $response */
/** @var Utopia\View $layout */
$response->html($layout->render());
@ -39,7 +39,7 @@ App::get('/')
->label('permission', 'public')
->label('scope', 'home')
->action(function ($response) {
/** @var Appwrite\Swoole\Response $response */
/** @var Appwrite\Utopia\Response $response */
$response->redirect('/auth/signin');
}, ['response']);
@ -190,7 +190,7 @@ App::get('/open-api-2.json')
->action(function ($platform, $extensions, $tests, $utopia, $request, $response) {
/** @var Utopia\App $utopia */
/** @var Appwrite\Swoole\Request $request */
/** @var Appwrite\Swoole\Response $response */
/** @var Appwrite\Utopia\Response $response */
$security = [
APP_PLATFORM_CLIENT => ['Project' => []],

View file

@ -4,7 +4,7 @@ require_once __DIR__.'/../vendor/autoload.php';
use Appwrite\Swoole\Files;
use Appwrite\Swoole\Request;
use Appwrite\Swoole\Response;
use Appwrite\Utopia\Response;
use Swoole\Process;
use Swoole\Http\Server;
use Swoole\Http\Request as SwooleRequest;

View file

@ -353,7 +353,7 @@ App::setResource('clients', function($console, $project) {
App::setResource('user', function($mode, $project, $console, $request, $response, $projectDB, $consoleDB) {
/** @var Appwrite\Swoole\Request $request */
/** @var Appwrite\Swoole\Response $response */
/** @var Appwrite\Utopia\Response $response */
/** @var Appwrite\Database\Document $project */
/** @var Appwrite\Database\Database $consoleDB */
/** @var Appwrite\Database\Database $projectDB */

View file

@ -2,7 +2,7 @@
namespace Appwrite\Swoole;
use Appwrite\Utopia\Response as UtopiaResponse;
use Utopia\Response as UtopiaResponse;
use Swoole\Http\Response as SwooleResponse;
class Response extends UtopiaResponse

View file

@ -4,6 +4,8 @@ namespace Appwrite\Utopia;
use Exception;
use Appwrite\Database\Document;
use Appwrite\Swoole\Response as SwooleResponse;
use Swoole\Http\Response as SwooleHTTPResponse;
use Appwrite\Utopia\Response\Model;
use Appwrite\Utopia\Response\Model\BaseList;
use Appwrite\Utopia\Response\Model\Error;
@ -17,9 +19,9 @@ use Appwrite\Utopia\Response\Model\Team;
use Appwrite\Utopia\Response\Model\Locale;
use Appwrite\Utopia\Response\Model\Membership;
use Appwrite\Utopia\Response\Model\Tag;
use Utopia\Response as UtopiaResponse;
use Appwrite\Utopia\Response\Model\Webhook;
class Response extends UtopiaResponse
class Response extends SwooleResponse
{
// General
const MODEL_LOG = 'log'; // - Missing
@ -64,11 +66,25 @@ class Response extends UtopiaResponse
const MODEL_TAG_LIST = 'tagList';
const MODEL_EXECUTION = 'execution';
const MODEL_EXECUTION_LIST = 'executionList';
// Project
const MODEL_PROJECT = 'project';
const MODEL_PROJECT_LIST = 'projectsList';
const MODEL_WEBHOOK = 'webhook';
const MODEL_WEBHOOK_LIST = 'webhookList';
const MODEL_KEY = 'key';
const MODEL_KEY_LIST = 'keyList';
const MODEL_TASK = 'task';
const MODEL_TASK_LIST = 'taskList';
const MODEL_PLATFORM = 'platform';
const MODEL_PLATFORM_LIST = 'platformList';
const MODEL_DOMAIN = 'domain';
const MODEL_DOMAIN_LIST = 'domainList';
/**
* Response constructor.
*/
public function __construct(int $time = 0)
public function __construct(SwooleHTTPResponse $response)
{
$this
// General
@ -83,6 +99,12 @@ class Response extends UtopiaResponse
->setModel(new BaseList('Functions List', self::MODEL_FUNCTION_LIST, 'functions', self::MODEL_FUNCTION))
->setModel(new BaseList('Tags List', self::MODEL_TAG_LIST, 'tags', self::MODEL_TAG))
->setModel(new BaseList('Executions List', self::MODEL_EXECUTION_LIST, 'executions', self::MODEL_EXECUTION))
->setModel(new BaseList('Projects List', self::MODEL_EXECUTION_LIST, 'projects', self::MODEL_EXECUTION))
->setModel(new BaseList('Webhooks List', self::MODEL_EXECUTION_LIST, 'webhooks', self::MODEL_EXECUTION))
->setModel(new BaseList('API Keys List', self::MODEL_EXECUTION_LIST, 'keyss', self::MODEL_EXECUTION))
->setModel(new BaseList('Tasks List', self::MODEL_EXECUTION_LIST, 'tasks', self::MODEL_EXECUTION))
->setModel(new BaseList('Platforms List', self::MODEL_EXECUTION_LIST, 'platforms', self::MODEL_EXECUTION))
->setModel(new BaseList('Domains List', self::MODEL_EXECUTION_LIST, 'domains', self::MODEL_EXECUTION))
// Entities
->setModel(new User())
->setModel(new Session())
@ -93,9 +115,10 @@ class Response extends UtopiaResponse
->setModel(new Func())
->setModel(new Tag())
->setModel(new Execution())
->setModel(new Webhook())
;
parent::__construct($time);
parent::__construct($response);
}
/**