mirror of
https://github.com/DrizzleTime/Foxel.git
synced 2026-05-10 17:43:35 +08:00
23 lines
722 B
C#
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}")
|
|
};
|
|
}
|
|
}
|