diff --git a/app/app.php b/app/app.php index 70cf32e81..3348198ee 100644 --- a/app/app.php +++ b/app/app.php @@ -50,7 +50,7 @@ $clients = \array_unique(\array_merge($clientsConsole, \array_map(function ($nod return false; })))); -$utopia->init(function () use ($utopia, $request, $response, &$user, $project, $console, $webhook, $audit, $usage, $clients) { +App::init(function () use ($utopia, $request, $response, &$user, $project, $console, $webhook, $audit, $usage, $clients) { $route = $utopia->match($request); @@ -79,7 +79,7 @@ $utopia->init(function () use ($utopia, $request, $response, &$user, $project, $ * As recommended at: * @see https://www.owasp.org/index.php/List_of_useful_HTTP_headers */ - if ($utopia->getEnv('_APP_OPTIONS_FORCE_HTTPS', 'disabled') === 'enabled') { // Force HTTPS + if (App::getEnv('_APP_OPTIONS_FORCE_HTTPS', 'disabled') === 'enabled') { // Force HTTPS if(Config::getParam('protocol') !== 'https') { return $response->redirect('https://' . Config::getParam('domain').$request->getServer('REQUEST_URI')); } @@ -224,7 +224,7 @@ $utopia->init(function () use ($utopia, $request, $response, &$user, $project, $ ; }); -$utopia->shutdown(function () use ($response, $request, $webhook, $audit, $usage, $deletes, $mode, $project, $utopia) { +App::shutdown(function () use ($response, $request, $webhook, $audit, $usage, $deletes, $mode, $project, $utopia) { /* * Trigger events for background workers @@ -254,7 +254,7 @@ $utopia->shutdown(function () use ($response, $request, $webhook, $audit, $usage } }); -$utopia->options(function () use ($request, $response) { +App::options(function () use ($request, $response) { $origin = $request->getServer('HTTP_ORIGIN'); $response @@ -266,7 +266,7 @@ $utopia->options(function () use ($request, $response) { ->send(); }); -$utopia->error(function ($error /* @var $error Exception */) use ($request, $response, $utopia, $project) { +App::error(function ($error /* @var $error Exception */) use ($request, $response, $utopia, $project) { $env = Config::getParam('env'); $version = Config::getParam('version'); @@ -339,7 +339,7 @@ $utopia->error(function ($error /* @var $error Exception */) use ($request, $res ; }); -$utopia->get('/manifest.json') +App::get('/manifest.json') ->desc('Progressive app manifest file') ->label('scope', 'public') ->label('docs', false) @@ -365,7 +365,7 @@ $utopia->get('/manifest.json') } ); -$utopia->get('/robots.txt') +App::get('/robots.txt') ->desc('Robots.txt File') ->label('scope', 'public') ->label('docs', false) @@ -376,7 +376,7 @@ $utopia->get('/robots.txt') } ); -$utopia->get('/humans.txt') +App::get('/humans.txt') ->desc('Humans.txt File') ->label('scope', 'public') ->label('docs', false) @@ -387,7 +387,7 @@ $utopia->get('/humans.txt') } ); -$utopia->get('/.well-known/acme-challenge') +App::get('/.well-known/acme-challenge') ->desc('SSL Verification') ->label('scope', 'public') ->label('docs', false) diff --git a/app/config/collections.php b/app/config/collections.php index 4f8bed232..4e00c36c3 100644 --- a/app/config/collections.php +++ b/app/config/collections.php @@ -1,7 +1,8 @@ '', 'legalAddress' => '', 'legalTaxId' => '', - 'authWhitelistEmails' => (!empty($utopia->getEnv('_APP_CONSOLE_WHITELIST_EMAILS', null))) ? \explode(',', $utopia->getEnv('_APP_CONSOLE_WHITELIST_EMAILS', null)) : [], - 'authWhitelistIPs' => (!empty($utopia->getEnv('_APP_CONSOLE_WHITELIST_IPS', null))) ? \explode(',', $utopia->getEnv('_APP_CONSOLE_WHITELIST_IPS', null)) : [], - 'authWhitelistDomains' => (!empty($utopia->getEnv('_APP_CONSOLE_WHITELIST_DOMAINS', null))) ? \explode(',', $utopia->getEnv('_APP_CONSOLE_WHITELIST_DOMAINS', null)) : [], + 'authWhitelistEmails' => (!empty(App::getEnv('_APP_CONSOLE_WHITELIST_EMAILS', null))) ? \explode(',', App::getEnv('_APP_CONSOLE_WHITELIST_EMAILS', null)) : [], + 'authWhitelistIPs' => (!empty(App::getEnv('_APP_CONSOLE_WHITELIST_IPS', null))) ? \explode(',', App::getEnv('_APP_CONSOLE_WHITELIST_IPS', null)) : [], + 'authWhitelistDomains' => (!empty(App::getEnv('_APP_CONSOLE_WHITELIST_DOMAINS', null))) ? \explode(',', App::getEnv('_APP_CONSOLE_WHITELIST_DOMAINS', null)) : [], ], Database::SYSTEM_COLLECTION_COLLECTIONS => [ '$collection' => Database::SYSTEM_COLLECTION_COLLECTIONS, diff --git a/app/controllers/api/account.php b/app/controllers/api/account.php index 2fc83c91d..5bf9eff7e 100644 --- a/app/controllers/api/account.php +++ b/app/controllers/api/account.php @@ -3,6 +3,7 @@ global $utopia, $register, $request, $response, $user, $audit, $webhook, $mail, $project, $projectDB, $clients; +use Utopia\App; use Utopia\Exception; use Utopia\Response; use Utopia\Config\Config; @@ -34,7 +35,7 @@ $oauthDefaultFailure = '/auth/oauth2/failure'; $oauth2Keys = []; -$utopia->init(function() use (&$oauth2Keys) { +App::init(function() use (&$oauth2Keys) { foreach (Config::getParam('providers') as $key => $provider) { if (!$provider['enabled']) { continue; @@ -45,7 +46,7 @@ $utopia->init(function() use (&$oauth2Keys) { } }, 'account'); -$utopia->post('/v1/account') +App::post('/v1/account') ->desc('Create Account') ->groups(['api', 'account']) ->label('webhook', 'account.create') @@ -146,7 +147,7 @@ $utopia->post('/v1/account') } ); -$utopia->post('/v1/account/sessions') +App::post('/v1/account/sessions') ->desc('Create Account Session') ->groups(['api', 'account']) ->label('webhook', 'account.sessions.create') @@ -237,7 +238,7 @@ $utopia->post('/v1/account/sessions') } ); -$utopia->get('/v1/account/sessions/oauth2/:provider') +App::get('/v1/account/sessions/oauth2/:provider') ->desc('Create Account Session with OAuth2') ->groups(['api', 'account']) ->label('error', __DIR__.'/../../views/general/error.phtml') @@ -265,7 +266,7 @@ $utopia->get('/v1/account/sessions/oauth2/:provider') $appSecret = \json_decode($appSecret, true); if (!empty($appSecret) && isset($appSecret['version'])) { - $key = $utopia->getEnv('_APP_OPENSSL_KEY_V'.$appSecret['version']); + $key = App::getEnv('_APP_OPENSSL_KEY_V'.$appSecret['version']); $appSecret = OpenSSL::decrypt($appSecret['data'], $appSecret['method'], $key, 0, \hex2bin($appSecret['iv']), \hex2bin($appSecret['tag'])); } @@ -288,7 +289,7 @@ $utopia->get('/v1/account/sessions/oauth2/:provider') } ); -$utopia->get('/v1/account/sessions/oauth2/callback/:provider/:projectId') +App::get('/v1/account/sessions/oauth2/callback/:provider/:projectId') ->desc('OAuth2 Callback') ->groups(['api', 'account']) ->label('error', __DIR__.'/../../views/general/error.phtml') @@ -311,7 +312,7 @@ $utopia->get('/v1/account/sessions/oauth2/callback/:provider/:projectId') } ); -$utopia->post('/v1/account/sessions/oauth2/callback/:provider/:projectId') +App::post('/v1/account/sessions/oauth2/callback/:provider/:projectId') ->desc('OAuth2 Callback') ->groups(['api', 'account']) ->label('error', __DIR__.'/../../views/general/error.phtml') @@ -335,7 +336,7 @@ $utopia->post('/v1/account/sessions/oauth2/callback/:provider/:projectId') } ); -$utopia->get('/v1/account/sessions/oauth2/:provider/redirect') +App::get('/v1/account/sessions/oauth2/:provider/redirect') ->desc('OAuth2 Redirect') ->groups(['api', 'account']) ->label('error', __DIR__.'/../../views/general/error.phtml') @@ -360,7 +361,7 @@ $utopia->get('/v1/account/sessions/oauth2/:provider/redirect') $appSecret = \json_decode($appSecret, true); if (!empty($appSecret) && isset($appSecret['version'])) { - $key = $utopia->getEnv('_APP_OPENSSL_KEY_V'.$appSecret['version']); + $key = App::getEnv('_APP_OPENSSL_KEY_V'.$appSecret['version']); $appSecret = OpenSSL::decrypt($appSecret['data'], $appSecret['method'], $key, 0, \hex2bin($appSecret['iv']), \hex2bin($appSecret['tag'])); } @@ -531,7 +532,7 @@ $utopia->get('/v1/account/sessions/oauth2/:provider/redirect') } ); -$utopia->get('/v1/account') +App::get('/v1/account') ->desc('Get Account') ->groups(['api', 'account']) ->label('scope', 'account') @@ -555,7 +556,7 @@ $utopia->get('/v1/account') } ); -$utopia->get('/v1/account/prefs') +App::get('/v1/account/prefs') ->desc('Get Account Preferences') ->groups(['api', 'account']) ->label('scope', 'account') @@ -578,7 +579,7 @@ $utopia->get('/v1/account/prefs') } ); -$utopia->get('/v1/account/sessions') +App::get('/v1/account/sessions') ->desc('Get Account Sessions') ->groups(['api', 'account']) ->label('scope', 'account') @@ -637,7 +638,7 @@ $utopia->get('/v1/account/sessions') } ); -$utopia->get('/v1/account/logs') +App::get('/v1/account/logs') ->desc('Get Account Logs') ->groups(['api', 'account']) ->label('scope', 'account') @@ -710,7 +711,7 @@ $utopia->get('/v1/account/logs') } ); -$utopia->patch('/v1/account/name') +App::patch('/v1/account/name') ->desc('Update Account Name') ->groups(['api', 'account']) ->label('webhook', 'account.update.name') @@ -748,7 +749,7 @@ $utopia->patch('/v1/account/name') } ); -$utopia->patch('/v1/account/password') +App::patch('/v1/account/password') ->desc('Update Account Password') ->groups(['api', 'account']) ->label('webhook', 'account.update.password') @@ -791,7 +792,7 @@ $utopia->patch('/v1/account/password') } ); -$utopia->patch('/v1/account/email') +App::patch('/v1/account/email') ->desc('Update Account Email') ->groups(['api', 'account']) ->label('webhook', 'account.update.email') @@ -850,7 +851,7 @@ $utopia->patch('/v1/account/email') } ); -$utopia->patch('/v1/account/prefs') +App::patch('/v1/account/prefs') ->desc('Update Account Preferences') ->groups(['api', 'account']) ->label('webhook', 'account.update.prefs') @@ -891,7 +892,7 @@ $utopia->patch('/v1/account/prefs') } ); -$utopia->delete('/v1/account') +App::delete('/v1/account') ->desc('Delete Account') ->groups(['api', 'account']) ->label('webhook', 'account.delete') @@ -947,7 +948,7 @@ $utopia->delete('/v1/account') } ); -$utopia->delete('/v1/account/sessions/:sessionId') +App::delete('/v1/account/sessions/:sessionId') ->desc('Delete Account Session') ->groups(['api', 'account']) ->label('scope', 'account') @@ -1007,7 +1008,7 @@ $utopia->delete('/v1/account/sessions/:sessionId') } ); -$utopia->delete('/v1/account/sessions') +App::delete('/v1/account/sessions') ->desc('Delete All Account Sessions') ->groups(['api', 'account']) ->label('scope', 'account') @@ -1058,7 +1059,7 @@ $utopia->delete('/v1/account/sessions') } ); -$utopia->post('/v1/account/recovery') +App::post('/v1/account/recovery') ->desc('Create Password Recovery') ->groups(['api', 'account']) ->label('scope', 'public') @@ -1158,7 +1159,7 @@ $utopia->post('/v1/account/recovery') } ); -$utopia->put('/v1/account/recovery') +App::put('/v1/account/recovery') ->desc('Complete Password Recovery') ->groups(['api', 'account']) ->label('scope', 'public') @@ -1229,7 +1230,7 @@ $utopia->put('/v1/account/recovery') } ); -$utopia->post('/v1/account/verification') +App::post('/v1/account/verification') ->desc('Create Email Verification') ->groups(['api', 'account']) ->label('scope', 'account') @@ -1316,7 +1317,7 @@ $utopia->post('/v1/account/verification') } ); -$utopia->put('/v1/account/verification') +App::put('/v1/account/verification') ->desc('Complete Email Verification') ->groups(['api', 'account']) ->label('scope', 'public') diff --git a/app/controllers/api/avatars.php b/app/controllers/api/avatars.php index 08940b119..f2c3c7089 100644 --- a/app/controllers/api/avatars.php +++ b/app/controllers/api/avatars.php @@ -2,6 +2,7 @@ global $utopia, $request, $response; +use Utopia\App; use Utopia\Exception; use Utopia\Validator\Text; use Utopia\Validator\WhiteList; @@ -81,7 +82,7 @@ $avatarCallback = function ($type, $code, $width, $height, $quality) use ($respo unset($resize); }; -$utopia->get('/v1/avatars/credit-cards/:code') +App::get('/v1/avatars/credit-cards/:code') ->desc('Get Credit Card Icon') ->groups(['api', 'avatars']) ->param('code', '', function () { return new WhiteList(\array_keys(Config::getParam('avatar-credit-cards'))); }, 'Credit Card Code. Possible values: '.\implode(', ', \array_keys(Config::getParam('avatar-credit-cards'))).'.') @@ -98,7 +99,7 @@ $utopia->get('/v1/avatars/credit-cards/:code') return $avatarCallback('credit-cards', $code, $width, $height, $quality); }); -$utopia->get('/v1/avatars/browsers/:code') +App::get('/v1/avatars/browsers/:code') ->desc('Get Browser Icon') ->groups(['api', 'avatars']) ->param('code', '', function () { return new WhiteList(\array_keys(Config::getParam('avatar-browsers'))); }, 'Browser Code.') @@ -115,7 +116,7 @@ $utopia->get('/v1/avatars/browsers/:code') return $avatarCallback('browsers', $code, $width, $height, $quality); }); -$utopia->get('/v1/avatars/flags/:code') +App::get('/v1/avatars/flags/:code') ->desc('Get Country Flag') ->groups(['api', 'avatars']) ->param('code', '', function () { return new WhiteList(\array_keys(Config::getParam('avatar-flags'))); }, 'Country Code. ISO Alpha-2 country code format.') @@ -132,7 +133,7 @@ $utopia->get('/v1/avatars/flags/:code') return $avatarCallback('flags', $code, $width, $height, $quality); }); -$utopia->get('/v1/avatars/image') +App::get('/v1/avatars/image') ->desc('Get Image from URL') ->groups(['api', 'avatars']) ->param('url', '', function () { return new URL(); }, 'Image URL which you want to crop.') @@ -200,7 +201,7 @@ $utopia->get('/v1/avatars/image') } ); -$utopia->get('/v1/avatars/favicon') +App::get('/v1/avatars/favicon') ->desc('Get Favicon') ->groups(['api', 'avatars']) ->param('url', '', function () { return new URL(); }, 'Website URL which you want to fetch the favicon from.') @@ -353,7 +354,7 @@ $utopia->get('/v1/avatars/favicon') } ); -$utopia->get('/v1/avatars/qr') +App::get('/v1/avatars/qr') ->desc('Get QR Code') ->groups(['api', 'avatars']) ->param('text', '', function () { return new Text(512); }, 'Plain text to be converted to QR code image.') @@ -387,7 +388,7 @@ $utopia->get('/v1/avatars/qr') } ); -$utopia->get('/v1/avatars/initials') +App::get('/v1/avatars/initials') ->desc('Get User Initials') ->groups(['api', 'avatars']) ->param('name', '', function () { return new Text(512); }, 'Full Name. When empty, current user name or email will be used.', true) diff --git a/app/controllers/api/database.php b/app/controllers/api/database.php index fafed2624..b2a7bd9f7 100644 --- a/app/controllers/api/database.php +++ b/app/controllers/api/database.php @@ -25,7 +25,7 @@ use Appwrite\Database\Exception\Structure as StructureException; use DeviceDetector\DeviceDetector; use GeoIp2\Database\Reader; -$utopia->post('/v1/database/collections') +App::post('/v1/database/collections') ->desc('Create Collection') ->groups(['api', 'database']) ->label('webhook', 'database.collections.create') @@ -99,7 +99,7 @@ $utopia->post('/v1/database/collections') } ); -$utopia->get('/v1/database/collections') +App::get('/v1/database/collections') ->desc('List Collections') ->groups(['api', 'database']) ->label('scope', 'collections.read') @@ -148,7 +148,7 @@ $utopia->get('/v1/database/collections') } ); -$utopia->get('/v1/database/collections/:collectionId') +App::get('/v1/database/collections/:collectionId') ->desc('Get Collection') ->groups(['api', 'database']) ->label('scope', 'collections.read') @@ -169,7 +169,7 @@ $utopia->get('/v1/database/collections/:collectionId') } ); -// $utopia->get('/v1/database/collections/:collectionId/logs') +// App::get('/v1/database/collections/:collectionId/logs') // ->desc('Get Collection Logs') // ->groups(['api', 'database']) // ->label('scope', 'collections.read') @@ -234,7 +234,7 @@ $utopia->get('/v1/database/collections/:collectionId') // } // ); -$utopia->put('/v1/database/collections/:collectionId') +App::put('/v1/database/collections/:collectionId') ->desc('Update Collection') ->groups(['api', 'database']) ->label('scope', 'collections.write') @@ -307,7 +307,7 @@ $utopia->put('/v1/database/collections/:collectionId') } ); -$utopia->delete('/v1/database/collections/:collectionId') +App::delete('/v1/database/collections/:collectionId') ->desc('Delete Collection') ->groups(['api', 'database']) ->label('scope', 'collections.write') @@ -345,7 +345,7 @@ $utopia->delete('/v1/database/collections/:collectionId') } ); -$utopia->post('/v1/database/collections/:collectionId/documents') +App::post('/v1/database/collections/:collectionId/documents') ->desc('Create Document') ->groups(['api', 'database']) ->label('webhook', 'database.documents.create') @@ -465,7 +465,7 @@ $utopia->post('/v1/database/collections/:collectionId/documents') } ); -$utopia->get('/v1/database/collections/:collectionId/documents') +App::get('/v1/database/collections/:collectionId/documents') ->desc('List Documents') ->groups(['api', 'database']) ->label('scope', 'documents.read') @@ -508,7 +508,7 @@ $utopia->get('/v1/database/collections/:collectionId/documents') if ($first || $last) { $response->json((!empty($list) ? $list->getArrayCopy() : [])); } else { - if ($utopia->isDevelopment()) { + if (App::isDevelopment()) { $collection ->setAttribute('debug', $projectDB->getDebug()) ->setAttribute('limit', $limit) @@ -533,7 +533,7 @@ $utopia->get('/v1/database/collections/:collectionId/documents') } ); -$utopia->get('/v1/database/collections/:collectionId/documents/:documentId') +App::get('/v1/database/collections/:collectionId/documents/:documentId') ->desc('Get Document') ->groups(['api', 'database']) ->label('scope', 'documents.read') @@ -579,7 +579,7 @@ $utopia->get('/v1/database/collections/:collectionId/documents/:documentId') } ); -$utopia->patch('/v1/database/collections/:collectionId/documents/:documentId') +App::patch('/v1/database/collections/:collectionId/documents/:documentId') ->desc('Update Document') ->groups(['api', 'database']) ->label('webhook', 'database.documents.update') @@ -659,7 +659,7 @@ $utopia->patch('/v1/database/collections/:collectionId/documents/:documentId') } ); -$utopia->delete('/v1/database/collections/:collectionId/documents/:documentId') +App::delete('/v1/database/collections/:collectionId/documents/:documentId') ->desc('Delete Document') ->groups(['api', 'database']) ->label('scope', 'documents.write') diff --git a/app/controllers/api/graphql.php b/app/controllers/api/graphql.php index 0eecb23e1..295f6e7dd 100644 --- a/app/controllers/api/graphql.php +++ b/app/controllers/api/graphql.php @@ -2,6 +2,8 @@ global $utopia; +use Utopia\App; + /** * TODO: * 1. Map all objects, object-params, object-fields @@ -12,7 +14,7 @@ global $utopia; * 6. Write tests! */ -$utopia->post('/v1/graphql') +App::post('/v1/graphql') ->desc('GraphQL Endpoint') ->groups(['api', 'graphql']) ->label('scope', 'public') diff --git a/app/controllers/api/health.php b/app/controllers/api/health.php index 46db6b65f..7fdf56e36 100644 --- a/app/controllers/api/health.php +++ b/app/controllers/api/health.php @@ -2,12 +2,13 @@ global $utopia, $request, $response, $register; +use Utopia\App; use Utopia\Exception; use Appwrite\Storage\Device\Local; use Appwrite\Storage\Storage; use Appwrite\ClamAV\Network; -$utopia->get('/v1/health') +App::get('/v1/health') ->desc('Get HTTP') ->groups(['api', 'health']) ->label('scope', 'health.read') @@ -21,7 +22,7 @@ $utopia->get('/v1/health') } ); -$utopia->get('/v1/health/version') +App::get('/v1/health/version') ->desc('Get Version') ->groups(['api', 'health']) ->label('scope', 'public') @@ -31,7 +32,7 @@ $utopia->get('/v1/health/version') } ); -$utopia->get('/v1/health/db') +App::get('/v1/health/db') ->desc('Get DB') ->groups(['api', 'health']) ->label('scope', 'health.read') @@ -47,7 +48,7 @@ $utopia->get('/v1/health/db') } ); -$utopia->get('/v1/health/cache') +App::get('/v1/health/cache') ->desc('Get Cache') ->groups(['api', 'health']) ->label('scope', 'health.read') @@ -63,7 +64,7 @@ $utopia->get('/v1/health/cache') } ); -$utopia->get('/v1/health/time') +App::get('/v1/health/time') ->desc('Get Time') ->groups(['api', 'health']) ->label('scope', 'health.read') @@ -111,7 +112,7 @@ $utopia->get('/v1/health/time') } ); -$utopia->get('/v1/health/queue/webhooks') +App::get('/v1/health/queue/webhooks') ->desc('Get Webhooks Queue') ->groups(['api', 'health']) ->label('scope', 'health.read') @@ -125,7 +126,7 @@ $utopia->get('/v1/health/queue/webhooks') } ); -$utopia->get('/v1/health/queue/tasks') +App::get('/v1/health/queue/tasks') ->desc('Get Tasks Queue') ->groups(['api', 'health']) ->label('scope', 'health.read') @@ -139,7 +140,7 @@ $utopia->get('/v1/health/queue/tasks') } ); -$utopia->get('/v1/health/queue/logs') +App::get('/v1/health/queue/logs') ->desc('Get Logs Queue') ->groups(['api', 'health']) ->label('scope', 'health.read') @@ -153,7 +154,7 @@ $utopia->get('/v1/health/queue/logs') } ); -$utopia->get('/v1/health/queue/usage') +App::get('/v1/health/queue/usage') ->desc('Get Usage Queue') ->groups(['api', 'health']) ->label('scope', 'health.read') @@ -167,7 +168,7 @@ $utopia->get('/v1/health/queue/usage') } ); -$utopia->get('/v1/health/queue/certificates') +App::get('/v1/health/queue/certificates') ->desc('Get Certificate Queue') ->groups(['api', 'health']) ->label('scope', 'health.read') @@ -181,7 +182,7 @@ $utopia->get('/v1/health/queue/certificates') } ); -$utopia->get('/v1/health/queue/functions') +App::get('/v1/health/queue/functions') ->desc('Get Functions Queue') ->groups(['api', 'health']) ->label('scope', 'health.read') @@ -195,7 +196,7 @@ $utopia->get('/v1/health/queue/functions') } ); -$utopia->get('/v1/health/storage/local') +App::get('/v1/health/storage/local') ->desc('Get Local Storage') ->groups(['api', 'health']) ->label('scope', 'health.read') @@ -226,7 +227,7 @@ $utopia->get('/v1/health/storage/local') } ); -$utopia->get('/v1/health/anti-virus') +App::get('/v1/health/anti-virus') ->desc('Get Anti virus') ->groups(['api', 'health']) ->label('scope', 'health.read') @@ -249,7 +250,7 @@ $utopia->get('/v1/health/anti-virus') } ); -$utopia->get('/v1/health/stats') // Currently only used internally +App::get('/v1/health/stats') // Currently only used internally ->desc('Get System Stats') ->groups(['api', 'health']) ->label('scope', 'god') diff --git a/app/controllers/api/locale.php b/app/controllers/api/locale.php index 73995e027..20650c2c1 100644 --- a/app/controllers/api/locale.php +++ b/app/controllers/api/locale.php @@ -6,7 +6,7 @@ use Utopia\App; use Utopia\Locale\Locale; use GeoIp2\Database\Reader; -$utopia->get('/v1/locale') +App::get('/v1/locale') ->desc('Get User Locale') ->groups(['api', 'locale']) ->label('scope', 'locale.read') @@ -25,7 +25,7 @@ $utopia->get('/v1/locale') $countries = Locale::getText('countries'); $continents = Locale::getText('continents'); - if (App::MODE_TYPE_PRODUCTION !== $utopia->getMode()) { + if (!App::isProduction()) { $ip = '79.177.241.94'; } @@ -65,7 +65,7 @@ $utopia->get('/v1/locale') } ); -$utopia->get('/v1/locale/countries') +App::get('/v1/locale/countries') ->desc('List Countries') ->groups(['api', 'locale']) ->label('scope', 'locale.read') @@ -83,7 +83,7 @@ $utopia->get('/v1/locale/countries') } ); -$utopia->get('/v1/locale/countries/eu') +App::get('/v1/locale/countries/eu') ->desc('List EU Countries') ->groups(['api', 'locale']) ->label('scope', 'locale.read') @@ -109,7 +109,7 @@ $utopia->get('/v1/locale/countries/eu') } ); -$utopia->get('/v1/locale/countries/phones') +App::get('/v1/locale/countries/phones') ->desc('List Countries Phone Codes') ->groups(['api', 'locale']) ->label('scope', 'locale.read') @@ -135,7 +135,7 @@ $utopia->get('/v1/locale/countries/phones') } ); -$utopia->get('/v1/locale/continents') +App::get('/v1/locale/continents') ->desc('List Continents') ->groups(['api', 'locale']) ->label('scope', 'locale.read') @@ -154,7 +154,7 @@ $utopia->get('/v1/locale/continents') ); -$utopia->get('/v1/locale/currencies') +App::get('/v1/locale/currencies') ->desc('List Currencies') ->groups(['api', 'locale']) ->label('scope', 'locale.read') @@ -171,7 +171,7 @@ $utopia->get('/v1/locale/currencies') ); -$utopia->get('/v1/locale/languages') +App::get('/v1/locale/languages') ->desc('List Languages') ->groups(['api', 'locale']) ->label('scope', 'locale.read') diff --git a/app/controllers/api/projects.php b/app/controllers/api/projects.php index 3311abbd0..8dcba7843 100644 --- a/app/controllers/api/projects.php +++ b/app/controllers/api/projects.php @@ -2,6 +2,7 @@ global $utopia, $request, $response, $register, $user, $consoleDB, $projectDB, $deletes; +use Utopia\App; use Utopia\Exception; use Utopia\Response; use Utopia\Validator\ArrayList; @@ -23,7 +24,7 @@ use Cron\CronExpression; $scopes = include __DIR__.'/../../../app/config/scopes.php'; -$utopia->post('/v1/projects') +App::post('/v1/projects') ->desc('Create Project') ->groups(['api', 'projects']) ->label('scope', 'projects.write') @@ -86,7 +87,7 @@ $utopia->post('/v1/projects') } ); -$utopia->get('/v1/projects') +App::get('/v1/projects') ->desc('List Projects') ->groups(['api', 'projects']) ->label('scope', 'projects.read') @@ -120,7 +121,7 @@ $utopia->get('/v1/projects') } ); -$utopia->get('/v1/projects/:projectId') +App::get('/v1/projects/:projectId') ->desc('Get Project') ->groups(['api', 'projects']) ->label('scope', 'projects.read') @@ -148,7 +149,7 @@ $utopia->get('/v1/projects/:projectId') } ); -$utopia->get('/v1/projects/:projectId/usage') +App::get('/v1/projects/:projectId/usage') ->desc('Get Project') ->groups(['api', 'projects']) ->label('scope', 'projects.read') @@ -310,7 +311,7 @@ $utopia->get('/v1/projects/:projectId/usage') } ); -$utopia->patch('/v1/projects/:projectId') +App::patch('/v1/projects/:projectId') ->desc('Update Project') ->groups(['api', 'projects']) ->label('scope', 'projects.write') @@ -356,7 +357,7 @@ $utopia->patch('/v1/projects/:projectId') } ); -$utopia->patch('/v1/projects/:projectId/oauth2') +App::patch('/v1/projects/:projectId/oauth2') ->desc('Update Project OAuth2') ->groups(['api', 'projects']) ->label('scope', 'projects.write') @@ -398,7 +399,7 @@ $utopia->patch('/v1/projects/:projectId/oauth2') } ); -$utopia->delete('/v1/projects/:projectId') +App::delete('/v1/projects/:projectId') ->desc('Delete Project') ->groups(['api', 'projects']) ->label('scope', 'projects.write') @@ -444,7 +445,7 @@ $utopia->delete('/v1/projects/:projectId') // Webhooks -$utopia->post('/v1/projects/:projectId/webhooks') +App::post('/v1/projects/:projectId/webhooks') ->desc('Create Webhook') ->groups(['api', 'projects']) ->label('scope', 'projects.write') @@ -509,7 +510,7 @@ $utopia->post('/v1/projects/:projectId/webhooks') } ); -$utopia->get('/v1/projects/:projectId/webhooks') +App::get('/v1/projects/:projectId/webhooks') ->desc('List Webhooks') ->groups(['api', 'projects']) ->label('scope', 'projects.read') @@ -542,7 +543,7 @@ $utopia->get('/v1/projects/:projectId/webhooks') } ); -$utopia->get('/v1/projects/:projectId/webhooks/:webhookId') +App::get('/v1/projects/:projectId/webhooks/:webhookId') ->desc('Get Webhook') ->groups(['api', 'projects']) ->label('scope', 'projects.read') @@ -576,7 +577,7 @@ $utopia->get('/v1/projects/:projectId/webhooks/:webhookId') ); -$utopia->put('/v1/projects/:projectId/webhooks/:webhookId') +App::put('/v1/projects/:projectId/webhooks/:webhookId') ->desc('Update Webhook') ->groups(['api', 'projects']) ->label('scope', 'projects.write') @@ -632,7 +633,7 @@ $utopia->put('/v1/projects/:projectId/webhooks/:webhookId') } ); -$utopia->delete('/v1/projects/:projectId/webhooks/:webhookId') +App::delete('/v1/projects/:projectId/webhooks/:webhookId') ->desc('Delete Webhook') ->groups(['api', 'projects']) ->label('scope', 'projects.write') @@ -664,7 +665,7 @@ $utopia->delete('/v1/projects/:projectId/webhooks/:webhookId') // Keys -$utopia->post('/v1/projects/:projectId/keys') +App::post('/v1/projects/:projectId/keys') ->desc('Create Key') ->groups(['api', 'projects']) ->label('scope', 'projects.write') @@ -711,7 +712,7 @@ $utopia->post('/v1/projects/:projectId/keys') } ); -$utopia->get('/v1/projects/:projectId/keys') +App::get('/v1/projects/:projectId/keys') ->desc('List Keys') ->groups(['api', 'projects']) ->label('scope', 'projects.read') @@ -730,7 +731,7 @@ $utopia->get('/v1/projects/:projectId/keys') } ); -$utopia->get('/v1/projects/:projectId/keys/:keyId') +App::get('/v1/projects/:projectId/keys/:keyId') ->desc('Get Key') ->groups(['api', 'projects']) ->label('scope', 'projects.read') @@ -756,7 +757,7 @@ $utopia->get('/v1/projects/:projectId/keys/:keyId') } ); -$utopia->put('/v1/projects/:projectId/keys/:keyId') +App::put('/v1/projects/:projectId/keys/:keyId') ->desc('Update Key') ->groups(['api', 'projects']) ->label('scope', 'projects.write') @@ -793,7 +794,7 @@ $utopia->put('/v1/projects/:projectId/keys/:keyId') } ); -$utopia->delete('/v1/projects/:projectId/keys/:keyId') +App::delete('/v1/projects/:projectId/keys/:keyId') ->desc('Delete Key') ->groups(['api', 'projects']) ->label('scope', 'projects.write') @@ -825,7 +826,7 @@ $utopia->delete('/v1/projects/:projectId/keys/:keyId') // Tasks -$utopia->post('/v1/projects/:projectId/tasks') +App::post('/v1/projects/:projectId/tasks') ->desc('Create Task') ->groups(['api', 'projects']) ->label('scope', 'projects.write') @@ -908,7 +909,7 @@ $utopia->post('/v1/projects/:projectId/tasks') } ); -$utopia->get('/v1/projects/:projectId/tasks') +App::get('/v1/projects/:projectId/tasks') ->desc('List Tasks') ->groups(['api', 'projects']) ->label('scope', 'projects.read') @@ -941,7 +942,7 @@ $utopia->get('/v1/projects/:projectId/tasks') } ); -$utopia->get('/v1/projects/:projectId/tasks/:taskId') +App::get('/v1/projects/:projectId/tasks/:taskId') ->desc('Get Task') ->groups(['api', 'projects']) ->label('scope', 'projects.read') @@ -974,7 +975,7 @@ $utopia->get('/v1/projects/:projectId/tasks/:taskId') } ); -$utopia->put('/v1/projects/:projectId/tasks/:taskId') +App::put('/v1/projects/:projectId/tasks/:taskId') ->desc('Update Task') ->groups(['api', 'projects']) ->label('scope', 'projects.write') @@ -1045,7 +1046,7 @@ $utopia->put('/v1/projects/:projectId/tasks/:taskId') } ); -$utopia->delete('/v1/projects/:projectId/tasks/:taskId') +App::delete('/v1/projects/:projectId/tasks/:taskId') ->desc('Delete Task') ->groups(['api', 'projects']) ->label('scope', 'projects.write') @@ -1077,7 +1078,7 @@ $utopia->delete('/v1/projects/:projectId/tasks/:taskId') // Platforms -$utopia->post('/v1/projects/:projectId/platforms') +App::post('/v1/projects/:projectId/platforms') ->desc('Create Platform') ->groups(['api', 'projects']) ->label('scope', 'projects.write') @@ -1131,7 +1132,7 @@ $utopia->post('/v1/projects/:projectId/platforms') } ); -$utopia->get('/v1/projects/:projectId/platforms') +App::get('/v1/projects/:projectId/platforms') ->desc('List Platforms') ->groups(['api', 'projects']) ->label('scope', 'projects.read') @@ -1152,7 +1153,7 @@ $utopia->get('/v1/projects/:projectId/platforms') } ); -$utopia->get('/v1/projects/:projectId/platforms/:platformId') +App::get('/v1/projects/:projectId/platforms/:platformId') ->desc('Get Platform') ->groups(['api', 'projects']) ->label('scope', 'projects.read') @@ -1178,7 +1179,7 @@ $utopia->get('/v1/projects/:projectId/platforms/:platformId') } ); -$utopia->put('/v1/projects/:projectId/platforms/:platformId') +App::put('/v1/projects/:projectId/platforms/:platformId') ->desc('Update Platform') ->groups(['api', 'projects']) ->label('scope', 'projects.write') @@ -1220,7 +1221,7 @@ $utopia->put('/v1/projects/:projectId/platforms/:platformId') } ); -$utopia->delete('/v1/projects/:projectId/platforms/:platformId') +App::delete('/v1/projects/:projectId/platforms/:platformId') ->desc('Delete Platform') ->groups(['api', 'projects']) ->label('scope', 'projects.write') @@ -1252,7 +1253,7 @@ $utopia->delete('/v1/projects/:projectId/platforms/:platformId') // Domains -$utopia->post('/v1/projects/:projectId/domains') +App::post('/v1/projects/:projectId/domains') ->desc('Create Domain') ->groups(['api', 'projects']) ->label('scope', 'projects.write') @@ -1315,7 +1316,7 @@ $utopia->post('/v1/projects/:projectId/domains') } ); -$utopia->get('/v1/projects/:projectId/domains') +App::get('/v1/projects/:projectId/domains') ->desc('List Domains') ->groups(['api', 'projects']) ->label('scope', 'projects.read') @@ -1336,7 +1337,7 @@ $utopia->get('/v1/projects/:projectId/domains') } ); -$utopia->get('/v1/projects/:projectId/domains/:domainId') +App::get('/v1/projects/:projectId/domains/:domainId') ->desc('Get Domain') ->groups(['api', 'projects']) ->label('scope', 'projects.read') @@ -1362,7 +1363,7 @@ $utopia->get('/v1/projects/:projectId/domains/:domainId') } ); -$utopia->patch('/v1/projects/:projectId/domains/:domainId/verification') +App::patch('/v1/projects/:projectId/domains/:domainId/verification') ->desc('Update Domain Verification Status') ->groups(['api', 'projects']) ->label('scope', 'projects.write') @@ -1419,7 +1420,7 @@ $utopia->patch('/v1/projects/:projectId/domains/:domainId/verification') } ); -$utopia->delete('/v1/projects/:projectId/domains/:domainId') +App::delete('/v1/projects/:projectId/domains/:domainId') ->desc('Delete Domain') ->groups(['api', 'projects']) ->label('scope', 'projects.write') diff --git a/app/controllers/api/storage.php b/app/controllers/api/storage.php index 9e6e376bb..14b4ac2e1 100644 --- a/app/controllers/api/storage.php +++ b/app/controllers/api/storage.php @@ -2,6 +2,7 @@ global $utopia, $request, $response, $user, $audit, $usage, $project, $projectDB; +use Utopia\App; use Utopia\Exception; use Utopia\Response; use Utopia\Validator\ArrayList; @@ -129,11 +130,11 @@ $mimes = [ 'application/pdf', ]; -$utopia->init(function () use ($project) { +App::init(function () use ($project) { Storage::addDevice('local', new Local(APP_STORAGE_UPLOADS.'/app-'.$project->getId())); }, 'storage'); -$utopia->post('/v1/storage/files') +App::post('/v1/storage/files') ->desc('Create File') ->groups(['api', 'storage']) ->label('scope', 'files.write') @@ -270,7 +271,7 @@ $utopia->post('/v1/storage/files') } ); -$utopia->get('/v1/storage/files') +App::get('/v1/storage/files') ->desc('List Files') ->groups(['api', 'storage']) ->label('scope', 'files.read') @@ -304,7 +305,7 @@ $utopia->get('/v1/storage/files') } ); -$utopia->get('/v1/storage/files/:fileId') +App::get('/v1/storage/files/:fileId') ->desc('Get File') ->groups(['api', 'storage']) ->label('scope', 'files.read') @@ -325,7 +326,7 @@ $utopia->get('/v1/storage/files/:fileId') } ); -$utopia->get('/v1/storage/files/:fileId/preview') +App::get('/v1/storage/files/:fileId/preview') ->desc('Get File Preview') ->groups(['api', 'storage']) ->label('scope', 'files.read') @@ -448,7 +449,7 @@ $utopia->get('/v1/storage/files/:fileId/preview') } ); -$utopia->get('/v1/storage/files/:fileId/download') +App::get('/v1/storage/files/:fileId/download') ->desc('Get File for Download') ->groups(['api', 'storage']) ->label('scope', 'files.read') @@ -502,7 +503,7 @@ $utopia->get('/v1/storage/files/:fileId/download') } ); -$utopia->get('/v1/storage/files/:fileId/view') +App::get('/v1/storage/files/:fileId/view') ->desc('Get File for View') ->groups(['api', 'storage']) ->label('scope', 'files.read') @@ -573,7 +574,7 @@ $utopia->get('/v1/storage/files/:fileId/view') } ); -$utopia->put('/v1/storage/files/:fileId') +App::put('/v1/storage/files/:fileId') ->desc('Update File') ->groups(['api', 'storage']) ->label('scope', 'files.write') @@ -619,7 +620,7 @@ $utopia->put('/v1/storage/files/:fileId') } ); -$utopia->delete('/v1/storage/files/:fileId') +App::delete('/v1/storage/files/:fileId') ->desc('Delete File') ->groups(['api', 'storage']) ->label('scope', 'files.write') @@ -662,7 +663,7 @@ $utopia->delete('/v1/storage/files/:fileId') } ); -// $utopia->get('/v1/storage/files/:fileId/scan') +// App::get('/v1/storage/files/:fileId/scan') // ->desc('Scan Storage') // ->groups(['api', 'storage']) // ->label('scope', 'god') diff --git a/app/controllers/api/teams.php b/app/controllers/api/teams.php index 2e4ab9997..d9beb74b1 100644 --- a/app/controllers/api/teams.php +++ b/app/controllers/api/teams.php @@ -2,6 +2,7 @@ global $utopia, $request, $response, $projectDB, $project, $user, $audit, $mail, $mode, $clients; +use Utopia\App; use Utopia\Exception; use Utopia\Response; use Utopia\Config\Config; @@ -20,7 +21,7 @@ use Appwrite\Database\Validator\Authorization; use Appwrite\Database\Exception\Duplicate; use Appwrite\Template\Template; -$utopia->post('/v1/teams') +App::post('/v1/teams') ->desc('Create Team') ->groups(['api', 'teams']) ->label('scope', 'teams.write') @@ -84,7 +85,7 @@ $utopia->post('/v1/teams') } ); -$utopia->get('/v1/teams') +App::get('/v1/teams') ->desc('List Teams') ->groups(['api', 'teams']) ->label('scope', 'teams.read') @@ -114,7 +115,7 @@ $utopia->get('/v1/teams') } ); -$utopia->get('/v1/teams/:teamId') +App::get('/v1/teams/:teamId') ->desc('Get Team') ->groups(['api', 'teams']) ->label('scope', 'teams.read') @@ -135,7 +136,7 @@ $utopia->get('/v1/teams/:teamId') } ); -$utopia->put('/v1/teams/:teamId') +App::put('/v1/teams/:teamId') ->desc('Update Team') ->groups(['api', 'teams']) ->label('scope', 'teams.write') @@ -165,7 +166,7 @@ $utopia->put('/v1/teams/:teamId') } ); -$utopia->delete('/v1/teams/:teamId') +App::delete('/v1/teams/:teamId') ->desc('Delete Team') ->groups(['api', 'teams']) ->label('scope', 'teams.write') @@ -205,7 +206,7 @@ $utopia->delete('/v1/teams/:teamId') } ); -$utopia->post('/v1/teams/:teamId/memberships') +App::post('/v1/teams/:teamId/memberships') ->desc('Create Team Membership') ->groups(['api', 'teams']) ->label('scope', 'teams.write') @@ -382,7 +383,7 @@ $utopia->post('/v1/teams/:teamId/memberships') } ); -$utopia->get('/v1/teams/:teamId/memberships') +App::get('/v1/teams/:teamId/memberships') ->desc('Get Team Memberships') ->groups(['api', 'teams']) ->label('scope', 'teams.read') @@ -440,7 +441,7 @@ $utopia->get('/v1/teams/:teamId/memberships') } ); -$utopia->patch('/v1/teams/:teamId/memberships/:inviteId/status') +App::patch('/v1/teams/:teamId/memberships/:inviteId/status') ->desc('Update Team Membership Status') ->groups(['api', 'teams']) ->label('scope', 'public') @@ -573,7 +574,7 @@ $utopia->patch('/v1/teams/:teamId/memberships/:inviteId/status') } ); -$utopia->delete('/v1/teams/:teamId/memberships/:inviteId') +App::delete('/v1/teams/:teamId/memberships/:inviteId') ->desc('Delete Team Membership') ->groups(['api', 'teams']) ->label('scope', 'teams.write') diff --git a/app/controllers/api/users.php b/app/controllers/api/users.php index d1744bf48..36c27c542 100644 --- a/app/controllers/api/users.php +++ b/app/controllers/api/users.php @@ -2,6 +2,7 @@ global $utopia, $response, $projectDB; +use Utopia\App; use Utopia\Exception; use Utopia\Response; use Utopia\Validator\Assoc; @@ -21,7 +22,7 @@ use Appwrite\Database\Validator\UID; use DeviceDetector\DeviceDetector; use GeoIp2\Database\Reader; -$utopia->post('/v1/users') +App::post('/v1/users') ->desc('Create User') ->groups(['api', 'users']) ->label('scope', 'users.write') @@ -91,7 +92,7 @@ $utopia->post('/v1/users') } ); -$utopia->get('/v1/users') +App::get('/v1/users') ->desc('List Users') ->groups(['api', 'users']) ->label('scope', 'users.read') @@ -146,7 +147,7 @@ $utopia->get('/v1/users') } ); -$utopia->get('/v1/users/:userId') +App::get('/v1/users/:userId') ->desc('Get User') ->groups(['api', 'users']) ->label('scope', 'users.read') @@ -188,7 +189,7 @@ $utopia->get('/v1/users/:userId') } ); -$utopia->get('/v1/users/:userId/prefs') +App::get('/v1/users/:userId/prefs') ->desc('Get User Preferences') ->groups(['api', 'users']) ->label('scope', 'users.read') @@ -218,7 +219,7 @@ $utopia->get('/v1/users/:userId/prefs') } ); -$utopia->get('/v1/users/:userId/sessions') +App::get('/v1/users/:userId/sessions') ->desc('Get User Sessions') ->groups(['api', 'users']) ->label('scope', 'users.read') @@ -282,7 +283,7 @@ $utopia->get('/v1/users/:userId/sessions') } ); -$utopia->get('/v1/users/:userId/logs') +App::get('/v1/users/:userId/logs') ->desc('Get User Logs') ->groups(['api', 'users']) ->label('scope', 'users.read') @@ -363,7 +364,7 @@ $utopia->get('/v1/users/:userId/logs') } ); -$utopia->patch('/v1/users/:userId/status') +App::patch('/v1/users/:userId/status') ->desc('Update User Status') ->groups(['api', 'users']) ->label('scope', 'users.write') @@ -412,7 +413,7 @@ $utopia->patch('/v1/users/:userId/status') } ); -$utopia->patch('/v1/users/:userId/prefs') +App::patch('/v1/users/:userId/prefs') ->desc('Update User Preferences') ->groups(['api', 'users']) ->label('scope', 'users.write') @@ -455,7 +456,7 @@ $utopia->patch('/v1/users/:userId/prefs') ); -$utopia->delete('/v1/users/:userId/sessions/:sessionId') +App::delete('/v1/users/:userId/sessions/:sessionId') ->desc('Delete User Session') ->groups(['api', 'users']) ->label('scope', 'users.write') @@ -488,7 +489,7 @@ $utopia->delete('/v1/users/:userId/sessions/:sessionId') } ); -$utopia->delete('/v1/users/:userId/sessions') +App::delete('/v1/users/:userId/sessions') ->desc('Delete User Sessions') ->groups(['api', 'users']) ->label('scope', 'users.write') diff --git a/app/controllers/mock.php b/app/controllers/mock.php index 097501fbb..e07559449 100644 --- a/app/controllers/mock.php +++ b/app/controllers/mock.php @@ -2,16 +2,17 @@ global $utopia, $request, $response; +use Utopia\App; +use Utopia\Response; use Utopia\Validator\Numeric; use Utopia\Validator\Text; use Utopia\Validator\ArrayList; -use Utopia\Response; use Utopia\Validator\Host; use Appwrite\Storage\Validator\File; $result = []; -$utopia->get('/v1/mock/tests/foo') +App::get('/v1/mock/tests/foo') ->desc('Mock a get request for SDK tests') ->label('scope', 'public') ->label('sdk.namespace', 'foo') @@ -25,7 +26,7 @@ $utopia->get('/v1/mock/tests/foo') } ); -$utopia->post('/v1/mock/tests/foo') +App::post('/v1/mock/tests/foo') ->desc('Mock a post request for SDK tests') ->label('scope', 'public') ->label('sdk.namespace', 'foo') @@ -39,7 +40,7 @@ $utopia->post('/v1/mock/tests/foo') } ); -$utopia->patch('/v1/mock/tests/foo') +App::patch('/v1/mock/tests/foo') ->desc('Mock a patch request for SDK tests') ->label('scope', 'public') ->label('sdk.namespace', 'foo') @@ -53,7 +54,7 @@ $utopia->patch('/v1/mock/tests/foo') } ); -$utopia->put('/v1/mock/tests/foo') +App::put('/v1/mock/tests/foo') ->desc('Mock a put request for SDK tests') ->label('scope', 'public') ->label('sdk.namespace', 'foo') @@ -67,7 +68,7 @@ $utopia->put('/v1/mock/tests/foo') } ); -$utopia->delete('/v1/mock/tests/foo') +App::delete('/v1/mock/tests/foo') ->desc('Mock a delete request for SDK tests') ->label('scope', 'public') ->label('sdk.namespace', 'foo') @@ -81,7 +82,7 @@ $utopia->delete('/v1/mock/tests/foo') } ); -$utopia->get('/v1/mock/tests/bar') +App::get('/v1/mock/tests/bar') ->desc('Mock a get request for SDK tests') ->label('scope', 'public') ->label('sdk.namespace', 'bar') @@ -95,7 +96,7 @@ $utopia->get('/v1/mock/tests/bar') } ); -$utopia->post('/v1/mock/tests/bar') +App::post('/v1/mock/tests/bar') ->desc('Mock a post request for SDK tests') ->label('scope', 'public') ->label('sdk.namespace', 'bar') @@ -109,7 +110,7 @@ $utopia->post('/v1/mock/tests/bar') } ); -$utopia->patch('/v1/mock/tests/bar') +App::patch('/v1/mock/tests/bar') ->desc('Mock a patch request for SDK tests') ->label('scope', 'public') ->label('sdk.namespace', 'bar') @@ -123,7 +124,7 @@ $utopia->patch('/v1/mock/tests/bar') } ); -$utopia->put('/v1/mock/tests/bar') +App::put('/v1/mock/tests/bar') ->desc('Mock a put request for SDK tests') ->label('scope', 'public') ->label('sdk.namespace', 'bar') @@ -137,7 +138,7 @@ $utopia->put('/v1/mock/tests/bar') } ); -$utopia->delete('/v1/mock/tests/bar') +App::delete('/v1/mock/tests/bar') ->desc('Mock a delete request for SDK tests') ->label('scope', 'public') ->label('sdk.namespace', 'bar') @@ -151,7 +152,7 @@ $utopia->delete('/v1/mock/tests/bar') } ); -$utopia->post('/v1/mock/tests/general/upload') +App::post('/v1/mock/tests/general/upload') ->desc('Mock a post request for SDK tests') ->label('scope', 'public') ->label('sdk.namespace', 'general') @@ -189,7 +190,7 @@ $utopia->post('/v1/mock/tests/general/upload') } ); -$utopia->get('/v1/mock/tests/general/redirect') +App::get('/v1/mock/tests/general/redirect') ->desc('Mock a post request for SDK tests') ->label('scope', 'public') ->label('sdk.namespace', 'general') @@ -201,7 +202,7 @@ $utopia->get('/v1/mock/tests/general/redirect') } ); -$utopia->get('/v1/mock/tests/general/redirected') +App::get('/v1/mock/tests/general/redirected') ->desc('Mock a post request for SDK tests') ->label('scope', 'public') ->label('sdk.namespace', 'general') @@ -212,7 +213,7 @@ $utopia->get('/v1/mock/tests/general/redirected') } ); -$utopia->get('/v1/mock/tests/general/set-cookie') +App::get('/v1/mock/tests/general/set-cookie') ->desc('Mock a cookie request for SDK tests') ->label('scope', 'public') ->label('sdk.namespace', 'general') @@ -224,7 +225,7 @@ $utopia->get('/v1/mock/tests/general/set-cookie') } ); -$utopia->get('/v1/mock/tests/general/get-cookie') +App::get('/v1/mock/tests/general/get-cookie') ->desc('Mock a cookie request for SDK tests') ->label('scope', 'public') ->label('sdk.namespace', 'general') @@ -238,7 +239,7 @@ $utopia->get('/v1/mock/tests/general/get-cookie') } ); -$utopia->get('/v1/mock/tests/general/empty') +App::get('/v1/mock/tests/general/empty') ->desc('Mock a post request for SDK tests') ->label('scope', 'public') ->label('sdk.namespace', 'general') @@ -251,7 +252,7 @@ $utopia->get('/v1/mock/tests/general/empty') } ); -$utopia->get('/v1/mock/tests/general/oauth2') +App::get('/v1/mock/tests/general/oauth2') ->desc('Mock an OAuth2 login route') ->label('scope', 'public') ->label('docs', false) @@ -265,7 +266,7 @@ $utopia->get('/v1/mock/tests/general/oauth2') } ); -$utopia->get('/v1/mock/tests/general/oauth2/token') +App::get('/v1/mock/tests/general/oauth2/token') ->desc('Mock an OAuth2 login route') ->label('scope', 'public') ->label('docs', false) @@ -291,7 +292,7 @@ $utopia->get('/v1/mock/tests/general/oauth2/token') } ); -$utopia->get('/v1/mock/tests/general/oauth2/user') +App::get('/v1/mock/tests/general/oauth2/user') ->desc('Mock an OAuth2 user route') ->label('scope', 'public') ->label('docs', false) @@ -310,7 +311,7 @@ $utopia->get('/v1/mock/tests/general/oauth2/user') } ); -$utopia->get('/v1/mock/tests/general/oauth2/success') +App::get('/v1/mock/tests/general/oauth2/success') ->label('scope', 'public') ->label('docs', false) ->action( @@ -321,7 +322,7 @@ $utopia->get('/v1/mock/tests/general/oauth2/success') } ); -$utopia->get('/v1/mock/tests/general/oauth2/failure') +App::get('/v1/mock/tests/general/oauth2/failure') ->label('scope', 'public') ->label('docs', false) ->action( @@ -334,7 +335,7 @@ $utopia->get('/v1/mock/tests/general/oauth2/failure') } ); -$utopia->shutdown(function() use ($response, $request, &$result, $utopia) { +App::shutdown(function() use ($response, $request, &$result, $utopia) { $route = $utopia->match($request); $path = APP_STORAGE_CACHE.'/tests.json'; $tests = (\file_exists($path)) ? \json_decode(\file_get_contents($path), true) : []; diff --git a/app/controllers/shared/api.php b/app/controllers/shared/api.php index e911c2c55..3fd17c47f 100644 --- a/app/controllers/shared/api.php +++ b/app/controllers/shared/api.php @@ -1,12 +1,13 @@ init(function () use ($utopia, $request, $response, $register, $user, $project) { +App::init(function () use ($utopia, $request, $response, $register, $user, $project) { $route = $utopia->match($request); if (empty($project->getId()) && $route->getLabel('abuse-limit', 0) > 0) { // Abuse limit requires an active project scope diff --git a/app/controllers/shared/web.php b/app/controllers/shared/web.php index a2f85bcb0..9bf879c12 100644 --- a/app/controllers/shared/web.php +++ b/app/controllers/shared/web.php @@ -1,11 +1,12 @@ init(function () use ($utopia, $response, $request, $layout) { +App::init(function () use ($utopia, $response, $request, $layout) { /* AJAX check */ if (!empty($request->getQuery('version', ''))) { @@ -24,7 +25,7 @@ $utopia->init(function () use ($utopia, $response, $request, $layout) { ['type' => 'developer', 'label' => 'Developer'], ['type' => 'admin', 'label' => 'Admin'], ]) - ->setParam('env', $utopia->getMode()) + ->setParam('env', App::getMode()) ; $time = (60 * 60 * 24 * 45); // 45 days cache diff --git a/app/controllers/web/console.php b/app/controllers/web/console.php index 595d36d33..756263d7e 100644 --- a/app/controllers/web/console.php +++ b/app/controllers/web/console.php @@ -2,6 +2,7 @@ global $utopia, $response, $request, $layout, $projectDB; +use Utopia\App; use Utopia\View; use Utopia\Config\Config; use Utopia\Domains\Domain; @@ -10,14 +11,14 @@ use Appwrite\Database\Validator\Authorization; use Appwrite\Database\Validator\UID; use Appwrite\Storage\Storage; -$utopia->init(function () use ($layout) { +App::init(function () use ($layout) { $layout ->setParam('description', 'Appwrite Console allows you to easily manage, monitor, and control your entire backend API and tools.') ->setParam('analytics', 'UA-26264668-5') ; }, 'console'); -$utopia->shutdown(function () use ($response, $request, $layout) { +App::shutdown(function () use ($response, $request, $layout) { $header = new View(__DIR__.'/../../views/console/comps/header.phtml'); $footer = new View(__DIR__.'/../../views/console/comps/footer.phtml'); @@ -34,7 +35,7 @@ $utopia->shutdown(function () use ($response, $request, $layout) { $response->send($layout->render()); }, 'console'); -$utopia->get('/error/:code') +App::get('/error/:code') ->groups(['web', 'console']) ->label('permission', 'public') ->label('scope', 'home') @@ -51,7 +52,7 @@ $utopia->get('/error/:code') ->setParam('body', $page); }); -$utopia->get('/console') +App::get('/console') ->groups(['web', 'console']) ->label('permission', 'public') ->label('scope', 'console') @@ -67,7 +68,7 @@ $utopia->get('/console') ->setParam('body', $page); }); -$utopia->get('/console/account') +App::get('/console/account') ->groups(['web', 'console']) ->label('permission', 'public') ->label('scope', 'console') @@ -85,7 +86,7 @@ $utopia->get('/console/account') ->setParam('body', $page); }); -$utopia->get('/console/notifications') +App::get('/console/notifications') ->groups(['web', 'console']) ->label('permission', 'public') ->label('scope', 'console') @@ -97,7 +98,7 @@ $utopia->get('/console/notifications') ->setParam('body', $page); }); -$utopia->get('/console/home') +App::get('/console/home') ->groups(['web', 'console']) ->label('permission', 'public') ->label('scope', 'console') @@ -109,7 +110,7 @@ $utopia->get('/console/home') ->setParam('body', $page); }); -$utopia->get('/console/settings') +App::get('/console/settings') ->groups(['web', 'console']) ->label('permission', 'public') ->label('scope', 'console') @@ -128,7 +129,7 @@ $utopia->get('/console/settings') ->setParam('body', $page); }); -$utopia->get('/console/webhooks') +App::get('/console/webhooks') ->groups(['web', 'console']) ->label('permission', 'public') ->label('scope', 'console') @@ -144,7 +145,7 @@ $utopia->get('/console/webhooks') ->setParam('body', $page); }); -$utopia->get('/console/keys') +App::get('/console/keys') ->groups(['web', 'console']) ->label('permission', 'public') ->label('scope', 'console') @@ -159,7 +160,7 @@ $utopia->get('/console/keys') ->setParam('body', $page); }); -$utopia->get('/console/tasks') +App::get('/console/tasks') ->groups(['web', 'console']) ->label('permission', 'public') ->label('scope', 'console') @@ -171,7 +172,7 @@ $utopia->get('/console/tasks') ->setParam('body', $page); }); -$utopia->get('/console/database') +App::get('/console/database') ->groups(['web', 'console']) ->label('permission', 'public') ->label('scope', 'console') @@ -183,7 +184,7 @@ $utopia->get('/console/database') ->setParam('body', $page); }); -$utopia->get('/console/database/collection') +App::get('/console/database/collection') ->groups(['web', 'console']) ->label('permission', 'public') ->label('scope', 'console') @@ -215,7 +216,7 @@ $utopia->get('/console/database/collection') ; }); -$utopia->get('/console/database/document') +App::get('/console/database/document') ->groups(['web', 'console']) ->label('permission', 'public') ->label('scope', 'console') @@ -245,7 +246,7 @@ $utopia->get('/console/database/document') ->setParam('body', $page); }); -$utopia->get('/console/storage') +App::get('/console/storage') ->groups(['web', 'console']) ->label('permission', 'public') ->label('scope', 'console') @@ -263,7 +264,7 @@ $utopia->get('/console/storage') ->setParam('body', $page); }); -$utopia->get('/console/users') +App::get('/console/users') ->groups(['web', 'console']) ->label('permission', 'public') ->label('scope', 'console') @@ -277,7 +278,7 @@ $utopia->get('/console/users') ->setParam('body', $page); }); -$utopia->get('/console/users/user') +App::get('/console/users/user') ->groups(['web', 'console']) ->label('permission', 'public') ->label('scope', 'console') @@ -289,7 +290,7 @@ $utopia->get('/console/users/user') ->setParam('body', $page); }); -$utopia->get('/console/users/teams/team') +App::get('/console/users/teams/team') ->groups(['web', 'console']) ->label('permission', 'public') ->label('scope', 'console') diff --git a/app/controllers/web/home.php b/app/controllers/web/home.php index 65097d36c..4c0f63351 100644 --- a/app/controllers/web/home.php +++ b/app/controllers/web/home.php @@ -2,12 +2,13 @@ global $utopia, $response, $request, $layout; +use Utopia\App; use Utopia\View; use Utopia\Config\Config; use Utopia\Validator\WhiteList; use Utopia\Validator\Range; -$utopia->init(function () use ($layout) { +App::init(function () use ($layout) { $header = new View(__DIR__.'/../../views/home/comps/header.phtml'); $footer = new View(__DIR__.'/../../views/home/comps/footer.phtml'); @@ -25,11 +26,11 @@ $utopia->init(function () use ($layout) { ; }, 'home'); -$utopia->shutdown(function () use ($response, $layout) { +App::shutdown(function () use ($response, $layout) { $response->send($layout->render()); }, 'home'); -$utopia->get('/') +App::get('/') ->groups(['web', 'home']) ->label('permission', 'public') ->label('scope', 'home') @@ -39,7 +40,7 @@ $utopia->get('/') } ); -$utopia->get('/auth/signin') +App::get('/auth/signin') ->groups(['web', 'home']) ->label('permission', 'public') ->label('scope', 'home') @@ -51,7 +52,7 @@ $utopia->get('/auth/signin') ->setParam('body', $page); }); -$utopia->get('/auth/signup') +App::get('/auth/signup') ->groups(['web', 'home']) ->label('permission', 'public') ->label('scope', 'home') @@ -63,7 +64,7 @@ $utopia->get('/auth/signup') ->setParam('body', $page); }); -$utopia->get('/auth/recovery') +App::get('/auth/recovery') ->groups(['web', 'home']) ->label('permission', 'public') ->label('scope', 'home') @@ -75,7 +76,7 @@ $utopia->get('/auth/recovery') ->setParam('body', $page); }); -$utopia->get('/auth/confirm') +App::get('/auth/confirm') ->groups(['web', 'home']) ->label('permission', 'public') ->label('scope', 'home') @@ -87,7 +88,7 @@ $utopia->get('/auth/confirm') ->setParam('body', $page); }); -$utopia->get('/auth/join') +App::get('/auth/join') ->groups(['web', 'home']) ->label('permission', 'public') ->label('scope', 'home') @@ -99,7 +100,7 @@ $utopia->get('/auth/join') ->setParam('body', $page); }); -$utopia->get('/auth/recovery/reset') +App::get('/auth/recovery/reset') ->groups(['web', 'home']) ->label('permission', 'public') ->label('scope', 'home') @@ -112,7 +113,7 @@ $utopia->get('/auth/recovery/reset') }); -$utopia->get('/auth/oauth2/success') +App::get('/auth/oauth2/success') ->groups(['web', 'home']) ->label('permission', 'public') ->label('scope', 'home') @@ -127,7 +128,7 @@ $utopia->get('/auth/oauth2/success') ; }); -$utopia->get('/auth/oauth2/failure') +App::get('/auth/oauth2/failure') ->groups(['web', 'home']) ->label('permission', 'public') ->label('scope', 'home') @@ -142,7 +143,7 @@ $utopia->get('/auth/oauth2/failure') ; }); -$utopia->get('/error/:code') +App::get('/error/:code') ->groups(['web', 'home']) ->label('permission', 'public') ->label('scope', 'home') @@ -159,7 +160,7 @@ $utopia->get('/error/:code') ->setParam('body', $page); }); -$utopia->get('/open-api-2.json') +App::get('/open-api-2.json') ->groups(['web', 'home']) ->label('scope', 'public') ->label('docs', false) diff --git a/app/init.php b/app/init.php index 825894f55..1d81e4880 100644 --- a/app/init.php +++ b/app/init.php @@ -53,7 +53,7 @@ $request = new Request(); $response = new Response(); $utopia = new App('Asia/Tel_Aviv'); -$utopia->setMode($utopia->getEnv('_APP_ENV', App::MODE_TYPE_PRODUCTION)); +App::setMode(App::getEnv('_APP_ENV', App::MODE_TYPE_PRODUCTION)); /* * ENV vars @@ -69,16 +69,16 @@ Config::load('avatar-browsers', __DIR__.'/../app/config/avatars/browsers.php'); Config::load('avatar-credit-cards', __DIR__.'/../app/config/avatars/credit-cards.php'); Config::load('avatar-flags', __DIR__.'/../app/config/avatars/flags.php'); -Config::setParam('env', $utopia->getMode()); +Config::setParam('env', App::getMode()); Config::setParam('domain', $request->getServer('HTTP_HOST', '')); Config::setParam('domainVerification', false); -Config::setParam('version', $utopia->getEnv('_APP_VERSION', 'UNKNOWN')); +Config::setParam('version', App::getEnv('_APP_VERSION', 'UNKNOWN')); Config::setParam('protocol', $request->getServer('HTTP_X_FORWARDED_PROTO', $request->getServer('REQUEST_SCHEME', 'https'))); Config::setParam('port', (string) \parse_url(Config::getParam('protocol').'://'.$request->getServer('HTTP_HOST', ''), PHP_URL_PORT)); Config::setParam('hostname', \parse_url(Config::getParam('protocol').'://'.$request->getServer('HTTP_HOST', null), PHP_URL_HOST)); -Resque::setBackend($utopia->getEnv('_APP_REDIS_HOST', '') - .':'.$utopia->getEnv('_APP_REDIS_PORT', '')); +Resque::setBackend(App::getEnv('_APP_REDIS_HOST', '') + .':'.App::getEnv('_APP_REDIS_PORT', '')); \define('COOKIE_DOMAIN', ( @@ -95,10 +95,10 @@ Resque::setBackend($utopia->getEnv('_APP_REDIS_HOST', '') * Registry */ $register->set('db', function () use ($utopia) { // Register DB connection - $dbHost = $utopia->getEnv('_APP_DB_HOST', ''); - $dbUser = $utopia->getEnv('_APP_DB_USER', ''); - $dbPass = $utopia->getEnv('_APP_DB_PASS', ''); - $dbScheme = $utopia->getEnv('_APP_DB_SCHEMA', ''); + $dbHost = App::getEnv('_APP_DB_HOST', ''); + $dbUser = App::getEnv('_APP_DB_USER', ''); + $dbPass = App::getEnv('_APP_DB_PASS', ''); + $dbScheme = App::getEnv('_APP_DB_SCHEMA', ''); $pdo = new PDO("mysql:host={$dbHost};dbname={$dbScheme};charset=utf8mb4", $dbUser, $dbPass, array( PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8mb4', @@ -112,8 +112,8 @@ $register->set('db', function () use ($utopia) { // Register DB connection return $pdo; }); $register->set('influxdb', function () use ($utopia) { // Register DB connection - $host = $utopia->getEnv('_APP_INFLUXDB_HOST', ''); - $port = $utopia->getEnv('_APP_INFLUXDB_PORT', ''); + $host = App::getEnv('_APP_INFLUXDB_HOST', ''); + $port = App::getEnv('_APP_INFLUXDB_PORT', ''); if (empty($host) || empty($port)) { return; @@ -124,8 +124,8 @@ $register->set('influxdb', function () use ($utopia) { // Register DB connection return $client; }); $register->set('statsd', function () use ($utopia) { // Register DB connection - $host = $utopia->getEnv('_APP_STATSD_HOST', 'telegraf'); - $port = $utopia->getEnv('_APP_STATSD_PORT', 8125); + $host = App::getEnv('_APP_STATSD_HOST', 'telegraf'); + $port = App::getEnv('_APP_STATSD_PORT', 8125); $connection = new \Domnikl\Statsd\Connection\UdpSocket($host, $port); $statsd = new \Domnikl\Statsd\Client($connection); @@ -135,8 +135,8 @@ $register->set('statsd', function () use ($utopia) { // Register DB connection $register->set('cache', function () use ($utopia) { // Register cache connection $redis = new Redis(); - $redis->connect($utopia->getEnv('_APP_REDIS_HOST', ''), - $utopia->getEnv('_APP_REDIS_PORT', '')); + $redis->connect(App::getEnv('_APP_REDIS_HOST', ''), + App::getEnv('_APP_REDIS_PORT', '')); return $redis; }); @@ -145,21 +145,21 @@ $register->set('smtp', function () use ($utopia) { $mail->isSMTP(); - $username = $utopia->getEnv('_APP_SMTP_USERNAME', null); - $password = $utopia->getEnv('_APP_SMTP_PASSWORD', null); + $username = App::getEnv('_APP_SMTP_USERNAME', null); + $password = App::getEnv('_APP_SMTP_PASSWORD', null); $mail->XMailer = 'Appwrite Mailer'; - $mail->Host = $utopia->getEnv('_APP_SMTP_HOST', 'smtp'); - $mail->Port = $utopia->getEnv('_APP_SMTP_PORT', 25); + $mail->Host = App::getEnv('_APP_SMTP_HOST', 'smtp'); + $mail->Port = App::getEnv('_APP_SMTP_PORT', 25); $mail->SMTPAuth = (!empty($username) && !empty($password)); $mail->Username = $username; $mail->Password = $password; - $mail->SMTPSecure = $utopia->getEnv('_APP_SMTP_SECURE', false); + $mail->SMTPSecure = App::getEnv('_APP_SMTP_SECURE', false); $mail->SMTPAutoTLS = false; $mail->CharSet = 'UTF-8'; - $from = \urldecode($utopia->getEnv('_APP_SYSTEM_EMAIL_NAME', APP_NAME.' Server')); - $email = $utopia->getEnv('_APP_SYSTEM_EMAIL_ADDRESS', APP_EMAIL_TEAM); + $from = \urldecode(App::getEnv('_APP_SYSTEM_EMAIL_NAME', APP_NAME.' Server')); + $email = App::getEnv('_APP_SYSTEM_EMAIL_ADDRESS', APP_EMAIL_TEAM); $mail->setFrom($email, $from); $mail->addReplyTo($email, $from); @@ -249,7 +249,7 @@ if (\in_array($locale, Config::getParam('locales'))) { 'method' => 'GET', 'user_agent' => \sprintf(APP_USERAGENT, Config::getParam('version'), - $utopia->getEnv('_APP_SYSTEM_SECURITY_EMAIL_ADDRESS', APP_EMAIL_SECURITY)), + App::getEnv('_APP_SYSTEM_SECURITY_EMAIL_ADDRESS', APP_EMAIL_SECURITY)), 'timeout' => 2, ], ]); @@ -329,9 +329,9 @@ if (APP_MODE_ADMIN === $mode) { // Set project mail $register->get('smtp') ->setFrom( - $utopia->getEnv('_APP_SYSTEM_EMAIL_ADDRESS', APP_EMAIL_TEAM), + App::getEnv('_APP_SYSTEM_EMAIL_ADDRESS', APP_EMAIL_TEAM), ($project->getId() === 'console') - ? \urldecode($utopia->getEnv('_APP_SYSTEM_EMAIL_NAME', APP_NAME.' Server')) + ? \urldecode(App::getEnv('_APP_SYSTEM_EMAIL_NAME', APP_NAME.' Server')) : \sprintf(Locale::getText('account.emails.team'), $project->getAttribute('name') ) ); diff --git a/composer.json b/composer.json index 78b0fd76c..62ef9fea9 100644 --- a/composer.json +++ b/composer.json @@ -32,7 +32,7 @@ "appwrite/php-clamav": "1.0.*", - "utopia-php/framework": "0.4.0", + "utopia-php/framework": "0.6.0", "utopia-php/abuse": "0.2.*", "utopia-php/audit": "0.3.*", "utopia-php/cache": "0.2.*", diff --git a/composer.lock b/composer.lock index a7d030f06..c871ced2d 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "7f6cbe77fe2e0f8bdff33c37a4d9ca11", + "content-hash": "54f5e7c2291eb22ff442d2c491fa4eca", "packages": [ { "name": "appwrite/php-clamav", @@ -1596,16 +1596,16 @@ }, { "name": "utopia-php/framework", - "version": "0.4.0", + "version": "0.6.0", "source": { "type": "git", "url": "https://github.com/utopia-php/framework.git", - "reference": "30aeb2aeecf8ea2ab83242efad0f5f9fab8d4be5" + "reference": "5412a080f6fdf99310f20a803a797ae97de8b539" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/utopia-php/framework/zipball/30aeb2aeecf8ea2ab83242efad0f5f9fab8d4be5", - "reference": "30aeb2aeecf8ea2ab83242efad0f5f9fab8d4be5", + "url": "https://api.github.com/repos/utopia-php/framework/zipball/5412a080f6fdf99310f20a803a797ae97de8b539", + "reference": "5412a080f6fdf99310f20a803a797ae97de8b539", "shasum": "" }, "require": { @@ -1636,7 +1636,7 @@ "php", "upf" ], - "time": "2020-06-25T18:21:48+00:00" + "time": "2020-06-28T16:54:35+00:00" }, { "name": "utopia-php/locale", @@ -1942,16 +1942,16 @@ "source": { "type": "git", "url": "https://github.com/myclabs/DeepCopy.git", - "reference": "a491d65139e2411c75704e871dd02bdddf5a4bdc" + "reference": "5796d127b0c4ff505b77455148ea9d5269d99758" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/a491d65139e2411c75704e871dd02bdddf5a4bdc", - "reference": "a491d65139e2411c75704e871dd02bdddf5a4bdc", + "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/5796d127b0c4ff505b77455148ea9d5269d99758", + "reference": "5796d127b0c4ff505b77455148ea9d5269d99758", "shasum": "" }, "require": { - "php": "^7.1" + "php": "^7.1 || ^8.0" }, "replace": { "myclabs/deep-copy": "self.version" @@ -1982,7 +1982,7 @@ "object", "object graph" ], - "time": "2020-03-12T21:49:07+00:00" + "time": "2020-06-28T07:02:41+00:00" }, { "name": "phar-io/manifest",