fix(core): improve connection testing with dynamic disk configuration for s3 backups

This commit is contained in:
Andras Bacsai
2025-02-13 10:07:58 +01:00
parent be1742a85c
commit b53e289bcd
2 changed files with 12 additions and 19 deletions

View File

@@ -43,8 +43,18 @@ class S3Storage extends BaseModel
public function testConnection(bool $shouldSave = false)
{
try {
set_s3_target($this);
Storage::disk('custom-s3')->files();
$disk = Storage::build([
'driver' => 's3',
'region' => $this['region'],
'key' => $this['key'],
'secret' => $this['secret'],
'bucket' => $this['bucket'],
'endpoint' => $this['endpoint'],
'use_path_style_endpoint' => true,
]);
// Test the connection by listing files with ListObjectsV2 (S3)
$disk->files();
$this->unusable_email_sent = false;
$this->is_usable = true;
} catch (\Throwable $e) {

View File

@@ -1,17 +0,0 @@
<?php
use App\Models\S3Storage;
function set_s3_target(S3Storage $s3)
{
config()->set('filesystems.disks.custom-s3', [
'driver' => 's3',
'region' => $s3['region'],
'key' => $s3['key'],
'secret' => $s3['secret'],
'bucket' => $s3['bucket'],
'endpoint' => $s3['endpoint'],
'use_path_style_endpoint' => true,
'aws_url' => $s3->awsUrl(),
]);
}