void.cat/VoidCat/Services/Files/FileStorageStartup.cs

26 lines
832 B
C#
Raw Normal View History

2022-03-01 16:48:42 +00:00
using VoidCat.Model;
using VoidCat.Services.Abstractions;
using VoidCat.Services.Users;
namespace VoidCat.Services.Files;
public static class FileStorageStartup
{
public static void AddStorage(this IServiceCollection services, VoidSettings settings)
{
services.AddTransient<IFileInfoManager, FileInfoManager>();
services.AddTransient<IUserUploadsStore, UserUploadStore>();
if (settings.CloudStorage != default)
{
// cloud storage
services.AddSingleton<IFileStore, S3FileStore>();
services.AddSingleton<IFileMetadataStore, S3FileMetadataStore>();
}
else
{
services.AddTransient<IFileStore, LocalDiskFileStore>();
services.AddTransient<IFileMetadataStore, LocalDiskFileMetadataStore>();
}
}
}