using FileTime.App.Core.Services; using FileTime.Core.ContentAccess; using FileTime.Tools.Compression.Compress; using FileTime.Tools.Compression.ContentProvider; using FileTime.Tools.Compression.Decompress; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.DependencyInjection.Extensions; namespace FileTime.Tools.Compression; public class StartupHandler : IStartupHandler { public StartupHandler(IIdentifiableUserCommandService identifiableUserCommandService) { identifiableUserCommandService.AddIdentifiableUserCommand(CompressUserCommand.Instance); identifiableUserCommandService.AddIdentifiableUserCommand(DecompressUserCommand.Instance); } public Task InitAsync() => Task.CompletedTask; } public static class Startup { public static IServiceCollection AddCompression(this IServiceCollection services) { services.AddSingleton(); services.AddSingleton(); services.AddSingleton(); services.AddSingleton(); services.TryAddSingleton(); services.AddSingleton(); services.TryAddSingleton, CompressedContentReaderFactory>(); return services; } }