1
0
Fork 0
mirror of synced 2024-09-20 11:37:45 +12:00

connection storage implementation

This commit is contained in:
shimon 2024-08-07 18:17:25 +03:00
parent 81b7f2273f
commit 4ebe79f4ad

View file

@ -1238,7 +1238,7 @@ App::setResource('session', function (Document $user) {
} }
} }
}, ['user']); }, ['user']);
App::setResource('console', function () { App::setResource('console', function () {
return new Document([ return new Document([
@ -1423,23 +1423,27 @@ App::setResource('deviceForLocal', function () {
return new Local(); return new Local();
}); });
App::setResource('deviceForFiles', function ($project) { App::setResource('deviceForFiles', function ($project, $connectionStorage) {
return getDevice(APP_STORAGE_UPLOADS.'/app-'.$project->getId()); return getDevice(APP_STORAGE_UPLOADS.'/app-'.$project->getId(), $connectionStorage);
}, ['project']); }, ['project', 'connectionStorage']);
App::setResource('deviceForFunctions', function ($project) { App::setResource('deviceForFunctions', function ($project, $connectionStorage) {
return getDevice(APP_STORAGE_FUNCTIONS.'/app-'.$project->getId()); return getDevice(APP_STORAGE_FUNCTIONS.'/app-'.$project->getId(), $connectionStorage);
}, ['project']); }, ['project', 'connectionStorage']);
App::setResource('deviceForBuilds', function ($project) { App::setResource('deviceForBuilds', function ($project, $connectionStorage) {
return getDevice(APP_STORAGE_BUILDS.'/app-'.$project->getId()); return getDevice(APP_STORAGE_BUILDS.'/app-'.$project->getId(), $connectionStorage);
}, ['project']); }, ['project', 'connectionStorage']);
function getDevice($root): Device App::setResource('connectionStorage', function () {
return '';
});
function getDevice(string $root, string $connectionStorage = ''): Device
{ {
$connection = System::getEnv('_APP_CONNECTIONS_STORAGE', ''); $connectionStorage = ! empty($connectionStorage) ? $connectionStorage : System::getEnv('_APP_CONNECTIONS_STORAGE', '');
if (! empty($connection)) { if (! empty($connectionStorage)) {
$acl = 'private'; $acl = 'private';
$device = Storage::DEVICE_LOCAL; $device = Storage::DEVICE_LOCAL;
$accessKey = ''; $accessKey = '';
@ -1448,7 +1452,7 @@ function getDevice($root): Device
$region = ''; $region = '';
try { try {
$dsn = new DSN($connection); $dsn = new DSN($connectionStorage);
$device = $dsn->getScheme(); $device = $dsn->getScheme();
$accessKey = $dsn->getUser() ?? ''; $accessKey = $dsn->getUser() ?? '';
$accessSecret = $dsn->getPassword() ?? ''; $accessSecret = $dsn->getPassword() ?? '';