mirror of
https://github.com/aljazceru/btcpayserver.git
synced 2025-12-17 05:54:26 +01:00
40 lines
1.9 KiB
C#
40 lines
1.9 KiB
C#
#nullable enable
|
|
using BTCPayServer.Abstractions;
|
|
using BTCPayServer.Plugins.Subscriptions.Controllers;
|
|
using BTCPayServer.Views.UIStoreMembership;
|
|
using Microsoft.AspNetCore.Mvc;
|
|
using Microsoft.AspNetCore.Routing;
|
|
|
|
namespace BTCPayServer.Plugins.Subscriptions;
|
|
|
|
public static class UrlHelperExtensions
|
|
{
|
|
public static string PlanCheckout(this LinkGenerator urlHelper, string checkoutId, RequestBaseUrl requestBaseUrl)
|
|
=> urlHelper.GetUriByAction(
|
|
action: nameof(UIPlanCheckoutController.PlanCheckout),
|
|
values: new { area = SubscriptionsPlugin.Area, checkoutId },
|
|
controller: "UIPlanCheckout",
|
|
requestBaseUrl: requestBaseUrl);
|
|
|
|
public static string SubscriberPortalLink(this LinkGenerator urlHelper, string portalSessionId, RequestBaseUrl requestBaseUrl, string? checkoutPlanId = null)
|
|
=> urlHelper.GetUriByAction(
|
|
action: nameof(UISubscriberPortalController.SubscriberPortal),
|
|
values: new { area = SubscriptionsPlugin.Area, portalSessionId, checkoutPlanId },
|
|
controller: "UISubscriberPortal",
|
|
requestBaseUrl: requestBaseUrl);
|
|
|
|
public static string OfferingLink(this LinkGenerator urlHelper, string storeId, string offeringId, SubscriptionSection section, RequestBaseUrl requestBaseUrl)
|
|
=> urlHelper.GetUriByAction(
|
|
action: nameof(UIOfferingController.Offering),
|
|
values: new { area = SubscriptionsPlugin.Area, storeId, offeringId, section },
|
|
controller: "UIOffering",
|
|
requestBaseUrl: requestBaseUrl);
|
|
|
|
public static string PlanCheckoutDefaultLink(this LinkGenerator urlHelper, RequestBaseUrl requestBaseUrl)
|
|
=> urlHelper.GetUriByAction(
|
|
action: nameof(UIPlanCheckoutController.PlanCheckoutDefaultRedirect),
|
|
values: new { area = SubscriptionsPlugin.Area },
|
|
controller: "UIPlanCheckout",
|
|
requestBaseUrl: requestBaseUrl);
|
|
}
|