mirror of
https://github.com/aljazceru/BTCPayServerPlugins.git
synced 2025-12-17 07:34:24 +01:00
update subscriptions to add swagger docs
This commit is contained in:
@@ -1,10 +1,16 @@
|
||||
using System.IO;
|
||||
using System.Threading.Tasks;
|
||||
using BTCPayServer.Abstractions.Contracts;
|
||||
using BTCPayServer.Abstractions.Extensions;
|
||||
using BTCPayServer.Abstractions.Models;
|
||||
using BTCPayServer.Abstractions.Services;
|
||||
using BTCPayServer.HostedServices.Webhooks;
|
||||
using BTCPayServer.Services;
|
||||
using BTCPayServer.Services.Apps;
|
||||
using Microsoft.AspNetCore.Hosting;
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
using Microsoft.Extensions.FileProviders;
|
||||
using Newtonsoft.Json.Linq;
|
||||
|
||||
namespace BTCPayServer.Plugins.Subscriptions
|
||||
{
|
||||
@@ -17,6 +23,8 @@ namespace BTCPayServer.Plugins.Subscriptions
|
||||
|
||||
public override void Execute(IServiceCollection applicationBuilder)
|
||||
{
|
||||
|
||||
applicationBuilder.AddSingleton<ISwaggerProvider, SubscriptionsSwaggerProvider>();
|
||||
applicationBuilder.AddSingleton<SubscriptionService>();
|
||||
applicationBuilder.AddSingleton<IWebhookProvider>(o => o.GetRequiredService<SubscriptionService>());
|
||||
applicationBuilder.AddHostedService(s => s.GetRequiredService<SubscriptionService>());
|
||||
@@ -26,4 +34,23 @@ namespace BTCPayServer.Plugins.Subscriptions
|
||||
base.Execute(applicationBuilder);
|
||||
}
|
||||
}
|
||||
|
||||
public class SubscriptionsSwaggerProvider: ISwaggerProvider
|
||||
{
|
||||
private readonly IFileProvider _fileProvider;
|
||||
|
||||
public SubscriptionsSwaggerProvider(IWebHostEnvironment webHostEnvironment)
|
||||
{
|
||||
|
||||
_fileProvider = webHostEnvironment.WebRootFileProvider;
|
||||
}
|
||||
|
||||
public async Task<JObject> Fetch()
|
||||
{
|
||||
|
||||
var file = _fileProvider.GetFileInfo("Resources/swagger.subscriptions.json");
|
||||
using var reader = new StreamReader(file.CreateReadStream());
|
||||
return JObject.Parse(await reader.ReadToEndAsync());
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user