@php use Illuminate\Support\Facades\Schema; $s3PoolBuckets = $s3_pool_buckets ?? collect(); $storageMode = old('listing_storage_mode', $general_setting->listing_storage_mode ?? 'local'); $defaultPoolEnabled = ($storageMode === 's3') || ! empty($general_setting->s3_access_key_id); $s3PoolEnabled = (bool) old('s3_pool_enabled', $general_setting->s3_pool_enabled ?? $defaultPoolEnabled); $errorThreshold = (int) old('s3_pool_error_threshold', $general_setting->s3_pool_error_threshold ?? 2); $poolTableReady = Schema::hasTable('s3_pool_buckets'); if ($s3PoolBuckets->isEmpty() && ! empty($general_setting->s3_access_key_id)) { $legacyBucket = (object) [ 'name' => 'Principal', 'access_key_id' => $general_setting->s3_access_key_id, 'bucket' => $general_setting->s3_bucket, 'region' => $general_setting->s3_region ?? 'auto', 'endpoint' => $general_setting->s3_endpoint, 'public_url' => $general_setting->s3_public_url, 'use_path_style' => (bool) ($general_setting->s3_use_path_style ?? true), 'priority' => 10, 'monthly_bandwidth_limit_mb' => 0, 'is_enabled' => true, ]; $bucketRows = collect([$legacyBucket]); } else { $bucketRows = $s3PoolBuckets->isNotEmpty() ? $s3PoolBuckets : collect([null]); } @endphp