Merge branch 'dev' into fix-redis-auth-on-workers

This commit is contained in:
Damodar Lohani
2021-03-23 12:37:06 +05:45
1624 changed files with 620 additions and 189 deletions
+1 -1
View File
@@ -16,7 +16,7 @@ _APP_DB_PORT=3306
_APP_DB_SCHEMA=appwrite
_APP_DB_USER=user
_APP_DB_PASS=password
_APP_STORAGE_ANTIVIRUS=enabled
_APP_STORAGE_ANTIVIRUS=disabled
_APP_STORAGE_ANTIVIRUS_HOST=clamav
_APP_STORAGE_ANTIVIRUS_PORT=3310
_APP_INFLUXDB_HOST=influxdb
+1 -1
View File
@@ -38,7 +38,7 @@ script:
- docker-compose logs appwrite-worker-functions
- docker-compose exec appwrite doctor
- docker-compose exec appwrite vars
- docker-compose exec appwrite test
- docker-compose exec appwrite test --debug
deploy:
- provider: script
+12
View File
@@ -2,6 +2,17 @@
- Anonymous login
## Upgrades
- Upgraded ClamAV to version 1.3.0
- Upgraded utopia-php/abuse to version 0.4.0
# Version 0.7.2 (Not Released Yet)
## Bugs
- Fixed certificates worker error on successful operations
# Version 0.7.1
## Features
@@ -31,6 +42,7 @@
- Fixed a bug, that Response format header was not added in the access-control-allow-header list.
- Fixed a bug where countryName is unknown on sessions (#933)
- Added missing event users.update.prefs (#952)
- Fixed bug not allowing to reset document permissions (#977)
## Security
-1
View File
@@ -366,7 +366,6 @@ From time to time, our team will add tutorials that will help contributors find
* [Appwrite Environment Variables](./docs/tutorials/environment-variables.md)
* [Running in Production](./docs/tutorials/running-in-production.md)
## Other Ways to Help
Pull requests are great, but there are many other areas where you can help Appwrite.
+3 -3
View File
@@ -32,7 +32,7 @@ return [
[
'key' => 'flutter',
'name' => 'Flutter',
'version' => '0.4.0-dev.2',
'version' => '0.4.0-dev.3',
'url' => 'https://github.com/appwrite/sdk-for-flutter',
'package' => 'https://pub.dev/packages/appwrite',
'enabled' => true,
@@ -284,12 +284,12 @@ return [
[
'key' => 'dart',
'name' => 'Dart',
'version' => '0.3.1',
'version' => '0.4.0',
'url' => 'https://github.com/appwrite/sdk-for-dart',
'package' => 'https://pub.dev/packages/dart_appwrite',
'enabled' => true,
'beta' => true,
'dev' => true,
'dev' => false,
'hidden' => false,
'family' => APP_PLATFORM_SERVER,
'prism' => 'dart',
+2 -2
View File
@@ -143,7 +143,7 @@ return [
],
[
'name' => '_APP_REDIS_USER',
'description' => 'Redis server user.',
'description' => 'Redis server user. This is an optional variable. Default value is an empty string.',
'introduction' => '0.7',
'default' => '',
'required' => false,
@@ -151,7 +151,7 @@ return [
],
[
'name' => '_APP_REDIS_PASS',
'description' => 'Redis server password.',
'description' => 'Redis server password. This is an optional variable. Default value is an empty string.',
'introduction' => '0.7',
'default' => '',
'required' => false,
+2 -2
View File
@@ -255,8 +255,8 @@ App::get('/v1/account/sessions/oauth2/:provider')
->label('sdk.namespace', 'account')
->label('sdk.method', 'createOAuth2Session')
->label('sdk.description', '/docs/references/account/create-session-oauth2.md')
->label('sdk.response.code', 301)
->label('sdk.response.type', 'text/html')
->label('sdk.response.code', Response::STATUS_CODE_MOVED_PERMANENTLY)
->label('sdk.response.type', Response::CONTENT_TYPE_HTML)
->label('sdk.methodType', 'webAuth')
->label('abuse-limit', 50)
->label('abuse-key', 'ip:{ip}')
+2 -10
View File
@@ -535,20 +535,12 @@ App::patch('/v1/database/collections/:collectionId/documents/:documentId')
throw new Exception('No document found', 404);
}
//TODO check merge read write permissions
if (!empty($read)) { // Overwrite permissions only when passed
$data['$permissions']['read'] = $read;
}
if (!empty($write)) { // Overwrite permissions only when passed
$data['$permissions']['write'] = $write;
}
$data = \array_merge($document->getArrayCopy(), $data);
$data['$collection'] = $collection->getId(); // Make sure user don't switch collectionID
$data['$id'] = $document->getId(); // Make sure user don't switch document unique ID
$data['$permissions']['read'] = $read;
$data['$permissions']['write'] = $write;
if (empty($data)) {
throw new Exception('Missing payload', 400);
+1 -1
View File
@@ -435,7 +435,7 @@ App::post('/v1/functions/:functionId/tags')
->label('sdk.response.model', Response::MODEL_TAG)
->param('functionId', '', new UID(), 'Function unique ID.')
->param('command', '', new Text('1028'), 'Code execution command.')
->param('code', null, new File(), 'Gzip file with your code package. When used with the Appwrite CLI, pass the path to your code directory, and the CLI will automatically package your code. Use a path that is within the current directory.', false)
->param('code', [], new File(), 'Gzip file with your code package. When used with the Appwrite CLI, pass the path to your code directory, and the CLI will automatically package your code. Use a path that is within the current directory.', false)
->inject('request')
->inject('response')
->inject('projectDB')
+4 -1
View File
@@ -254,7 +254,10 @@ App::get('/v1/health/anti-virus')
/** @var Appwrite\Utopia\Response $response */
if (App::getEnv('_APP_STORAGE_ANTIVIRUS') === 'disabled') { // Check if scans are enabled
throw new Exception('Anitvirus is disabled');
return $response->json([
'status' => 'disabled',
'version' => '',
]);
}
$antiVirus = new Network(App::getEnv('_APP_STORAGE_ANTIVIRUS_HOST', 'clamav'),
+119 -38
View File
@@ -2,8 +2,9 @@
global $utopia, $request, $response;
use Appwrite\Database\Document;
use Appwrite\Utopia\Response;
use Utopia\App;
use Utopia\Response;
use Utopia\Validator\Numeric;
use Utopia\Validator\Text;
use Utopia\Validator\ArrayList;
@@ -11,13 +12,16 @@ use Utopia\Validator\Host;
use Utopia\Storage\Validator\File;
App::get('/v1/mock/tests/foo')
->desc('Mock a get request for SDK tests')
->desc('Get Foo')
->groups(['mock'])
->label('scope', 'public')
->label('sdk.platform', [APP_PLATFORM_CLIENT, APP_PLATFORM_SERVER])
->label('sdk.namespace', 'foo')
->label('sdk.method', 'get')
->label('sdk.description', 'Mock a get request for SDK tests')
->label('sdk.description', 'Mock a get request.')
->label('sdk.response.code', Response::STATUS_CODE_OK)
->label('sdk.response.type', Response::CONTENT_TYPE_JSON)
->label('sdk.response.model', Response::MODEL_MOCK)
->label('sdk.mock', true)
->param('x', '', new Text(100), 'Sample string param')
->param('y', '', new Numeric(), 'Sample numeric param')
@@ -26,13 +30,16 @@ App::get('/v1/mock/tests/foo')
});
App::post('/v1/mock/tests/foo')
->desc('Mock a post request for SDK tests')
->desc('Post Foo')
->groups(['mock'])
->label('scope', 'public')
->label('sdk.platform', [APP_PLATFORM_CLIENT, APP_PLATFORM_SERVER])
->label('sdk.namespace', 'foo')
->label('sdk.method', 'post')
->label('sdk.description', 'Mock a post request for SDK tests')
->label('sdk.description', 'Mock a post request.')
->label('sdk.response.code', Response::STATUS_CODE_OK)
->label('sdk.response.type', Response::CONTENT_TYPE_JSON)
->label('sdk.response.model', Response::MODEL_MOCK)
->label('sdk.mock', true)
->param('x', '', new Text(100), 'Sample string param')
->param('y', '', new Numeric(), 'Sample numeric param')
@@ -41,13 +48,16 @@ App::post('/v1/mock/tests/foo')
});
App::patch('/v1/mock/tests/foo')
->desc('Mock a patch request for SDK tests')
->desc('Patch Foo')
->groups(['mock'])
->label('scope', 'public')
->label('sdk.platform', [APP_PLATFORM_CLIENT, APP_PLATFORM_SERVER])
->label('sdk.namespace', 'foo')
->label('sdk.method', 'patch')
->label('sdk.description', 'Mock a get request for SDK tests')
->label('sdk.description', 'Mock a patch request.')
->label('sdk.response.code', Response::STATUS_CODE_OK)
->label('sdk.response.type', Response::CONTENT_TYPE_JSON)
->label('sdk.response.model', Response::MODEL_MOCK)
->label('sdk.mock', true)
->param('x', '', new Text(100), 'Sample string param')
->param('y', '', new Numeric(), 'Sample numeric param')
@@ -56,13 +66,16 @@ App::patch('/v1/mock/tests/foo')
});
App::put('/v1/mock/tests/foo')
->desc('Mock a put request for SDK tests')
->desc('Put Foo')
->groups(['mock'])
->label('scope', 'public')
->label('sdk.platform', [APP_PLATFORM_CLIENT, APP_PLATFORM_SERVER])
->label('sdk.namespace', 'foo')
->label('sdk.method', 'put')
->label('sdk.description', 'Mock a put request for SDK tests')
->label('sdk.description', 'Mock a put request.')
->label('sdk.response.code', Response::STATUS_CODE_OK)
->label('sdk.response.type', Response::CONTENT_TYPE_JSON)
->label('sdk.response.model', Response::MODEL_MOCK)
->label('sdk.mock', true)
->param('x', '', new Text(100), 'Sample string param')
->param('y', '', new Numeric(), 'Sample numeric param')
@@ -71,13 +84,16 @@ App::put('/v1/mock/tests/foo')
});
App::delete('/v1/mock/tests/foo')
->desc('Mock a delete request for SDK tests')
->desc('Delete Foo')
->groups(['mock'])
->label('scope', 'public')
->label('sdk.platform', [APP_PLATFORM_CLIENT, APP_PLATFORM_SERVER])
->label('sdk.namespace', 'foo')
->label('sdk.method', 'delete')
->label('sdk.description', 'Mock a delete request for SDK tests')
->label('sdk.description', 'Mock a delete request.')
->label('sdk.response.code', Response::STATUS_CODE_OK)
->label('sdk.response.type', Response::CONTENT_TYPE_JSON)
->label('sdk.response.model', Response::MODEL_MOCK)
->label('sdk.mock', true)
->param('x', '', new Text(100), 'Sample string param')
->param('y', '', new Numeric(), 'Sample numeric param')
@@ -86,13 +102,16 @@ App::delete('/v1/mock/tests/foo')
});
App::get('/v1/mock/tests/bar')
->desc('Mock a get request for SDK tests')
->desc('Get Bar')
->groups(['mock'])
->label('scope', 'public')
->label('sdk.platform', [APP_PLATFORM_CLIENT, APP_PLATFORM_SERVER])
->label('sdk.namespace', 'bar')
->label('sdk.method', 'get')
->label('sdk.description', 'Mock a get request for SDK tests')
->label('sdk.description', 'Mock a get request.')
->label('sdk.response.code', Response::STATUS_CODE_OK)
->label('sdk.response.type', Response::CONTENT_TYPE_JSON)
->label('sdk.response.model', Response::MODEL_MOCK)
->label('sdk.mock', true)
->param('x', '', new Text(100), 'Sample string param')
->param('y', '', new Numeric(), 'Sample numeric param')
@@ -101,13 +120,16 @@ App::get('/v1/mock/tests/bar')
});
App::post('/v1/mock/tests/bar')
->desc('Mock a post request for SDK tests')
->desc('Post Bar')
->groups(['mock'])
->label('scope', 'public')
->label('sdk.platform', [APP_PLATFORM_CLIENT, APP_PLATFORM_SERVER])
->label('sdk.namespace', 'bar')
->label('sdk.method', 'post')
->label('sdk.description', 'Mock a post request for SDK tests')
->label('sdk.description', 'Mock a post request.')
->label('sdk.response.code', Response::STATUS_CODE_OK)
->label('sdk.response.type', Response::CONTENT_TYPE_JSON)
->label('sdk.response.model', Response::MODEL_MOCK)
->label('sdk.mock', true)
->param('x', '', new Text(100), 'Sample string param')
->param('y', '', new Numeric(), 'Sample numeric param')
@@ -116,13 +138,16 @@ App::post('/v1/mock/tests/bar')
});
App::patch('/v1/mock/tests/bar')
->desc('Mock a patch request for SDK tests')
->desc('Patch Bar')
->groups(['mock'])
->label('scope', 'public')
->label('sdk.platform', [APP_PLATFORM_CLIENT, APP_PLATFORM_SERVER])
->label('sdk.namespace', 'bar')
->label('sdk.method', 'patch')
->label('sdk.description', 'Mock a get request for SDK tests')
->label('sdk.description', 'Mock a patch request.')
->label('sdk.response.code', Response::STATUS_CODE_OK)
->label('sdk.response.type', Response::CONTENT_TYPE_JSON)
->label('sdk.response.model', Response::MODEL_MOCK)
->label('sdk.mock', true)
->param('x', '', new Text(100), 'Sample string param')
->param('y', '', new Numeric(), 'Sample numeric param')
@@ -131,13 +156,16 @@ App::patch('/v1/mock/tests/bar')
});
App::put('/v1/mock/tests/bar')
->desc('Mock a put request for SDK tests')
->desc('Put Bar')
->groups(['mock'])
->label('scope', 'public')
->label('sdk.platform', [APP_PLATFORM_CLIENT, APP_PLATFORM_SERVER])
->label('sdk.namespace', 'bar')
->label('sdk.method', 'put')
->label('sdk.description', 'Mock a put request for SDK tests')
->label('sdk.description', 'Mock a put request.')
->label('sdk.response.code', Response::STATUS_CODE_OK)
->label('sdk.response.type', Response::CONTENT_TYPE_JSON)
->label('sdk.response.model', Response::MODEL_MOCK)
->label('sdk.mock', true)
->param('x', '', new Text(100), 'Sample string param')
->param('y', '', new Numeric(), 'Sample numeric param')
@@ -146,13 +174,16 @@ App::put('/v1/mock/tests/bar')
});
App::delete('/v1/mock/tests/bar')
->desc('Mock a delete request for SDK tests')
->desc('Delete Bar')
->groups(['mock'])
->label('scope', 'public')
->label('sdk.platform', [APP_PLATFORM_CLIENT, APP_PLATFORM_SERVER])
->label('sdk.namespace', 'bar')
->label('sdk.method', 'delete')
->label('sdk.description', 'Mock a delete request for SDK tests')
->label('sdk.description', 'Mock a delete request.')
->label('sdk.response.code', Response::STATUS_CODE_OK)
->label('sdk.response.type', Response::CONTENT_TYPE_JSON)
->label('sdk.response.model', Response::MODEL_MOCK)
->label('sdk.mock', true)
->param('x', '', new Text(100), 'Sample string param')
->param('y', '', new Numeric(), 'Sample numeric param')
@@ -161,14 +192,17 @@ App::delete('/v1/mock/tests/bar')
});
App::post('/v1/mock/tests/general/upload')
->desc('Mock a post request for SDK tests')
->desc('Upload File')
->groups(['mock'])
->label('scope', 'public')
->label('sdk.platform', [APP_PLATFORM_CLIENT, APP_PLATFORM_SERVER])
->label('sdk.namespace', 'general')
->label('sdk.method', 'upload')
->label('sdk.description', 'Mock a delete request for SDK tests')
->label('sdk.description', 'Mock a file upload request.')
->label('sdk.request.type', 'multipart/form-data')
->label('sdk.response.code', Response::STATUS_CODE_OK)
->label('sdk.response.type', Response::CONTENT_TYPE_JSON)
->label('sdk.response.model', Response::MODEL_MOCK)
->label('sdk.mock', true)
->param('x', '', new Text(100), 'Sample string param')
->param('y', '', new Numeric(), 'Sample numeric param')
@@ -203,13 +237,15 @@ App::post('/v1/mock/tests/general/upload')
});
App::get('/v1/mock/tests/general/redirect')
->desc('Mock a post request for SDK tests')
->desc('Redirect')
->groups(['mock'])
->label('scope', 'public')
->label('sdk.platform', [APP_PLATFORM_CLIENT, APP_PLATFORM_SERVER])
->label('sdk.namespace', 'general')
->label('sdk.method', 'redirect')
->label('sdk.description', 'Mock a redirect request for SDK tests')
->label('sdk.description', 'Mock a redirect request.')
->label('sdk.response.code', Response::STATUS_CODE_MOVED_PERMANENTLY)
->label('sdk.response.type', Response::CONTENT_TYPE_HTML)
->label('sdk.mock', true)
->inject('response')
->action(function ($response) {
@@ -219,25 +255,31 @@ App::get('/v1/mock/tests/general/redirect')
});
App::get('/v1/mock/tests/general/redirect/done')
->desc('Mock a post request for SDK tests')
->desc('Redirected')
->groups(['mock'])
->label('scope', 'public')
->label('sdk.platform', [APP_PLATFORM_CLIENT, APP_PLATFORM_SERVER])
->label('sdk.namespace', 'general')
->label('sdk.method', 'redirected')
->label('sdk.description', 'Mock a redirected request for SDK tests')
->label('sdk.description', 'Mock a redirected request.')
->label('sdk.response.code', Response::STATUS_CODE_OK)
->label('sdk.response.type', Response::CONTENT_TYPE_JSON)
->label('sdk.response.model', Response::MODEL_MOCK)
->label('sdk.mock', true)
->action(function () {
});
App::get('/v1/mock/tests/general/set-cookie')
->desc('Mock a cookie request for SDK tests')
->desc('Set Cookie')
->groups(['mock'])
->label('scope', 'public')
->label('sdk.platform', [APP_PLATFORM_CLIENT, APP_PLATFORM_SERVER])
->label('sdk.namespace', 'general')
->label('sdk.method', 'setCookie')
->label('sdk.description', 'Mock a set cookie request for SDK tests')
->label('sdk.description', 'Mock a set cookie request.')
->label('sdk.response.code', Response::STATUS_CODE_OK)
->label('sdk.response.type', Response::CONTENT_TYPE_JSON)
->label('sdk.response.model', Response::MODEL_MOCK)
->label('sdk.mock', true)
->inject('response')
->action(function ($response) {
@@ -247,13 +289,16 @@ App::get('/v1/mock/tests/general/set-cookie')
});
App::get('/v1/mock/tests/general/get-cookie')
->desc('Mock a cookie request for SDK tests')
->desc('Get Cookie')
->groups(['mock'])
->label('scope', 'public')
->label('sdk.platform', [APP_PLATFORM_CLIENT, APP_PLATFORM_SERVER])
->label('sdk.namespace', 'general')
->label('sdk.method', 'getCookie')
->label('sdk.description', 'Mock a get cookie request for SDK tests')
->label('sdk.description', 'Mock a cookie response.')
->label('sdk.response.code', Response::STATUS_CODE_OK)
->label('sdk.response.type', Response::CONTENT_TYPE_JSON)
->label('sdk.response.model', Response::MODEL_MOCK)
->label('sdk.mock', true)
->inject('request')
->action(function ($request) {
@@ -265,13 +310,15 @@ App::get('/v1/mock/tests/general/get-cookie')
});
App::get('/v1/mock/tests/general/empty')
->desc('Mock a post request for SDK tests')
->desc('Empty Response')
->groups(['mock'])
->label('scope', 'public')
->label('sdk.platform', [APP_PLATFORM_CLIENT, APP_PLATFORM_SERVER])
->label('sdk.namespace', 'general')
->label('sdk.method', 'empty')
->label('sdk.description', 'Mock a redirected request for SDK tests')
->label('sdk.description', 'Mock a an empty response.')
->label('sdk.response.code', Response::STATUS_CODE_NOCONTENT)
->label('sdk.response.model', Response::MODEL_NONE)
->label('sdk.mock', true)
->inject('response')
->action(function ($response) {
@@ -280,8 +327,40 @@ App::get('/v1/mock/tests/general/empty')
$response->noContent();
});
App::get('/v1/mock/tests/general/400-error')
->desc('400 Error')
->groups(['mock'])
->label('scope', 'public')
->label('sdk.platform', [APP_PLATFORM_CLIENT, APP_PLATFORM_SERVER])
->label('sdk.namespace', 'general')
->label('sdk.method', 'error400')
->label('sdk.description', 'Mock a an 400 failed request.')
->label('sdk.response.code', Response::STATUS_CODE_BAD_REQUEST)
->label('sdk.response.type', Response::CONTENT_TYPE_JSON)
->label('sdk.response.model', Response::MODEL_ERROR)
->label('sdk.mock', true)
->action(function () {
throw new Exception('Mock 400 error', 400);
});
App::get('/v1/mock/tests/general/500-error')
->desc('500 Error')
->groups(['mock'])
->label('scope', 'public')
->label('sdk.platform', [APP_PLATFORM_CLIENT, APP_PLATFORM_SERVER])
->label('sdk.namespace', 'general')
->label('sdk.method', 'error500')
->label('sdk.description', 'Mock a an 500 failed request.')
->label('sdk.response.code', Response::STATUS_CODE_INTERNAL_SERVER_ERROR)
->label('sdk.response.type', Response::CONTENT_TYPE_JSON)
->label('sdk.response.model', Response::MODEL_ERROR)
->label('sdk.mock', true)
->action(function () {
throw new Exception('Mock 500 error', 500);
});
App::get('/v1/mock/tests/general/oauth2')
->desc('Mock an OAuth2 login route')
->desc('OAuth Login')
->groups(['mock'])
->label('scope', 'public')
->label('docs', false)
@@ -298,7 +377,7 @@ App::get('/v1/mock/tests/general/oauth2')
});
App::get('/v1/mock/tests/general/oauth2/token')
->desc('Mock an OAuth2 login route')
->desc('OAuth2 Token')
->groups(['mock'])
->label('scope', 'public')
->label('docs', false)
@@ -327,7 +406,7 @@ App::get('/v1/mock/tests/general/oauth2/token')
});
App::get('/v1/mock/tests/general/oauth2/user')
->desc('Mock an OAuth2 user route')
->desc('OAuth2 User')
->groups(['mock'])
->label('scope', 'public')
->label('docs', false)
@@ -348,8 +427,9 @@ App::get('/v1/mock/tests/general/oauth2/user')
});
App::get('/v1/mock/tests/general/oauth2/success')
->label('scope', 'public')
->desc('OAuth2 Success')
->groups(['mock'])
->label('scope', 'public')
->label('docs', false)
->inject('response')
->action(function ($response) {
@@ -361,6 +441,7 @@ App::get('/v1/mock/tests/general/oauth2/success')
});
App::get('/v1/mock/tests/general/oauth2/failure')
->desc('OAuth2 Failure')
->groups(['mock'])
->label('scope', 'public')
->label('docs', false)
@@ -397,5 +478,5 @@ App::shutdown(function($utopia, $response, $request) {
throw new Exception('Failed to save resutls', 500);
}
$response->json(['result' => $route->getMethod() . ':' . $route->getURL() . ':passed']);
$response->dynamic(new Document(['result' => $route->getMethod() . ':' . $route->getURL() . ':passed']), Response::MODEL_MOCK);
}, ['utopia', 'response', 'request'], 'mock');
+1 -1
View File
@@ -39,7 +39,7 @@ const APP_USERAGENT = APP_NAME.'-Server v%s. Please report abuse at %s';
const APP_MODE_DEFAULT = 'default';
const APP_MODE_ADMIN = 'admin';
const APP_PAGING_LIMIT = 12;
const APP_CACHE_BUSTER = 144;
const APP_CACHE_BUSTER = 145;
const APP_VERSION_STABLE = '0.7.1';
const APP_STORAGE_UPLOADS = '/storage/uploads';
const APP_STORAGE_FUNCTIONS = '/storage/functions';
+2 -2
View File
@@ -124,7 +124,7 @@ $cli
$input[$var['name']] = Console::confirm($var['question'].' (default: \''.$var['default'].'\')');
if(empty($input[$key])) {
if(empty($input[$var['name']])) {
$input[$var['name']] = $var['default'];
}
}
@@ -181,4 +181,4 @@ $cli
$analytics->createEvent('install/server', 'install', APP_VERSION_STABLE.' - '.$message);
Console::success($message);
}
});
});
+1 -1
View File
@@ -42,7 +42,7 @@ $cli
$production = ($git) ? (Console::confirm('Type "Appwrite" to push code to production git repos') == 'Appwrite') : false;
$message = ($git) ? Console::confirm('Please enter your commit message:') : '';
if(!in_array($version, ['0.6.2', '0.7.0'])) {
if(!in_array($version, ['0.6.x', '0.7.x'])) {
throw new Exception('Unknown version given');
}
+1 -1
View File
@@ -352,7 +352,7 @@ services:
- appwrite-redis:/data:rw
clamav:
image: appwrite/clamav:1.2.0
image: appwrite/clamav:1.3.0
container_name: appwrite-clamav
restart: unless-stopped
networks:
+1 -1
View File
@@ -124,7 +124,7 @@ class CertificatesV1
." -w ".APP_STORAGE_CERTIFICATES
." -d {$domain->get()}", '', $stdout, $stderr);
if($stderr || $exit !== 0) {
if($exit !== 0) {
throw new Exception('Failed to issue a certificate with message: '.$stderr);
}
+1 -1
View File
@@ -1,3 +1,3 @@
#!/bin/sh
/usr/src/code/vendor/bin/phpunit --verbose --configuration /usr/src/code/phpunit.xml $@
/usr/src/code/vendor/bin/phpunit --configuration /usr/src/code/phpunit.xml $@
+2 -2
View File
@@ -34,8 +34,8 @@
"appwrite/php-clamav": "1.0.*",
"utopia-php/framework": "0.10.0",
"utopia-php/abuse": "0.3.*",
"utopia-php/framework": "0.12.*",
"utopia-php/abuse": "0.4.*",
"utopia-php/analytics": "0.1.*",
"utopia-php/audit": "0.5.*",
"utopia-php/cache": "0.2.*",
Generated
+184 -114
View File
@@ -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": "a328295b2b11cf89bbae0f3a8d9143ee",
"content-hash": "15b6e4ddce09e6fb642988603d734aa8",
"packages": [
{
"name": "adhocore/jwt",
@@ -360,16 +360,16 @@
},
{
"name": "guzzlehttp/guzzle",
"version": "7.2.0",
"version": "dev-master",
"source": {
"type": "git",
"url": "https://github.com/guzzle/guzzle.git",
"reference": "0aa74dfb41ae110835923ef10a9d803a22d50e79"
"reference": "01129f635f45659fd4764a533777d069a978bc9d"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/guzzle/guzzle/zipball/0aa74dfb41ae110835923ef10a9d803a22d50e79",
"reference": "0aa74dfb41ae110835923ef10a9d803a22d50e79",
"url": "https://api.github.com/repos/guzzle/guzzle/zipball/01129f635f45659fd4764a533777d069a978bc9d",
"reference": "01129f635f45659fd4764a533777d069a978bc9d",
"shasum": ""
},
"require": {
@@ -393,10 +393,11 @@
"ext-intl": "Required for Internationalized Domain Name (IDN) support",
"psr/log": "Required for using the Log middleware"
},
"default-branch": true,
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "7.1-dev"
"dev-master": "7.3-dev"
}
},
"autoload": {
@@ -438,7 +439,7 @@
],
"support": {
"issues": "https://github.com/guzzle/guzzle/issues",
"source": "https://github.com/guzzle/guzzle/tree/7.2.0"
"source": "https://github.com/guzzle/guzzle/tree/master"
},
"funding": [
{
@@ -458,7 +459,7 @@
"type": "github"
}
],
"time": "2020-10-10T11:47:56+00:00"
"time": "2021-03-15T07:56:29+00:00"
},
{
"name": "guzzlehttp/promises",
@@ -522,12 +523,12 @@
"source": {
"type": "git",
"url": "https://github.com/guzzle/psr7.git",
"reference": "64245c4a03d43ddb638c4ff0b2d330c2af726ec5"
"reference": "a67cdbf85690e54a7b92fe91c297b20d2607c0b2"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/guzzle/psr7/zipball/64245c4a03d43ddb638c4ff0b2d330c2af726ec5",
"reference": "64245c4a03d43ddb638c4ff0b2d330c2af726ec5",
"url": "https://api.github.com/repos/guzzle/psr7/zipball/a67cdbf85690e54a7b92fe91c297b20d2607c0b2",
"reference": "a67cdbf85690e54a7b92fe91c297b20d2607c0b2",
"shasum": ""
},
"require": {
@@ -589,7 +590,7 @@
"issues": "https://github.com/guzzle/psr7/issues",
"source": "https://github.com/guzzle/psr7/tree/1.x"
},
"time": "2021-03-07T16:17:45+00:00"
"time": "2021-03-15T11:15:53+00:00"
},
{
"name": "influxdb/influxdb-php",
@@ -1272,21 +1273,21 @@
},
{
"name": "utopia-php/abuse",
"version": "0.3.1",
"version": "0.4.0",
"source": {
"type": "git",
"url": "https://github.com/utopia-php/abuse.git",
"reference": "23c2eb533bca8f3ef5548ae265398fa7d4d39a1c"
"reference": "2b8cc40a67c045c137b44d1a11326f494acf50a4"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/utopia-php/abuse/zipball/23c2eb533bca8f3ef5548ae265398fa7d4d39a1c",
"reference": "23c2eb533bca8f3ef5548ae265398fa7d4d39a1c",
"url": "https://api.github.com/repos/utopia-php/abuse/zipball/2b8cc40a67c045c137b44d1a11326f494acf50a4",
"reference": "2b8cc40a67c045c137b44d1a11326f494acf50a4",
"shasum": ""
},
"require": {
"ext-pdo": "*",
"php": ">=7.1"
"php": ">=7.4"
},
"require-dev": {
"phpunit/phpunit": "^9.4",
@@ -1318,9 +1319,9 @@
],
"support": {
"issues": "https://github.com/utopia-php/abuse/issues",
"source": "https://github.com/utopia-php/abuse/tree/0.3.1"
"source": "https://github.com/utopia-php/abuse/tree/0.4.0"
},
"time": "2020-12-21T17:28:03+00:00"
"time": "2021-03-17T20:21:24+00:00"
},
{
"name": "utopia-php/analytics",
@@ -1642,16 +1643,16 @@
},
{
"name": "utopia-php/framework",
"version": "0.10.0",
"version": "0.12.1",
"source": {
"type": "git",
"url": "https://github.com/utopia-php/framework.git",
"reference": "65909bdb24ef6b6c6751abfdea90caf96bbc6c50"
"reference": "ba17789a16527d24b4fb11ddc359901a295fbf2f"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/utopia-php/framework/zipball/65909bdb24ef6b6c6751abfdea90caf96bbc6c50",
"reference": "65909bdb24ef6b6c6751abfdea90caf96bbc6c50",
"url": "https://api.github.com/repos/utopia-php/framework/zipball/ba17789a16527d24b4fb11ddc359901a295fbf2f",
"reference": "ba17789a16527d24b4fb11ddc359901a295fbf2f",
"shasum": ""
},
"require": {
@@ -1685,9 +1686,9 @@
],
"support": {
"issues": "https://github.com/utopia-php/framework/issues",
"source": "https://github.com/utopia-php/framework/tree/0.10.0"
"source": "https://github.com/utopia-php/framework/tree/0.12.1"
},
"time": "2020-12-26T12:02:39+00:00"
"time": "2021-03-17T22:14:05+00:00"
},
{
"name": "utopia-php/image",
@@ -1952,16 +1953,16 @@
},
{
"name": "utopia-php/swoole",
"version": "0.2.1",
"version": "0.2.2",
"source": {
"type": "git",
"url": "https://github.com/utopia-php/swoole.git",
"reference": "63168a82037f371516a199d75da101c8caa3edc1"
"reference": "17510e90499e73273245c534a05bca522d4ffb37"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/utopia-php/swoole/zipball/63168a82037f371516a199d75da101c8caa3edc1",
"reference": "63168a82037f371516a199d75da101c8caa3edc1",
"url": "https://api.github.com/repos/utopia-php/swoole/zipball/17510e90499e73273245c534a05bca522d4ffb37",
"reference": "17510e90499e73273245c534a05bca522d4ffb37",
"shasum": ""
},
"require": {
@@ -2002,9 +2003,9 @@
],
"support": {
"issues": "https://github.com/utopia-php/swoole/issues",
"source": "https://github.com/utopia-php/swoole/tree/0.2.1"
"source": "https://github.com/utopia-php/swoole/tree/0.2.2"
},
"time": "2021-02-10T06:20:43+00:00"
"time": "2021-03-17T22:51:07+00:00"
},
{
"name": "utopia-php/system",
@@ -2286,7 +2287,7 @@
},
{
"name": "appwrite/sdk-generator",
"version": "dev-master",
"version": "0.6.3",
"source": {
"type": "git",
"url": "https://github.com/appwrite/sdk-generator",
@@ -3375,16 +3376,16 @@
},
{
"name": "phpspec/prophecy",
"version": "1.12.2",
"version": "1.13.0",
"source": {
"type": "git",
"url": "https://github.com/phpspec/prophecy.git",
"reference": "245710e971a030f42e08f4912863805570f23d39"
"reference": "be1996ed8adc35c3fd795488a653f4b518be70ea"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/phpspec/prophecy/zipball/245710e971a030f42e08f4912863805570f23d39",
"reference": "245710e971a030f42e08f4912863805570f23d39",
"url": "https://api.github.com/repos/phpspec/prophecy/zipball/be1996ed8adc35c3fd795488a653f4b518be70ea",
"reference": "be1996ed8adc35c3fd795488a653f4b518be70ea",
"shasum": ""
},
"require": {
@@ -3436,9 +3437,9 @@
],
"support": {
"issues": "https://github.com/phpspec/prophecy/issues",
"source": "https://github.com/phpspec/prophecy/tree/1.12.2"
"source": "https://github.com/phpspec/prophecy/tree/1.13.0"
},
"time": "2020-12-19T10:15:11+00:00"
"time": "2021-03-17T13:42:18+00:00"
},
{
"name": "phpunit/php-code-coverage",
@@ -3523,12 +3524,12 @@
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/php-file-iterator.git",
"reference": "dae425925709122f7584cadeeb838edcaa491bb1"
"reference": "b2ce4cf415b9989fac88e8c27c39b5ba2faad72b"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/dae425925709122f7584cadeeb838edcaa491bb1",
"reference": "dae425925709122f7584cadeeb838edcaa491bb1",
"url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/b2ce4cf415b9989fac88e8c27c39b5ba2faad72b",
"reference": "b2ce4cf415b9989fac88e8c27c39b5ba2faad72b",
"shasum": ""
},
"require": {
@@ -3576,7 +3577,7 @@
"type": "github"
}
],
"time": "2021-02-23T15:48:43+00:00"
"time": "2021-03-17T06:17:19+00:00"
},
{
"name": "phpunit/php-invoker",
@@ -3584,12 +3585,12 @@
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/php-invoker.git",
"reference": "5ad9e5f5d6ee1a837e1d50bab1017e0daf423b40"
"reference": "e2905d5648ac5e9bd0aa85b50d240e5890f76493"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/php-invoker/zipball/5ad9e5f5d6ee1a837e1d50bab1017e0daf423b40",
"reference": "5ad9e5f5d6ee1a837e1d50bab1017e0daf423b40",
"url": "https://api.github.com/repos/sebastianbergmann/php-invoker/zipball/e2905d5648ac5e9bd0aa85b50d240e5890f76493",
"reference": "e2905d5648ac5e9bd0aa85b50d240e5890f76493",
"shasum": ""
},
"require": {
@@ -3640,7 +3641,7 @@
"type": "github"
}
],
"time": "2021-02-23T15:48:51+00:00"
"time": "2021-03-17T06:17:27+00:00"
},
{
"name": "phpunit/php-text-template",
@@ -3648,12 +3649,12 @@
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/php-text-template.git",
"reference": "4ec5a2ac79a19b35d0cf83cce30604f77743067a"
"reference": "e6a2483ffd3659d723996fb8b2ca638244b87e7c"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/4ec5a2ac79a19b35d0cf83cce30604f77743067a",
"reference": "4ec5a2ac79a19b35d0cf83cce30604f77743067a",
"url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/e6a2483ffd3659d723996fb8b2ca638244b87e7c",
"reference": "e6a2483ffd3659d723996fb8b2ca638244b87e7c",
"shasum": ""
},
"require": {
@@ -3700,7 +3701,7 @@
"type": "github"
}
],
"time": "2021-02-23T15:49:24+00:00"
"time": "2021-03-17T06:17:59+00:00"
},
{
"name": "phpunit/php-timer",
@@ -3708,12 +3709,12 @@
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/php-timer.git",
"reference": "705821b0927b5e69e9e016c84de68dc6195c71b9"
"reference": "c0187813193d3709a455b94916bbee2881a1c6e3"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/705821b0927b5e69e9e016c84de68dc6195c71b9",
"reference": "705821b0927b5e69e9e016c84de68dc6195c71b9",
"url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/c0187813193d3709a455b94916bbee2881a1c6e3",
"reference": "c0187813193d3709a455b94916bbee2881a1c6e3",
"shasum": ""
},
"require": {
@@ -3760,7 +3761,7 @@
"type": "github"
}
],
"time": "2021-02-23T15:48:59+00:00"
"time": "2021-03-17T06:17:35+00:00"
},
{
"name": "phpunit/phpunit",
@@ -3919,12 +3920,12 @@
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/cli-parser.git",
"reference": "3a42d843af4d27ca1155e1d926881af162733655"
"reference": "845853b8c553f6b61d9a708b8f26066806bcc7dd"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/cli-parser/zipball/3a42d843af4d27ca1155e1d926881af162733655",
"reference": "3a42d843af4d27ca1155e1d926881af162733655",
"url": "https://api.github.com/repos/sebastianbergmann/cli-parser/zipball/845853b8c553f6b61d9a708b8f26066806bcc7dd",
"reference": "845853b8c553f6b61d9a708b8f26066806bcc7dd",
"shasum": ""
},
"require": {
@@ -3968,7 +3969,7 @@
"type": "github"
}
],
"time": "2021-02-23T15:49:50+00:00"
"time": "2021-03-17T06:18:24+00:00"
},
{
"name": "sebastian/code-unit",
@@ -4032,12 +4033,12 @@
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/code-unit-reverse-lookup.git",
"reference": "5f5db0b35f586eb5bca0581a10bb42dd56575986"
"reference": "ab4d610891809670894a4fc260c17e5d5960ba4c"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/5f5db0b35f586eb5bca0581a10bb42dd56575986",
"reference": "5f5db0b35f586eb5bca0581a10bb42dd56575986",
"url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/ab4d610891809670894a4fc260c17e5d5960ba4c",
"reference": "ab4d610891809670894a4fc260c17e5d5960ba4c",
"shasum": ""
},
"require": {
@@ -4080,7 +4081,7 @@
"type": "github"
}
],
"time": "2021-02-23T15:47:39+00:00"
"time": "2021-03-17T06:16:16+00:00"
},
{
"name": "sebastian/comparator",
@@ -4088,12 +4089,12 @@
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/comparator.git",
"reference": "dbc5fb421f242a5749845dc8dd0dc8cde2979dd9"
"reference": "d3d66b8faa86ac57e1236d576ad003f73097c9cd"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/dbc5fb421f242a5749845dc8dd0dc8cde2979dd9",
"reference": "dbc5fb421f242a5749845dc8dd0dc8cde2979dd9",
"url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/d3d66b8faa86ac57e1236d576ad003f73097c9cd",
"reference": "d3d66b8faa86ac57e1236d576ad003f73097c9cd",
"shasum": ""
},
"require": {
@@ -4155,7 +4156,7 @@
"type": "github"
}
],
"time": "2021-02-23T15:47:47+00:00"
"time": "2021-03-17T06:16:24+00:00"
},
{
"name": "sebastian/complexity",
@@ -4220,12 +4221,12 @@
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/diff.git",
"reference": "93e6aa13f3dc5f8327e7fb9756e9655fc4c23e90"
"reference": "e81849c6dfbe34442b4685fa457fd6f012370e54"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/93e6aa13f3dc5f8327e7fb9756e9655fc4c23e90",
"reference": "93e6aa13f3dc5f8327e7fb9756e9655fc4c23e90",
"url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/e81849c6dfbe34442b4685fa457fd6f012370e54",
"reference": "e81849c6dfbe34442b4685fa457fd6f012370e54",
"shasum": ""
},
"require": {
@@ -4279,7 +4280,7 @@
"type": "github"
}
],
"time": "2021-02-23T15:47:55+00:00"
"time": "2021-03-17T06:16:31+00:00"
},
{
"name": "sebastian/environment",
@@ -4287,12 +4288,12 @@
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/environment.git",
"reference": "6e1743b808be9cfd33a716583ccb94b7d4d32e94"
"reference": "c25633688d84a9f8694989223479051b5a8a23e7"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/6e1743b808be9cfd33a716583ccb94b7d4d32e94",
"reference": "6e1743b808be9cfd33a716583ccb94b7d4d32e94",
"url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/c25633688d84a9f8694989223479051b5a8a23e7",
"reference": "c25633688d84a9f8694989223479051b5a8a23e7",
"shasum": ""
},
"require": {
@@ -4343,7 +4344,7 @@
"type": "github"
}
],
"time": "2021-02-23T15:48:03+00:00"
"time": "2021-03-17T06:16:40+00:00"
},
{
"name": "sebastian/exporter",
@@ -4351,12 +4352,12 @@
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/exporter.git",
"reference": "eca7281ab29075df68b113a37a83be616b629b12"
"reference": "9119858d42f3963d01b737f029bb90f8464fd0ca"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/eca7281ab29075df68b113a37a83be616b629b12",
"reference": "eca7281ab29075df68b113a37a83be616b629b12",
"url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/9119858d42f3963d01b737f029bb90f8464fd0ca",
"reference": "9119858d42f3963d01b737f029bb90f8464fd0ca",
"shasum": ""
},
"require": {
@@ -4421,7 +4422,7 @@
"type": "github"
}
],
"time": "2021-02-23T15:48:12+00:00"
"time": "2021-03-17T06:16:48+00:00"
},
{
"name": "sebastian/global-state",
@@ -4429,12 +4430,12 @@
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/global-state.git",
"reference": "0ac702e6d13725242edb9b294c5d20b92fcfb8b4"
"reference": "fe610de5530e3d29007134f76ee8dc79581a607d"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/0ac702e6d13725242edb9b294c5d20b92fcfb8b4",
"reference": "0ac702e6d13725242edb9b294c5d20b92fcfb8b4",
"url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/fe610de5530e3d29007134f76ee8dc79581a607d",
"reference": "fe610de5530e3d29007134f76ee8dc79581a607d",
"shasum": ""
},
"require": {
@@ -4486,7 +4487,7 @@
"type": "github"
}
],
"time": "2021-02-23T15:48:19+00:00"
"time": "2021-03-17T06:16:56+00:00"
},
{
"name": "sebastian/lines-of-code",
@@ -4551,12 +4552,12 @@
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/object-enumerator.git",
"reference": "8cc80b4bda00a4c5997c3fc597a34872f3a1007d"
"reference": "01ab82e49081de59e2da70c351d5f698c77c33c5"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/8cc80b4bda00a4c5997c3fc597a34872f3a1007d",
"reference": "8cc80b4bda00a4c5997c3fc597a34872f3a1007d",
"url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/01ab82e49081de59e2da70c351d5f698c77c33c5",
"reference": "01ab82e49081de59e2da70c351d5f698c77c33c5",
"shasum": ""
},
"require": {
@@ -4601,7 +4602,7 @@
"type": "github"
}
],
"time": "2021-02-23T15:48:28+00:00"
"time": "2021-03-17T06:17:03+00:00"
},
{
"name": "sebastian/object-reflector",
@@ -4609,12 +4610,12 @@
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/object-reflector.git",
"reference": "1d33587c2c3e636936f895e103a9e82dd8102a8e"
"reference": "7ed67aee59862b40785138f0203e86f1fde1b93a"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/1d33587c2c3e636936f895e103a9e82dd8102a8e",
"reference": "1d33587c2c3e636936f895e103a9e82dd8102a8e",
"url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/7ed67aee59862b40785138f0203e86f1fde1b93a",
"reference": "7ed67aee59862b40785138f0203e86f1fde1b93a",
"shasum": ""
},
"require": {
@@ -4657,7 +4658,7 @@
"type": "github"
}
],
"time": "2021-02-23T15:48:35+00:00"
"time": "2021-03-17T06:17:11+00:00"
},
{
"name": "sebastian/recursion-context",
@@ -4665,12 +4666,12 @@
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/recursion-context.git",
"reference": "43f58a51e8f853aadb228ba818d2be388af7237b"
"reference": "249976376508ed7e83b6dc429cd883a44b2a3c51"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/43f58a51e8f853aadb228ba818d2be388af7237b",
"reference": "43f58a51e8f853aadb228ba818d2be388af7237b",
"url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/249976376508ed7e83b6dc429cd883a44b2a3c51",
"reference": "249976376508ed7e83b6dc429cd883a44b2a3c51",
"shasum": ""
},
"require": {
@@ -4721,7 +4722,7 @@
"type": "github"
}
],
"time": "2021-02-23T15:49:08+00:00"
"time": "2021-03-17T06:17:43+00:00"
},
{
"name": "sebastian/resource-operations",
@@ -4785,12 +4786,12 @@
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/type.git",
"reference": "557863473c1de00e165a288d5b547f1f83652e7e"
"reference": "e02c851008e26557b4f1b4ffd139b71c96937b04"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/type/zipball/557863473c1de00e165a288d5b547f1f83652e7e",
"reference": "557863473c1de00e165a288d5b547f1f83652e7e",
"url": "https://api.github.com/repos/sebastianbergmann/type/zipball/e02c851008e26557b4f1b4ffd139b71c96937b04",
"reference": "e02c851008e26557b4f1b4ffd139b71c96937b04",
"shasum": ""
},
"require": {
@@ -4834,7 +4835,7 @@
"type": "github"
}
],
"time": "2021-02-23T15:49:16+00:00"
"time": "2021-03-17T06:17:51+00:00"
},
{
"name": "sebastian/version",
@@ -4933,16 +4934,17 @@
"source": {
"type": "git",
"url": "https://github.com/symfony/console.git",
"reference": "92e1b7c4381c3c51e327b99c7ff067411e291783"
"reference": "36e4ff2188cb5af6e6e94560b4aaa8042933aa58"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/console/zipball/92e1b7c4381c3c51e327b99c7ff067411e291783",
"reference": "92e1b7c4381c3c51e327b99c7ff067411e291783",
"url": "https://api.github.com/repos/symfony/console/zipball/36e4ff2188cb5af6e6e94560b4aaa8042933aa58",
"reference": "36e4ff2188cb5af6e6e94560b4aaa8042933aa58",
"shasum": ""
},
"require": {
"php": ">=7.2.5",
"symfony/deprecation-contracts": "^2.1",
"symfony/polyfill-mbstring": "~1.0",
"symfony/polyfill-php73": "^1.8",
"symfony/polyfill-php80": "^1.15",
@@ -5023,7 +5025,75 @@
"type": "tidelift"
}
],
"time": "2021-03-06T13:50:37+00:00"
"time": "2021-03-17T16:56:09+00:00"
},
{
"name": "symfony/deprecation-contracts",
"version": "dev-main",
"source": {
"type": "git",
"url": "https://github.com/symfony/deprecation-contracts.git",
"reference": "49dc45a74cbac5fffc6417372a9f5ae1682ca0b4"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/49dc45a74cbac5fffc6417372a9f5ae1682ca0b4",
"reference": "49dc45a74cbac5fffc6417372a9f5ae1682ca0b4",
"shasum": ""
},
"require": {
"php": ">=7.1"
},
"default-branch": true,
"type": "library",
"extra": {
"branch-alias": {
"dev-main": "2.4-dev"
},
"thanks": {
"name": "symfony/contracts",
"url": "https://github.com/symfony/contracts"
}
},
"autoload": {
"files": [
"function.php"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Nicolas Grekas",
"email": "p@tchwork.com"
},
{
"name": "Symfony Community",
"homepage": "https://symfony.com/contributors"
}
],
"description": "A generic function and convention to trigger deprecation notices",
"homepage": "https://symfony.com",
"support": {
"source": "https://github.com/symfony/deprecation-contracts/tree/main"
},
"funding": [
{
"url": "https://symfony.com/sponsor",
"type": "custom"
},
{
"url": "https://github.com/fabpot",
"type": "github"
},
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
"time": "2021-02-25T16:38:04+00:00"
},
{
"name": "symfony/polyfill-intl-grapheme",
@@ -5443,12 +5513,12 @@
"source": {
"type": "git",
"url": "https://github.com/symfony/service-contracts.git",
"reference": "96cd360b9f03a22a30cf5354e630c557bd3aac33"
"reference": "3d72b4bfab3e991aa66906aa301aa479de4ca6ee"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/service-contracts/zipball/96cd360b9f03a22a30cf5354e630c557bd3aac33",
"reference": "96cd360b9f03a22a30cf5354e630c557bd3aac33",
"url": "https://api.github.com/repos/symfony/service-contracts/zipball/3d72b4bfab3e991aa66906aa301aa479de4ca6ee",
"reference": "3d72b4bfab3e991aa66906aa301aa479de4ca6ee",
"shasum": ""
},
"require": {
@@ -5515,7 +5585,7 @@
"type": "tidelift"
}
],
"time": "2021-03-05T22:51:52+00:00"
"time": "2021-03-16T09:10:58+00:00"
},
{
"name": "symfony/string",
@@ -5523,12 +5593,12 @@
"source": {
"type": "git",
"url": "https://github.com/symfony/string.git",
"reference": "6d830fae00e2bb336074eae141bb00db36cd3551"
"reference": "01454c66c88a6bb4449dcdeb913e463e075f331b"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/string/zipball/6d830fae00e2bb336074eae141bb00db36cd3551",
"reference": "6d830fae00e2bb336074eae141bb00db36cd3551",
"url": "https://api.github.com/repos/symfony/string/zipball/01454c66c88a6bb4449dcdeb913e463e075f331b",
"reference": "01454c66c88a6bb4449dcdeb913e463e075f331b",
"shasum": ""
},
"require": {
@@ -5599,7 +5669,7 @@
"type": "tidelift"
}
],
"time": "2021-02-17T15:27:35+00:00"
"time": "2021-03-17T17:12:23+00:00"
},
{
"name": "theseer/tokenizer",
@@ -5657,12 +5727,12 @@
"source": {
"type": "git",
"url": "https://github.com/twigphp/Twig.git",
"reference": "728c611e8643a5dd44839ffa791e21763b04a694"
"reference": "37e48403c21e06f63bc27d7ccd997fbb72b0ae2a"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/twigphp/Twig/zipball/728c611e8643a5dd44839ffa791e21763b04a694",
"reference": "728c611e8643a5dd44839ffa791e21763b04a694",
"url": "https://api.github.com/repos/twigphp/Twig/zipball/37e48403c21e06f63bc27d7ccd997fbb72b0ae2a",
"reference": "37e48403c21e06f63bc27d7ccd997fbb72b0ae2a",
"shasum": ""
},
"require": {
@@ -5728,7 +5798,7 @@
"type": "tidelift"
}
],
"time": "2021-02-22T11:56:05+00:00"
"time": "2021-03-10T10:07:14+00:00"
},
{
"name": "vimeo/psalm",
+1 -1
View File
@@ -414,7 +414,7 @@ services:
- appwrite-redis:/data:rw
clamav:
image: appwrite/clamav:1.2.0
image: appwrite/clamav:1.3.0
container_name: appwrite-clamav
networks:
- appwrite

Some files were not shown because too many files have changed in this diff Show More