UNPKG

@stratosphere-network/wallet

Version:

Wallet module for StratoSphere SDK

121 lines 3.96 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.PaymentLinksService = void 0; const base_service_1 = require("../base-service"); class PaymentLinksService extends base_service_1.BaseService { /** * Validates the time format for send links * Expected format: number followed by s, m, h, or d (e.g., 1s, 5m, 2h, 30d) */ validateTimeFormat(time) { const timePattern = /^(\d+)(s|m|h|d)$/; if (!timePattern.test(time)) { throw new Error(`Invalid time format: "${time}". Expected format: number followed by s, m, h, or d (e.g., 1s, 5m, 2h, 30d)`); } const match = time.match(timePattern); const value = parseInt(match[1], 10); if (value <= 0) { throw new Error(`Time value must be greater than 0. Received: ${value}`); } } async requestPayment(request) { return this.authenticatedRequest({ method: "POST", url: "/payment-links/request-payment", data: request, }); } async payPaymentRequest(nonce) { return this.authenticatedRequest({ method: "POST", url: "/payment-links/execute", params: { nonce }, }); } async createSpecificSendLink(request) { // Validate time format before making the API call this.validateTimeFormat(request.time); return this.authenticatedRequest({ method: "POST", url: "/payment-links/send-specific", data: request, }); } async createOpenSendLink(request) { this.validateTimeFormat(request.time); return this.authenticatedRequest({ method: "POST", url: "/payment-links/send-open", data: request, }); } async claimSpecificSendLink(request) { return this.authenticatedRequest({ method: "POST", url: "/payment-links/claim-specific", params: { id: request.id }, }); } async claimOpenSendLink(request) { return this.authenticatedRequest({ method: "POST", url: "/payment-links/claim-open", params: { id: request.id }, }); } async listPaymentRequests(request) { return this.authenticatedRequest({ method: "GET", url: "/payment-links/list-payment-requests", params: request, }); } async listSendLinks(request) { return this.authenticatedRequest({ method: "GET", url: "/payment-links/list-send-links", params: request, }); } async cancelPaymentRequest(nonce) { return this.authenticatedRequest({ method: "DELETE", url: `/payment-links/cancel-payment-request/${nonce}`, }); } async cancelSendLink(urlId) { return this.authenticatedRequest({ method: "DELETE", url: `/payment-links/cancel-send-link/${urlId}`, }); } async registerRequestLinkRedirectUrl(request) { return this.authenticatedRequest({ method: "POST", url: "/project/register-request-link-redirect-url", data: request, }); } async registerSendLinkRedirectUrl(request) { return this.authenticatedRequest({ method: "POST", url: "/project/register-send-link-redirect-url", data: request, }); } async getAllUsers() { return this.authenticatedRequest({ method: "GET", url: "/user/all", }); } async getRedirectLinks(request) { return this.authenticatedRequest({ method: "POST", url: "/project/get-redirect-links", data: request, }); } } exports.PaymentLinksService = PaymentLinksService; //# sourceMappingURL=payment-links.js.map