From d2d9032ede2395e0cd79f5272901579789378b38 Mon Sep 17 00:00:00 2001 From: Jake Barnby Date: Fri, 23 May 2025 00:49:26 +1200 Subject: [PATCH 1/2] Fix bucket not included in path --- app/init/resources.php | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/app/init/resources.php b/app/init/resources.php index 910e8369db..14961ea44b 100644 --- a/app/init/resources.php +++ b/app/init/resources.php @@ -487,10 +487,9 @@ App::setResource('timelimit', function (\Redis $redis) { }; }, ['redis']); -App::setResource('deviceForLocal', function (Telemetry $telemetry) { +App::setResource('deviceForLocal', function () { return new Local(); -}, ['telemetry']); - +}); App::setResource('deviceForFiles', function ($project) { return getDevice(APP_STORAGE_UPLOADS . '/app-' . $project->getId()); }, ['project']); @@ -534,7 +533,8 @@ function getDevice(string $root, string $connection = ''): Device switch ($device) { case Storage::DEVICE_S3: if (!empty($url)) { - return new S3($root, $accessKey, $accessSecret, $url, $region, $acl); + $bucketRoot = (!empty($bucket) ? $bucket . '/' : '') . \ltrim($root, '/'); + return new S3($bucketRoot, $accessKey, $accessSecret, $url, $region, $acl); } else { return new AWS($root, $accessKey, $accessSecret, $bucket, $region, $acl); } @@ -566,7 +566,8 @@ function getDevice(string $root, string $connection = ''): Device $s3Acl = 'private'; $s3EndpointUrl = System::getEnv('_APP_STORAGE_S3_ENDPOINT', ''); if (!empty($s3EndpointUrl)) { - return new S3($root, $s3AccessKey, $s3SecretKey, $s3EndpointUrl, $s3Region, $s3Acl); + $bucketRoot = (!empty($s3Bucket) ? $s3Bucket . '/' : '') . \ltrim($root, '/'); + return new S3($bucketRoot, $s3AccessKey, $s3SecretKey, $s3EndpointUrl, $s3Region, $s3Acl); } else { return new AWS($root, $s3AccessKey, $s3SecretKey, $s3Bucket, $s3Region, $s3Acl); } From bd01d12db57f64ab4faf18be3ada1c8758ca618b Mon Sep 17 00:00:00 2001 From: Jake Barnby Date: Fri, 23 May 2025 00:51:31 +1200 Subject: [PATCH 2/2] Format --- app/init/resources.php | 1 - 1 file changed, 1 deletion(-) diff --git a/app/init/resources.php b/app/init/resources.php index 14961ea44b..c75df2a362 100644 --- a/app/init/resources.php +++ b/app/init/resources.php @@ -52,7 +52,6 @@ use Utopia\Storage\Device\S3; use Utopia\Storage\Device\Wasabi; use Utopia\Storage\Storage; use Utopia\System\System; -use Utopia\Telemetry\Adapter as Telemetry; use Utopia\Telemetry\Adapter\None as NoTelemetry; use Utopia\Validator\Hostname; use Utopia\Validator\WhiteList;