#nullable enable using BTCPayServer.Abstractions.Contracts; using BTCPayServer.Abstractions.Models; using BTCPayServer.Abstractions.Services; using BTCPayServer.Lightning; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Hosting; namespace BTCPayServer.Plugins.Breez { public class BreezPlugin : BaseBTCPayServerPlugin { public override IBTCPayServerPlugin.PluginDependency[] Dependencies { get; } = { new() {Identifier = nameof(BTCPayServer), Condition = ">=1.12.0"} }; public override void Execute(IServiceCollection applicationBuilder) { applicationBuilder.AddSingleton(); applicationBuilder.AddSingleton(provider => provider.GetRequiredService()); applicationBuilder.AddSingleton(); applicationBuilder.AddSingleton(provider => provider.GetRequiredService()); applicationBuilder.AddSingleton(new UIExtension("Breez/BreezNav", "store-integrations-nav")); applicationBuilder.AddSingleton(new UIExtension("Breez/LNPaymentMethodSetupTabhead", "ln-payment-method-setup-tabhead")); applicationBuilder.AddSingleton(new UIExtension("Breez/LNPaymentMethodSetupTab", "ln-payment-method-setup-tab")); applicationBuilder.AddSingleton(new UIExtension("Breez/BreezNodeInfo", "dashboard")); applicationBuilder.AddSingleton(new UIExtension("Breez/BreezPaymentsTable", "dashboard")); base.Execute(applicationBuilder); } } }