namespace VoidCat.Database; public class PaywallOrder { public Guid Id { get; init; } 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 PaywallOrderStatus Status { get; set; } public PaywallOrderLightning? OrderLightning { get; init; } } public enum PaywallOrderStatus : byte { /// /// Invoice is not paid yet /// Unpaid = 0, /// /// Invoice is paid /// Paid = 1, /// /// Invoice has expired and cant be paid /// Expired = 2 } public class PaywallOrderLightning { public Guid OrderId { get; init; } public PaywallOrder Order { get; init; } = null!; public string Invoice { get; init; } = null!; public DateTime Expire { get; init; } }