1
0
Fork 0
mirror of synced 2024-06-29 11:40:45 +12:00

fix audit

This commit is contained in:
Torsten Dittmann 2021-06-23 23:31:58 +02:00
parent b2aa23be11
commit e4be09ff19
11 changed files with 55 additions and 40 deletions

View file

@ -1,6 +1,6 @@
<?php <?php
require_once __DIR__.'/init.php'; require_once __DIR__.'/workers.php';
use Utopia\App; use Utopia\App;
use Utopia\CLI\CLI; use Utopia\CLI\CLI;

View file

@ -904,19 +904,20 @@ App::get('/v1/account/logs')
->label('sdk.response.type', Response::CONTENT_TYPE_JSON) ->label('sdk.response.type', Response::CONTENT_TYPE_JSON)
->label('sdk.response.model', Response::MODEL_LOG_LIST) ->label('sdk.response.model', Response::MODEL_LOG_LIST)
->inject('response') ->inject('response')
->inject('register')
->inject('project') ->inject('project')
->inject('user') ->inject('user')
->inject('locale') ->inject('locale')
->inject('geodb') ->inject('geodb')
->action(function ($response, $register, $project, $user, $locale, $geodb) { ->inject('app')
->action(function ($response, $project, $user, $locale, $geodb, $app) {
/** @var Appwrite\Utopia\Response $response */ /** @var Appwrite\Utopia\Response $response */
/** @var Appwrite\Database\Document $project */ /** @var Appwrite\Database\Document $project */
/** @var Appwrite\Database\Document $user */ /** @var Appwrite\Database\Document $user */
/** @var Utopia\Locale\Locale $locale */ /** @var Utopia\Locale\Locale $locale */
/** @var MaxMind\Db\Reader $geodb */ /** @var MaxMind\Db\Reader $geodb */
/** @var Utopia\App $app */
$adapter = new AuditAdapter($register->get('db')); $adapter = new AuditAdapter($app->getResource('db'));
$adapter->setNamespace('app_'.$project->getId()); $adapter->setNamespace('app_'.$project->getId());
$audit = new Audit($adapter); $audit = new Audit($adapter);

View file

@ -42,12 +42,12 @@ App::get('/v1/health/db')
->label('sdk.method', 'getDB') ->label('sdk.method', 'getDB')
->label('sdk.description', '/docs/references/health/get-db.md') ->label('sdk.description', '/docs/references/health/get-db.md')
->inject('response') ->inject('response')
->inject('register') ->inject('app')
->action(function ($response, $register) { ->action(function ($response, $app) {
/** @var Appwrite\Utopia\Response $response */ /** @var Appwrite\Utopia\Response $response */
/** @var Utopia\Registry\Registry $register */ /** @var Utopia\App $app */
$register->get('db'); /* @var $db PDO */ $app->getResource('db');
$response->json(['status' => 'OK']); $response->json(['status' => 'OK']);
}); });
@ -61,11 +61,11 @@ App::get('/v1/health/cache')
->label('sdk.method', 'getCache') ->label('sdk.method', 'getCache')
->label('sdk.description', '/docs/references/health/get-cache.md') ->label('sdk.description', '/docs/references/health/get-cache.md')
->inject('response') ->inject('response')
->inject('register') ->inject('app')
->action(function ($response, $register) { ->action(function ($response, $app) {
/** @var Appwrite\Utopia\Response $response */ /** @var Appwrite\Utopia\Response $response */
/** @var Utopia\Registry\Registry $register */ /** @var Utopia\App $register */
$register->get('cache'); /* @var $cache Predis\Client */ $app->getResource('cache');
$response->json(['status' => 'OK']); $response->json(['status' => 'OK']);
}); });

View file

@ -232,18 +232,18 @@ App::get('/v1/users/:userId/logs')
->label('sdk.response.model', Response::MODEL_LOG_LIST) ->label('sdk.response.model', Response::MODEL_LOG_LIST)
->param('userId', '', new UID(), 'User unique ID.') ->param('userId', '', new UID(), 'User unique ID.')
->inject('response') ->inject('response')
->inject('register')
->inject('project') ->inject('project')
->inject('projectDB') ->inject('projectDB')
->inject('locale') ->inject('locale')
->inject('geodb') ->inject('geodb')
->action(function ($userId, $response, $register, $project, $projectDB, $locale, $geodb) { ->inject('app')
->action(function ($userId, $response, $project, $projectDB, $locale, $geodb, $app) {
/** @var Appwrite\Utopia\Response $response */ /** @var Appwrite\Utopia\Response $response */
/** @var Utopia\Registry\Registry $register */
/** @var Appwrite\Database\Document $project */ /** @var Appwrite\Database\Document $project */
/** @var Appwrite\Database\Database $projectDB */ /** @var Appwrite\Database\Database $projectDB */
/** @var Utopia\Locale\Locale $locale */ /** @var Utopia\Locale\Locale $locale */
/** @var MaxMind\Db\Reader $geodb */ /** @var MaxMind\Db\Reader $geodb */
/** @var Utopia\App $app */
$user = $projectDB->getDocument($userId); $user = $projectDB->getDocument($userId);
@ -251,7 +251,7 @@ App::get('/v1/users/:userId/logs')
throw new Exception('User not found', 404); throw new Exception('User not found', 404);
} }
$adapter = new AuditAdapter($register->get('db')); $adapter = new AuditAdapter($app->getResource('db'));
$adapter->setNamespace('app_'.$project->getId()); $adapter->setNamespace('app_'.$project->getId());
$audit = new Audit($adapter); $audit = new Audit($adapter);

View file

@ -75,6 +75,8 @@ $http->on('request', function (SwooleRequest $swooleRequest, SwooleResponse $swo
return; return;
} }
$app = new App('UTC');
$db = $register->get('dbPool')->get(); $db = $register->get('dbPool')->get();
$redis = $register->get('redisPool')->get(); $redis = $register->get('redisPool')->get();
@ -86,7 +88,9 @@ $http->on('request', function (SwooleRequest $swooleRequest, SwooleResponse $swo
return $redis; return $redis;
}); });
$app = new App('UTC'); App::setResource('app', function() use (&$app) {
return $app;
});
try { try {
Authorization::cleanRoles(); Authorization::cleanRoles();

View file

@ -28,8 +28,11 @@ class CertificatesV1 extends Worker
{ {
global $register; global $register;
$db = $register->get('db');
$cache = $register->get('cache');
$consoleDB = new Database(); $consoleDB = new Database();
$consoleDB->setAdapter(new RedisAdapter(new MySQLAdapter($register), $register)); $consoleDB->setAdapter(new RedisAdapter(new MySQLAdapter($db, $cache), $cache));
$consoleDB->setNamespace('app_console'); // Main DB $consoleDB->setNamespace('app_console'); // Main DB
$consoleDB->setMocks(Config::getParam('collections', [])); $consoleDB->setMocks(Config::getParam('collections', []));

View file

@ -358,9 +358,12 @@ class DeletesV1 extends Worker
{ {
global $register; global $register;
$db = $register->get('db');
$cache = $register->get('cache');
if($this->consoleDB === null) { if($this->consoleDB === null) {
$this->consoleDB = new Database(); $this->consoleDB = new Database();
$this->consoleDB->setAdapter(new RedisAdapter(new MySQLAdapter($register), $register)); $this->consoleDB->setAdapter(new RedisAdapter(new MySQLAdapter($db, $cache), $cache));;
$this->consoleDB->setNamespace('app_console'); // Main DB $this->consoleDB->setNamespace('app_console'); // Main DB
$this->consoleDB->setMocks(Config::getParam('collections', [])); $this->consoleDB->setMocks(Config::getParam('collections', []));
} }
@ -374,9 +377,12 @@ class DeletesV1 extends Worker
protected function getProjectDB($projectId): Database protected function getProjectDB($projectId): Database
{ {
global $register; global $register;
$db = $register->get('db');
$cache = $register->get('cache');
$projectDB = new Database(); $projectDB = new Database();
$projectDB->setAdapter(new RedisAdapter(new MySQLAdapter($register), $register)); $projectDB->setAdapter(new RedisAdapter(new MySQLAdapter($db, $cache), $cache));
$projectDB->setNamespace('app_'.$projectId); // Main DB $projectDB->setNamespace('app_'.$projectId); // Main DB
$projectDB->setMocks(Config::getParam('collections', [])); $projectDB->setMocks(Config::getParam('collections', []));

View file

@ -138,6 +138,9 @@ class FunctionsV1 extends Worker
{ {
global $register; global $register;
$db = $register->get('db');
$cache = $register->get('cache');
$projectId = $this->args['projectId'] ?? ''; $projectId = $this->args['projectId'] ?? '';
$functionId = $this->args['functionId'] ?? ''; $functionId = $this->args['functionId'] ?? '';
$webhooks = $this->args['webhooks'] ?? []; $webhooks = $this->args['webhooks'] ?? [];
@ -151,7 +154,7 @@ class FunctionsV1 extends Worker
$jwt = $this->args['jwt'] ?? ''; $jwt = $this->args['jwt'] ?? '';
$database = new Database(); $database = new Database();
$database->setAdapter(new RedisAdapter(new MySQLAdapter($register), $register)); $database->setAdapter(new RedisAdapter(new MySQLAdapter($db, $cache), $cache));
$database->setNamespace('app_'.$projectId); $database->setNamespace('app_'.$projectId);
$database->setMocks(Config::getParam('collections', [])); $database->setMocks(Config::getParam('collections', []));

View file

@ -30,8 +30,11 @@ class TasksV1 extends Worker
{ {
global $register; global $register;
$db = $register->get('db');
$cache = $register->get('cache');
$consoleDB = new Database(); $consoleDB = new Database();
$consoleDB->setAdapter(new RedisAdapter(new MySQLAdapter($register), $register)); $consoleDB->setAdapter(new RedisAdapter(new MySQLAdapter($db, $cache), $cache));
$consoleDB->setNamespace('app_console'); // Main DB $consoleDB->setNamespace('app_console'); // Main DB
$consoleDB->setMocks(Config::getParam('collections', [])); $consoleDB->setMocks(Config::getParam('collections', []));

14
composer.lock generated
View file

@ -1431,21 +1431,21 @@
}, },
{ {
"name": "utopia-php/audit", "name": "utopia-php/audit",
"version": "0.5.1", "version": "0.5.2",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/utopia-php/audit.git", "url": "https://github.com/utopia-php/audit.git",
"reference": "154a850170a58667a15e4b65fbabb6cd0b709dd9" "reference": "57e4f8f932164bdfd48ec32bf8d7d3f1bf7518e4"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/utopia-php/audit/zipball/154a850170a58667a15e4b65fbabb6cd0b709dd9", "url": "https://api.github.com/repos/utopia-php/audit/zipball/57e4f8f932164bdfd48ec32bf8d7d3f1bf7518e4",
"reference": "154a850170a58667a15e4b65fbabb6cd0b709dd9", "reference": "57e4f8f932164bdfd48ec32bf8d7d3f1bf7518e4",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"ext-pdo": "*", "ext-pdo": "*",
"php": ">=7.1" "php": ">=7.4"
}, },
"require-dev": { "require-dev": {
"phpunit/phpunit": "^9.3", "phpunit/phpunit": "^9.3",
@ -1477,9 +1477,9 @@
], ],
"support": { "support": {
"issues": "https://github.com/utopia-php/audit/issues", "issues": "https://github.com/utopia-php/audit/issues",
"source": "https://github.com/utopia-php/audit/tree/0.5.1" "source": "https://github.com/utopia-php/audit/tree/0.5.2"
}, },
"time": "2020-12-21T17:28:53+00:00" "time": "2021-06-23T16:02:40+00:00"
}, },
{ {
"name": "utopia-php/cache", "name": "utopia-php/cache",

View file

@ -402,18 +402,10 @@ class Server
* This is redundant soon and will be gone with merging the usage branch. * This is redundant soon and will be gone with merging the usage branch.
*/ */
$db = $this->register->get('dbPool')->get(); $db = $this->register->get('dbPool')->get();
$redis = $this->register->get('redisPool')->get(); $cache = $this->register->get('redisPool')->get();
$this->register->set('db', function () use (&$db) {
return $db;
});
$this->register->set('cache', function () use (&$redis) {
return $redis;
});
$projectDB = new Database(); $projectDB = new Database();
$projectDB->setAdapter(new RedisAdapter(new MySQLAdapter($this->register), $this->register)); $projectDB->setAdapter(new RedisAdapter(new MySQLAdapter($db, $cache), $cache));
$projectDB->setNamespace('app_'.$project); $projectDB->setNamespace('app_'.$project);
$projectDB->setMocks(Config::getParam('collections', [])); $projectDB->setMocks(Config::getParam('collections', []));
@ -424,5 +416,8 @@ class Server
$roles = Parser::getRoles(); $roles = Parser::getRoles();
Parser::subscribe($project, $connection, $roles, $this->subscriptions, $this->connections, $this->connections[$connection]['channels']); Parser::subscribe($project, $connection, $roles, $this->subscriptions, $this->connections, $this->connections[$connection]['channels']);
$this->register->get('dbPool')->put($db);
$this->register->get('redisPool')->put($cache);
} }
} }