Initial commit

This commit is contained in:
shiyu
2025-05-18 20:48:20 +08:00
commit cde2c7b997
79 changed files with 5713 additions and 0 deletions

View File

@@ -0,0 +1,26 @@
using Foxel.Models.DataBase;
using Foxel.Services.Interface;
using Foxel.Services.StorageProvider;
using Microsoft.Extensions.DependencyInjection;
namespace Foxel.Services;
public class StorageProviderFactory : IStorageProviderFactory
{
private readonly IServiceProvider _serviceProvider;
public StorageProviderFactory(IServiceProvider serviceProvider)
{
_serviceProvider = serviceProvider;
}
public IStorageProvider GetProvider(StorageType storageType)
{
return storageType switch
{
StorageType.Local => _serviceProvider.GetRequiredService<LocalStorageProvider>(),
StorageType.Telegram => _serviceProvider.GetRequiredService<TelegramStorageProvider>(),
_ => throw new ArgumentOutOfRangeException(nameof(storageType), $"不支持的存储类型: {storageType}")
};
}
}