mirror of
https://github.com/aljazceru/btcpayserver.git
synced 2025-12-18 22:44:29 +01:00
Allow specifying WebhookDeliveryData webhookid right away
This commit is contained in:
@@ -94,8 +94,7 @@ namespace BTCPayServer.HostedServices
|
|||||||
if (webhookDelivery is null)
|
if (webhookDelivery is null)
|
||||||
return null;
|
return null;
|
||||||
var oldDeliveryBlob = webhookDelivery.Delivery.GetBlob();
|
var oldDeliveryBlob = webhookDelivery.Delivery.GetBlob();
|
||||||
var newDelivery = NewDelivery();
|
var newDelivery = NewDelivery(webhookDelivery.Webhook.Id);
|
||||||
newDelivery.WebhookId = webhookDelivery.Webhook.Id;
|
|
||||||
var newDeliveryBlob = new WebhookDeliveryBlob();
|
var newDeliveryBlob = new WebhookDeliveryBlob();
|
||||||
newDeliveryBlob.Request = oldDeliveryBlob.Request;
|
newDeliveryBlob.Request = oldDeliveryBlob.Request;
|
||||||
var webhookEvent = newDeliveryBlob.ReadRequestAs<WebhookEvent>();
|
var webhookEvent = newDeliveryBlob.ReadRequestAs<WebhookEvent>();
|
||||||
@@ -125,9 +124,7 @@ namespace BTCPayServer.HostedServices
|
|||||||
|
|
||||||
public async Task TestWebhook(string storeId, string webhookId, WebhookEventType webhookEventType)
|
public async Task TestWebhook(string storeId, string webhookId, WebhookEventType webhookEventType)
|
||||||
{
|
{
|
||||||
var delivery = NewDelivery();
|
var delivery = NewDelivery(webhookId);
|
||||||
delivery.WebhookId = webhookId;
|
|
||||||
|
|
||||||
var webhook = (await StoreRepository.GetWebhooks(storeId)).Where(w => w.Id == webhookId).FirstOrDefault();
|
var webhook = (await StoreRepository.GetWebhooks(storeId)).Where(w => w.Id == webhookId).FirstOrDefault();
|
||||||
|
|
||||||
var channel = Channel.CreateUnbounded<WebhookDeliveryRequest>();
|
var channel = Channel.CreateUnbounded<WebhookDeliveryRequest>();
|
||||||
@@ -153,8 +150,7 @@ namespace BTCPayServer.HostedServices
|
|||||||
continue;
|
continue;
|
||||||
if (!ShouldDeliver(webhookEvent.Type, webhookBlob))
|
if (!ShouldDeliver(webhookEvent.Type, webhookBlob))
|
||||||
continue;
|
continue;
|
||||||
Data.WebhookDeliveryData delivery = NewDelivery();
|
Data.WebhookDeliveryData delivery = NewDelivery(webhook.Id);
|
||||||
delivery.WebhookId = webhook.Id;
|
|
||||||
webhookEvent.InvoiceId = invoiceEvent.InvoiceId;
|
webhookEvent.InvoiceId = invoiceEvent.InvoiceId;
|
||||||
webhookEvent.StoreId = invoiceEvent.Invoice.StoreId;
|
webhookEvent.StoreId = invoiceEvent.Invoice.StoreId;
|
||||||
webhookEvent.DeliveryId = delivery.Id;
|
webhookEvent.DeliveryId = delivery.Id;
|
||||||
@@ -353,12 +349,14 @@ namespace BTCPayServer.HostedServices
|
|||||||
return bytes;
|
return bytes;
|
||||||
}
|
}
|
||||||
|
|
||||||
private static Data.WebhookDeliveryData NewDelivery()
|
private static Data.WebhookDeliveryData NewDelivery(string webhookId)
|
||||||
{
|
{
|
||||||
var delivery = new Data.WebhookDeliveryData();
|
return new Data.WebhookDeliveryData
|
||||||
delivery.Id = Encoders.Base58.EncodeData(RandomUtils.GetBytes(16));
|
{
|
||||||
delivery.Timestamp = DateTimeOffset.UtcNow;
|
Id = Encoders.Base58.EncodeData(RandomUtils.GetBytes(16)),
|
||||||
return delivery;
|
Timestamp = DateTimeOffset.UtcNow,
|
||||||
|
WebhookId = webhookId
|
||||||
|
};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user