namespace foodmarket.Api.Storage;
/// Конфиг секции Storage. Биндится в Program.cs.
public sealed class StorageOptions
{
/// Какой backend использовать. Local (default) — диск
/// в ContentRoot/uploads. Minio — S3-совместимый bucket.
public StorageType Type { get; set; } = StorageType.Local;
/// Относительный путь под ContentRoot для Local-стораджа.
public string LocalRoot { get; set; } = "uploads";
/// S3/MinIO endpoint (без https). Например
/// 192.168.1.190:9000 или minio:9000. Прокидывается через
/// env Storage__Endpoint.
public string? Endpoint { get; set; }
/// S3 access key. env Storage__AccessKey.
public string? AccessKey { get; set; }
/// S3 secret key. env Storage__SecretKey.
public string? SecretKey { get; set; }
/// HTTPS или HTTP. На staging-vm у нас HTTP.
public bool UseSsl { get; set; }
/// Bucket. Создаётся автоматически на старте если не существует.
public string Bucket { get; set; } = "food-market-uploads";
}
public enum StorageType { Local, Minio }