namespace VoidCat.Database; public enum PaywallCurrency : byte { BTC = 0, USD = 1, EUR = 2, GBP = 3 } public enum PaywallService { /// /// No service /// None, /// /// Strike.me payment service /// Strike, /// /// LNProxy payment /// LnProxy, } public class Paywall { public Guid Id { get; init; } = Guid.NewGuid(); public Guid FileId { get; init; } public File File { get; init; } = null!; public PaywallService Service { get; init; } public PaywallCurrency Currency { get; init; } public decimal Amount { get; init; } public bool Required { get; init; } = true; /// /// Upstream identifier, handle or lnurl /// public string? Upstream { get; init; } }