Files
Foxel/Services/StorageProviderFactory.cs

23 lines
722 B
C#

using Foxel.Models.DataBase;
using Foxel.Services.Interface;
using Foxel.Services.StorageProvider;
namespace Foxel.Services;
public class StorageProviderFactory(
LocalStorageProvider localStorageProvider,
TelegramStorageProvider telegramStorageProvider,
S3StorageProvider s3StorageProvider) : IStorageProviderFactory
{
public IStorageProvider GetProvider(StorageType storageType)
{
return storageType switch
{
StorageType.Local => localStorageProvider,
StorageType.Telegram => telegramStorageProvider,
StorageType.S3 => s3StorageProvider,
_ => throw new ArgumentException($"不支持的存储类型: {storageType}")
};
}
}