void.cat/VoidCat/Services/Payment/PaymentStartup.cs
2022-09-07 15:52:40 +01:00

32 lines
1.0 KiB
C#

using VoidCat.Model;
using VoidCat.Services.Abstractions;
using VoidCat.Services.Strike;
namespace VoidCat.Services.Payment;
public static class PaymentStartup
{
/// <summary>
/// Add services required to use payment functions
/// </summary>
/// <param name="services"></param>
/// <param name="settings"></param>
public static void AddPaymentServices(this IServiceCollection services, VoidSettings settings)
{
services.AddTransient<IPaymentFactory, PaymentFactory>();
if (settings.HasPostgres())
{
services.AddTransient<IPaymentStore, PostgresPaymentStore>();
services.AddTransient<IPaymentOrderStore, PostgresPaymentOrderStore>();
}
else
{
services.AddTransient<IPaymentStore, CachePaymentStore>();
services.AddTransient<IPaymentOrderStore, CachePaymentOrderStore>();
}
// strike
services.AddTransient<StrikeApi>();
services.AddTransient<StrikePaymentProvider>();
}
}