void.cat/VoidCat/Services/Paywall/PaywallStartup.cs
2022-06-13 14:35:26 +01:00

32 lines
1.0 KiB
C#

using VoidCat.Model;
using VoidCat.Services.Abstractions;
using VoidCat.Services.Strike;
namespace VoidCat.Services.Paywall;
public static class PaywallStartup
{
/// <summary>
/// Add services required to use paywall functions
/// </summary>
/// <param name="services"></param>
/// <param name="settings"></param>
public static void AddPaywallServices(this IServiceCollection services, VoidSettings settings)
{
services.AddTransient<IPaywallFactory, PaywallFactory>();
if (settings.HasPostgres())
{
services.AddTransient<IPaywallStore, PostgresPaywallStore>();
services.AddTransient<IPaywallOrderStore, PostgresPaywallOrderStore>();
}
else
{
services.AddTransient<IPaywallStore, CachePaywallStore>();
services.AddTransient<IPaywallOrderStore, CachePaywallOrderStore>();
}
// strike
services.AddTransient<StrikeApi>();
services.AddTransient<StrikePaywallProvider>();
}
}