mirror of
https://github.com/btcpayserver/btcpayserver.git
synced 2025-02-21 22:11:48 +01:00
Use constants rather than magic strings in transaction attachments
This commit is contained in:
parent
2740dfea87
commit
ff572eef7f
4 changed files with 23 additions and 31 deletions
|
@ -14,6 +14,13 @@ namespace BTCPayServer.Data
|
||||||
{
|
{
|
||||||
public const string Label = "label";
|
public const string Label = "label";
|
||||||
public const string Tx = "tx";
|
public const string Tx = "tx";
|
||||||
|
public const string Payjoin = "payjoin";
|
||||||
|
public const string Invoice = "invoice";
|
||||||
|
public const string PaymentRequest = "payment-request";
|
||||||
|
public const string App = "app";
|
||||||
|
public const string PayjoinExposed = "pj-exposed";
|
||||||
|
public const string Payout = "payout";
|
||||||
|
public const string PullPayment = "pull-payment";
|
||||||
}
|
}
|
||||||
public string WalletId { get; set; }
|
public string WalletId { get; set; }
|
||||||
public string Type { get; set; }
|
public string Type { get; set; }
|
||||||
|
|
|
@ -1363,7 +1363,7 @@ namespace BTCPayServer.Controllers
|
||||||
TextColor = ColorPalette.Default.TextColor(color)
|
TextColor = ColorPalette.Default.TextColor(color)
|
||||||
};
|
};
|
||||||
models.Add(tag.Type, model);
|
models.Add(tag.Type, model);
|
||||||
if (tag.Type == "payout")
|
if (tag.Type == WalletObjectData.Types.Payout)
|
||||||
{
|
{
|
||||||
var payoutsByPullPaymentId =
|
var payoutsByPullPaymentId =
|
||||||
transactionInfo.Attachments.Where(t => t.Type == "payout")
|
transactionInfo.Attachments.Where(t => t.Type == "payout")
|
||||||
|
@ -1381,28 +1381,28 @@ namespace BTCPayServer.Controllers
|
||||||
model.Link = _linkGenerator.PayoutLink(transactionInfo.WalletId.ToString(), null, PayoutState.Completed, Request.Scheme, Request.Host,
|
model.Link = _linkGenerator.PayoutLink(transactionInfo.WalletId.ToString(), null, PayoutState.Completed, Request.Scheme, Request.Host,
|
||||||
Request.PathBase);
|
Request.PathBase);
|
||||||
}
|
}
|
||||||
else if (tag.Type == "payjoin")
|
else if (tag.Type == WalletObjectData.Types.Payjoin)
|
||||||
{
|
{
|
||||||
model.Tooltip = $"This UTXO was part of a PayJoin transaction.";
|
model.Tooltip = $"This UTXO was part of a PayJoin transaction.";
|
||||||
}
|
}
|
||||||
else if (tag.Type == "invoice")
|
else if (tag.Type == WalletObjectData.Types.Invoice)
|
||||||
{
|
{
|
||||||
model.Tooltip = $"Received through an invoice {tag.Id}";
|
model.Tooltip = $"Received through an invoice {tag.Id}";
|
||||||
model.Link = string.IsNullOrEmpty(tag.Id)
|
model.Link = string.IsNullOrEmpty(tag.Id)
|
||||||
? null
|
? null
|
||||||
: _linkGenerator.InvoiceLink(tag.Id, Request.Scheme, Request.Host, Request.PathBase);
|
: _linkGenerator.InvoiceLink(tag.Id, Request.Scheme, Request.Host, Request.PathBase);
|
||||||
}
|
}
|
||||||
else if (tag.Type == "payment-request")
|
else if (tag.Type == WalletObjectData.Types.PaymentRequest)
|
||||||
{
|
{
|
||||||
model.Tooltip = $"Received through a payment request {tag.Id}";
|
model.Tooltip = $"Received through a payment request {tag.Id}";
|
||||||
model.Link = _linkGenerator.PaymentRequestLink(tag.Id, Request.Scheme, Request.Host, Request.PathBase);
|
model.Link = _linkGenerator.PaymentRequestLink(tag.Id, Request.Scheme, Request.Host, Request.PathBase);
|
||||||
}
|
}
|
||||||
else if (tag.Type == "app")
|
else if (tag.Type == WalletObjectData.Types.App)
|
||||||
{
|
{
|
||||||
model.Tooltip = $"Received through an app {tag.Id}";
|
model.Tooltip = $"Received through an app {tag.Id}";
|
||||||
model.Link = _linkGenerator.AppLink(tag.Id, Request.Scheme, Request.Host, Request.PathBase);
|
model.Link = _linkGenerator.AppLink(tag.Id, Request.Scheme, Request.Host, Request.PathBase);
|
||||||
}
|
}
|
||||||
else if (tag.Type == "pj-exposed")
|
else if (tag.Type == WalletObjectData.Types.PayjoinExposed)
|
||||||
{
|
{
|
||||||
|
|
||||||
if (tag.Id.Length != 0)
|
if (tag.Id.Length != 0)
|
||||||
|
@ -1415,7 +1415,7 @@ namespace BTCPayServer.Controllers
|
||||||
model.Tooltip = $"This UTXO was exposed through a PayJoin proposal";
|
model.Tooltip = $"This UTXO was exposed through a PayJoin proposal";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (tag.Type == "payjoin")
|
else if (tag.Type == WalletObjectData.Types.Payjoin)
|
||||||
{
|
{
|
||||||
model.Tooltip = $"This UTXO was part of a PayJoin transaction.";
|
model.Tooltip = $"This UTXO was part of a PayJoin transaction.";
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
#nullable enable
|
#nullable enable
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using BTCPayServer.Client.Models;
|
using BTCPayServer.Client.Models;
|
||||||
|
using BTCPayServer.Data;
|
||||||
using BTCPayServer.Services.Labels;
|
using BTCPayServer.Services.Labels;
|
||||||
using Newtonsoft.Json.Linq;
|
using Newtonsoft.Json.Linq;
|
||||||
|
|
||||||
|
@ -20,39 +21,39 @@ namespace BTCPayServer.Services
|
||||||
}
|
}
|
||||||
public static Attachment Payjoin()
|
public static Attachment Payjoin()
|
||||||
{
|
{
|
||||||
return new Attachment("payjoin");
|
return new Attachment(WalletObjectData.Types.Payjoin);
|
||||||
}
|
}
|
||||||
public static Attachment Invoice(string invoice)
|
public static Attachment Invoice(string invoice)
|
||||||
{
|
{
|
||||||
return new Attachment("invoice", invoice);
|
return new Attachment(WalletObjectData.Types.Invoice, invoice);
|
||||||
}
|
}
|
||||||
public static Attachment PaymentRequest(string paymentRequestId)
|
public static Attachment PaymentRequest(string paymentRequestId)
|
||||||
{
|
{
|
||||||
return new Attachment("payment-request", paymentRequestId);
|
return new Attachment(WalletObjectData.Types.PaymentRequest, paymentRequestId);
|
||||||
}
|
}
|
||||||
public static Attachment App(string appId)
|
public static Attachment App(string appId)
|
||||||
{
|
{
|
||||||
return new Attachment("app", appId);
|
return new Attachment(WalletObjectData.Types.App, appId);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static Attachment PayjoinExposed(string? invoice)
|
public static Attachment PayjoinExposed(string? invoice)
|
||||||
{
|
{
|
||||||
return new Attachment("pj-exposed", invoice);
|
return new Attachment(WalletObjectData.Types.PayjoinExposed, invoice);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static IEnumerable<Attachment> Payout(string? pullPaymentId, string payoutId)
|
public static IEnumerable<Attachment> Payout(string? pullPaymentId, string payoutId)
|
||||||
{
|
{
|
||||||
if (string.IsNullOrEmpty(pullPaymentId))
|
if (string.IsNullOrEmpty(pullPaymentId))
|
||||||
{
|
{
|
||||||
yield return new Attachment("payout", payoutId);
|
yield return new Attachment(WalletObjectData.Types.Payout, payoutId);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
yield return new Attachment("payout", payoutId, new JObject()
|
yield return new Attachment(WalletObjectData.Types.Payout, payoutId, new JObject()
|
||||||
{
|
{
|
||||||
["pullPaymentId"] = pullPaymentId
|
["pullPaymentId"] = pullPaymentId
|
||||||
});
|
});
|
||||||
yield return new Attachment("pull-payment", pullPaymentId);
|
yield return new Attachment(WalletObjectData.Types.PullPayment, pullPaymentId);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -266,22 +266,6 @@ namespace BTCPayServer.Services
|
||||||
await EnsureWalletObjectLink(labelObjId, id);
|
await EnsureWalletObjectLink(labelObjId, id);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task AddWalletObjects(WalletObjectId id, params string[] labels)
|
|
||||||
{
|
|
||||||
ArgumentNullException.ThrowIfNull(id);
|
|
||||||
await EnsureWalletObject(id);
|
|
||||||
foreach (var l in labels.Select(l => l.Trim().Truncate(MaxLabelSize)))
|
|
||||||
{
|
|
||||||
var labelObjId = new WalletObjectId(id.WalletId, WalletObjectData.Types.Label, l);
|
|
||||||
await EnsureWalletObject(labelObjId, new JObject()
|
|
||||||
{
|
|
||||||
["color"] = ColorPalette.Default.DeterministicColor(l)
|
|
||||||
});
|
|
||||||
await EnsureWalletObjectLink(labelObjId, id);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public Task AddWalletTransactionAttachment(WalletId walletId, uint256 txId, Attachment attachment)
|
public Task AddWalletTransactionAttachment(WalletId walletId, uint256 txId, Attachment attachment)
|
||||||
{
|
{
|
||||||
return AddWalletTransactionAttachment(walletId, txId, new[] { attachment });
|
return AddWalletTransactionAttachment(walletId, txId, new[] { attachment });
|
||||||
|
|
Loading…
Add table
Reference in a new issue