<?php

namespace App\Providers;

use App\Services\Storage\StorageDiskRegistrar;
use Illuminate\Support\Facades\Schema;
use Illuminate\Support\ServiceProvider;

/**
 * PRC-1138 — Admin ayarlarından seçilen storage backend'ini (Local ↔ S3/MinIO)
 * boot'ta uygular. BackupServiceProvider deseni: `settings` tablosu yoksa
 * (kurulum/CI/fresh-DB) sessizce çık.
 */
class StorageServiceProvider extends ServiceProvider
{
    public function boot(): void
    {
        // Migration'lar çalışmadan (/install, migrate:fresh, CI) çökmesin.
        if (! Schema::hasTable('settings')) {
            return;
        }

        app(StorageDiskRegistrar::class)->register();
    }
}
