wabbajack/Wabbajack.DTOs/JsonConverters/DIExtensions.cs

31 lines
1.3 KiB
C#
Raw Normal View History

2021-09-27 12:42:46 +00:00
using System.Text.Json.Serialization;
using Microsoft.Extensions.DependencyInjection;
namespace Wabbajack.DTOs.JsonConverters
{
public static class DIExtensions
{
public static IServiceCollection AddDTOConverters(this IServiceCollection services)
{
Wabbajack_DTOs_DownloadStates_IDownloadStateConverter.ConfigureServices(services);
Wabbajack_DTOs_DirectiveConverter.ConfigureServices(services);
Wabbajack_DTOs_BSA_ArchiveStates_IArchiveConverter.ConfigureServices(services);
Wabbajack_DTOs_BSA_FileStates_AFileConverter.ConfigureServices(services);
services.AddSingleton<JsonConverter, HashJsonConverter>();
services.AddSingleton<JsonConverter, HashRelativePathConverter>();
services.AddSingleton<JsonConverter, PHashConverter>();
services.AddSingleton<JsonConverter, RelativePathConverter>();
services.AddSingleton<JsonConverter, AbsolutePathConverter>();
services.AddSingleton<JsonConverter, VersionConverter>();
return services;
}
public static IServiceCollection AddDTOSerializer(this IServiceCollection services)
{
services.AddSingleton<DTOSerializer>();
services.AddSingleton(s => s.GetService<DTOSerializer>()!.Options);
return services;
}
}
}