1
0
Fork 0
mirror of synced 2024-07-08 16:06:02 +12:00

Set/reset tenant on init

This commit is contained in:
Jake Barnby 2023-11-28 00:26:35 +13:00
parent 7b8e37b03d
commit b9ac8e644d
No known key found for this signature in database
GPG key ID: C437A8CC85B96E9C

View file

@ -953,9 +953,7 @@ App::setResource('clients', function ($request, $console, $project) {
}
}
$clients = array_unique($clients);
return $clients;
return \array_unique($clients);
}, ['request', 'console', 'project']);
App::setResource('user', function ($mode, $project, $console, $request, $response, $dbForProject, $dbForConsole) {
@ -1127,22 +1125,26 @@ App::setResource('dbForProject', function (Group $pools, Database $dbForConsole,
$database = new Database($dbAdapter, $cache);
$database
->setNamespace('_' . $project->getInternalId())
->setMetadata('host', \gethostname())
->setMetadata('project', $project->getId())
->setTimeout(APP_DATABASE_TIMEOUT_MILLISECONDS);
if ($project->getAttribute('shareTables')) {
$database
->setNamespace('')
->setShareTables(true)
->setTenant($project->getId());
->setTenant($project->getInternalId())
->setNamespace('');
} else {
$database
->setShareTables(false)
->setTenant(null)
->setNamespace('_' . $project->getInternalId());
}
return $database;
}, ['pools', 'dbForConsole', 'cache', 'project']);
App::setResource('dbForConsole', function (Group $pools, Cache $cache, Document $project) {
App::setResource('dbForConsole', function (Group $pools, Cache $cache) {
$dbAdapter = $pools
->get('console')
->pop()
@ -1151,14 +1153,13 @@ App::setResource('dbForConsole', function (Group $pools, Cache $cache, Document
$database = new Database($dbAdapter, $cache);
$database
->setTenant($project->getId())
->setNamespace('_console')
->setMetadata('host', \gethostname())
->setMetadata('project', 'console')
->setTimeout(APP_DATABASE_TIMEOUT_MILLISECONDS);
return $database;
}, ['pools', 'cache', 'project']);
}, ['pools', 'cache']);
App::setResource('getProjectDB', function (Group $pools, Database $dbForConsole, $cache) {
$databases = []; // TODO: @Meldiron This should probably be responsibility of utopia-php/pools
@ -1172,16 +1173,20 @@ App::setResource('getProjectDB', function (Group $pools, Database $dbForConsole,
$configure = (function (Database $database) use ($project) {
$database
->setNamespace('_' . $project->getInternalId())
->setMetadata('host', \gethostname())
->setMetadata('project', $project->getId())
->setTimeout(APP_DATABASE_TIMEOUT_MILLISECONDS);
if ($project->getAttribute('shareTables')) {
$database
->setNamespace('')
->setShareTables(true)
->setTenant($project->getId());
->setTenant($project->getInternalId())
->setNamespace('');
} else {
$database
->setShareTables(false)
->setTenant(null)
->setNamespace('_' . $project->getInternalId());
}
});