@explorins/pers-sdk 1.6.45 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +288 -0
- package/dist/analytics.cjs +12 -0
- package/dist/analytics.cjs.map +1 -1
- package/dist/analytics.js +1 -1
- package/dist/api-key/api/api-key-api.d.ts +5 -2
- package/dist/api-key/api/api-key-api.d.ts.map +1 -1
- package/dist/business/api/business-api.d.ts +30 -11
- package/dist/business/api/business-api.d.ts.map +1 -1
- package/dist/business/api/business-membership-api.d.ts +205 -0
- package/dist/business/api/business-membership-api.d.ts.map +1 -0
- package/dist/business/index.d.ts +2 -0
- package/dist/business/index.d.ts.map +1 -1
- package/dist/business/services/business-membership-service.d.ts +180 -0
- package/dist/business/services/business-membership-service.d.ts.map +1 -0
- package/dist/business/services/business-service.d.ts +11 -7
- package/dist/business/services/business-service.d.ts.map +1 -1
- package/dist/business.cjs +767 -9
- package/dist/business.cjs.map +1 -1
- package/dist/business.js +751 -2
- package/dist/business.js.map +1 -1
- package/dist/campaign/api/campaign-api.d.ts +56 -22
- package/dist/campaign/api/campaign-api.d.ts.map +1 -1
- package/dist/campaign/services/campaign-service.d.ts +28 -16
- package/dist/campaign/services/campaign-service.d.ts.map +1 -1
- package/dist/campaign.cjs +14 -1
- package/dist/campaign.cjs.map +1 -1
- package/dist/campaign.js +3 -2
- package/dist/campaign.js.map +1 -1
- package/dist/chunks/{base-token-service-BSXDwrcq.js → base-token-service-DsD6lSdq.js} +2 -48
- package/dist/chunks/base-token-service-DsD6lSdq.js.map +1 -0
- package/dist/chunks/{base-token-service-CYuqPPs0.cjs → base-token-service-_64IWVES.cjs} +2 -48
- package/dist/chunks/base-token-service-_64IWVES.cjs.map +1 -0
- package/dist/chunks/{campaign-service-B1tQMNqA.cjs → campaign-service-Ae164xl8.cjs} +102 -84
- package/dist/chunks/campaign-service-Ae164xl8.cjs.map +1 -0
- package/dist/chunks/{campaign-service-CJPXgFBe.js → campaign-service-rlK4WeSY.js} +102 -84
- package/dist/chunks/campaign-service-rlK4WeSY.js.map +1 -0
- package/dist/chunks/{donation-service-D-xFrONi.cjs → donation-service--6cnTvWq.cjs} +9 -5
- package/dist/chunks/donation-service--6cnTvWq.cjs.map +1 -0
- package/dist/chunks/{donation-service-CyJS4DIZ.js → donation-service-xiXZ2Eto.js} +9 -5
- package/dist/chunks/donation-service-xiXZ2Eto.js.map +1 -0
- package/dist/chunks/pagination-utils-9vQ-Npkr.js +166 -0
- package/dist/chunks/pagination-utils-9vQ-Npkr.js.map +1 -0
- package/dist/chunks/pagination-utils-B2jRHMSO.cjs +173 -0
- package/dist/chunks/pagination-utils-B2jRHMSO.cjs.map +1 -0
- package/dist/chunks/{pers-sdk-DzS7mkm7.cjs → pers-sdk-CrffRkya.cjs} +1096 -323
- package/dist/chunks/pers-sdk-CrffRkya.cjs.map +1 -0
- package/dist/chunks/{pers-sdk-VGEG59g3.js → pers-sdk-omI-Fl0m.js} +1086 -317
- package/dist/chunks/pers-sdk-omI-Fl0m.js.map +1 -0
- package/dist/chunks/{token-service-CpVwC5Eb.js → token-service-Bfj6C0yz.js} +62 -30
- package/dist/chunks/token-service-Bfj6C0yz.js.map +1 -0
- package/dist/chunks/{token-service-BWScn8Qa.cjs → token-service-BlbXrxnS.cjs} +62 -30
- package/dist/chunks/token-service-BlbXrxnS.cjs.map +1 -0
- package/dist/chunks/transaction-request.builder-DltmruUC.js +296 -0
- package/dist/chunks/transaction-request.builder-DltmruUC.js.map +1 -0
- package/dist/chunks/transaction-request.builder-DrqTWcyC.cjs +303 -0
- package/dist/chunks/transaction-request.builder-DrqTWcyC.cjs.map +1 -0
- package/dist/chunks/{transaction-service-CXjTHCFu.cjs → transaction-service-BcJfyCcq.cjs} +68 -31
- package/dist/chunks/transaction-service-BcJfyCcq.cjs.map +1 -0
- package/dist/chunks/{transaction-service-B7h_4Hg3.js → transaction-service-CnOD3scu.js} +68 -31
- package/dist/chunks/transaction-service-CnOD3scu.js.map +1 -0
- package/dist/chunks/{user-service-D6mTa_WZ.js → user-service-BGP3SZpk.js} +82 -20
- package/dist/chunks/user-service-BGP3SZpk.js.map +1 -0
- package/dist/chunks/{user-service-D1Rn4U8u.cjs → user-service-gITOx4qj.cjs} +82 -20
- package/dist/chunks/user-service-gITOx4qj.cjs.map +1 -0
- package/dist/chunks/{web3-chain-service-BLFxB5TA.cjs → web3-chain-service-6vsVHPjl.cjs} +116 -16
- package/dist/chunks/web3-chain-service-6vsVHPjl.cjs.map +1 -0
- package/dist/chunks/{web3-chain-service-JRSwxr-s.js → web3-chain-service-BcUeeujC.js} +111 -17
- package/dist/chunks/web3-chain-service-BcUeeujC.js.map +1 -0
- package/dist/core/auth/api/auth-api.d.ts +35 -0
- package/dist/core/auth/api/auth-api.d.ts.map +1 -1
- package/dist/core/auth/auth-provider.interface.d.ts +7 -1
- package/dist/core/auth/auth-provider.interface.d.ts.map +1 -1
- package/dist/core/auth/services/auth-service.d.ts +26 -1
- package/dist/core/auth/services/auth-service.d.ts.map +1 -1
- package/dist/core/auth/token-storage.d.ts +3 -2
- package/dist/core/auth/token-storage.d.ts.map +1 -1
- package/dist/core/errors/index.d.ts +75 -6
- package/dist/core/errors/index.d.ts.map +1 -1
- package/dist/core/events/event-emitter.d.ts +106 -0
- package/dist/core/events/event-emitter.d.ts.map +1 -0
- package/dist/core/events/event-types.d.ts +127 -0
- package/dist/core/events/event-types.d.ts.map +1 -0
- package/dist/core/events/index.d.ts +22 -0
- package/dist/core/events/index.d.ts.map +1 -0
- package/dist/core/index.d.ts +3 -0
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/pers-api-client.d.ts +12 -0
- package/dist/core/pers-api-client.d.ts.map +1 -1
- package/dist/core/version.d.ts +15 -0
- package/dist/core/version.d.ts.map +1 -0
- package/dist/core.cjs +26 -12
- package/dist/core.cjs.map +1 -1
- package/dist/core.js +13 -12
- package/dist/core.js.map +1 -1
- package/dist/donation/api/donation-api.d.ts +3 -1
- package/dist/donation/api/donation-api.d.ts.map +1 -1
- package/dist/donation/services/donation-service.d.ts +3 -1
- package/dist/donation/services/donation-service.d.ts.map +1 -1
- package/dist/donation.cjs +14 -1
- package/dist/donation.cjs.map +1 -1
- package/dist/donation.js +3 -2
- package/dist/donation.js.map +1 -1
- package/dist/index.cjs +63 -22
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +15 -13
- package/dist/index.js.map +1 -1
- package/dist/managers/analytics-manager.d.ts +9 -9
- package/dist/managers/api-key-manager.d.ts +8 -6
- package/dist/managers/api-key-manager.d.ts.map +1 -1
- package/dist/managers/auth-manager.d.ts +77 -4
- package/dist/managers/auth-manager.d.ts.map +1 -1
- package/dist/managers/business-manager.d.ts +198 -8
- package/dist/managers/business-manager.d.ts.map +1 -1
- package/dist/managers/campaign-manager.d.ts +67 -83
- package/dist/managers/campaign-manager.d.ts.map +1 -1
- package/dist/managers/donation-manager.d.ts +4 -2
- package/dist/managers/donation-manager.d.ts.map +1 -1
- package/dist/managers/file-manager.d.ts +2 -2
- package/dist/managers/purchase-manager.d.ts +26 -24
- package/dist/managers/purchase-manager.d.ts.map +1 -1
- package/dist/managers/redemption-manager.d.ts +106 -92
- package/dist/managers/redemption-manager.d.ts.map +1 -1
- package/dist/managers/tenant-manager.d.ts +5 -2
- package/dist/managers/tenant-manager.d.ts.map +1 -1
- package/dist/managers/token-manager.d.ts +6 -4
- package/dist/managers/token-manager.d.ts.map +1 -1
- package/dist/managers/transaction-manager.d.ts +22 -19
- package/dist/managers/transaction-manager.d.ts.map +1 -1
- package/dist/managers/user-manager.d.ts +61 -3
- package/dist/managers/user-manager.d.ts.map +1 -1
- package/dist/managers/user-status-manager.d.ts +6 -4
- package/dist/managers/user-status-manager.d.ts.map +1 -1
- package/dist/managers/web3-manager.d.ts.map +1 -1
- package/dist/package.json +2 -2
- package/dist/payment/api/payment-api.d.ts +15 -18
- package/dist/payment/api/payment-api.d.ts.map +1 -1
- package/dist/payment/services/payment-service.d.ts +6 -4
- package/dist/payment/services/payment-service.d.ts.map +1 -1
- package/dist/payment.cjs +225 -9
- package/dist/payment.cjs.map +1 -1
- package/dist/payment.js +210 -2
- package/dist/payment.js.map +1 -1
- package/dist/pers-sdk.d.ts +49 -0
- package/dist/pers-sdk.d.ts.map +1 -1
- package/dist/redemption/api/redemption-api.d.ts +22 -11
- package/dist/redemption/api/redemption-api.d.ts.map +1 -1
- package/dist/redemption/services/redemption-service.d.ts +11 -9
- package/dist/redemption/services/redemption-service.d.ts.map +1 -1
- package/dist/redemption.cjs +353 -9
- package/dist/redemption.cjs.map +1 -1
- package/dist/redemption.js +338 -2
- package/dist/redemption.js.map +1 -1
- package/dist/shared/index.d.ts +1 -0
- package/dist/shared/index.d.ts.map +1 -1
- package/dist/shared/interfaces/pers-shared-lib.interfaces.d.ts +2 -1
- package/dist/shared/interfaces/pers-shared-lib.interfaces.d.ts.map +1 -1
- package/dist/shared/utils/pagination-utils.d.ts +184 -0
- package/dist/shared/utils/pagination-utils.d.ts.map +1 -0
- package/dist/tenant/api/tenant-api.d.ts +6 -1
- package/dist/tenant/api/tenant-api.d.ts.map +1 -1
- package/dist/tenant/services/tenant-service.d.ts +5 -2
- package/dist/tenant/services/tenant-service.d.ts.map +1 -1
- package/dist/tenant.cjs +177 -9
- package/dist/tenant.cjs.map +1 -1
- package/dist/tenant.js +162 -2
- package/dist/tenant.js.map +1 -1
- package/dist/token/api/token-api.d.ts +24 -7
- package/dist/token/api/token-api.d.ts.map +1 -1
- package/dist/token/base/base-token-service.d.ts +5 -4
- package/dist/token/base/base-token-service.d.ts.map +1 -1
- package/dist/token/services/token-service.d.ts +10 -8
- package/dist/token/services/token-service.d.ts.map +1 -1
- package/dist/token/token-sdk.d.ts +5 -34
- package/dist/token/token-sdk.d.ts.map +1 -1
- package/dist/token.cjs +15 -2
- package/dist/token.cjs.map +1 -1
- package/dist/token.js +4 -3
- package/dist/token.js.map +1 -1
- package/dist/transaction/api/transaction-api.d.ts +48 -6
- package/dist/transaction/api/transaction-api.d.ts.map +1 -1
- package/dist/transaction/models/index.d.ts +2 -0
- package/dist/transaction/models/index.d.ts.map +1 -1
- package/dist/transaction/models/transaction-request.builder.d.ts +256 -0
- package/dist/transaction/models/transaction-request.builder.d.ts.map +1 -0
- package/dist/transaction/services/transaction-service.d.ts +12 -4
- package/dist/transaction/services/transaction-service.d.ts.map +1 -1
- package/dist/transaction.cjs +9 -1
- package/dist/transaction.cjs.map +1 -1
- package/dist/transaction.js +3 -1
- package/dist/transaction.js.map +1 -1
- package/dist/user/api/user-api.d.ts +32 -9
- package/dist/user/api/user-api.d.ts.map +1 -1
- package/dist/user/services/user-service.d.ts +25 -2
- package/dist/user/services/user-service.d.ts.map +1 -1
- package/dist/user-status/api/user-status-api.d.ts +6 -4
- package/dist/user-status/api/user-status-api.d.ts.map +1 -1
- package/dist/user-status/index.d.ts +4 -2
- package/dist/user-status/index.d.ts.map +1 -1
- package/dist/user-status/services/user-status-service.d.ts +4 -2
- package/dist/user-status/services/user-status-service.d.ts.map +1 -1
- package/dist/user-status.cjs +34 -14
- package/dist/user-status.cjs.map +1 -1
- package/dist/user-status.js +23 -15
- package/dist/user-status.js.map +1 -1
- package/dist/user.cjs +14 -1
- package/dist/user.cjs.map +1 -1
- package/dist/user.js +3 -2
- package/dist/user.js.map +1 -1
- package/dist/web3-chain.cjs +13 -1
- package/dist/web3-chain.cjs.map +1 -1
- package/dist/web3-chain.js +2 -2
- package/package.json +2 -2
- package/dist/chunks/base-token-service-BSXDwrcq.js.map +0 -1
- package/dist/chunks/base-token-service-CYuqPPs0.cjs.map +0 -1
- package/dist/chunks/business-service-8Xd3d5oY.js +0 -238
- package/dist/chunks/business-service-8Xd3d5oY.js.map +0 -1
- package/dist/chunks/business-service-P9o4cwQL.cjs +0 -241
- package/dist/chunks/business-service-P9o4cwQL.cjs.map +0 -1
- package/dist/chunks/campaign-service-B1tQMNqA.cjs.map +0 -1
- package/dist/chunks/campaign-service-CJPXgFBe.js.map +0 -1
- package/dist/chunks/donation-service-CyJS4DIZ.js.map +0 -1
- package/dist/chunks/donation-service-D-xFrONi.cjs.map +0 -1
- package/dist/chunks/payment-service-B4qx0qiE.cjs +0 -220
- package/dist/chunks/payment-service-B4qx0qiE.cjs.map +0 -1
- package/dist/chunks/payment-service-DfCBFosx.js +0 -217
- package/dist/chunks/payment-service-DfCBFosx.js.map +0 -1
- package/dist/chunks/pers-sdk-DzS7mkm7.cjs.map +0 -1
- package/dist/chunks/pers-sdk-VGEG59g3.js.map +0 -1
- package/dist/chunks/redemption-service-7qbeQxEM.cjs +0 -330
- package/dist/chunks/redemption-service-7qbeQxEM.cjs.map +0 -1
- package/dist/chunks/redemption-service-BT0J5Iy7.js +0 -327
- package/dist/chunks/redemption-service-BT0J5Iy7.js.map +0 -1
- package/dist/chunks/tenant-service-DME24vr1.cjs +0 -157
- package/dist/chunks/tenant-service-DME24vr1.cjs.map +0 -1
- package/dist/chunks/tenant-service-DxtHAlaa.js +0 -154
- package/dist/chunks/tenant-service-DxtHAlaa.js.map +0 -1
- package/dist/chunks/token-service-BWScn8Qa.cjs.map +0 -1
- package/dist/chunks/token-service-CpVwC5Eb.js.map +0 -1
- package/dist/chunks/transaction-service-B7h_4Hg3.js.map +0 -1
- package/dist/chunks/transaction-service-CXjTHCFu.cjs.map +0 -1
- package/dist/chunks/user-service-D1Rn4U8u.cjs.map +0 -1
- package/dist/chunks/user-service-D6mTa_WZ.js.map +0 -1
- package/dist/chunks/web3-chain-service-BLFxB5TA.cjs.map +0 -1
- package/dist/chunks/web3-chain-service-JRSwxr-s.js.map +0 -1
package/dist/payment.cjs
CHANGED
|
@@ -1,22 +1,238 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var paymentService = require('./chunks/payment-service-B4qx0qiE.cjs');
|
|
4
3
|
var persShared = require('@explorins/pers-shared');
|
|
4
|
+
var paginationUtils = require('./chunks/pagination-utils-B2jRHMSO.cjs');
|
|
5
5
|
|
|
6
|
+
/**
|
|
7
|
+
* Platform-Agnostic Purchase API Client (RESTful Architecture)
|
|
8
|
+
*
|
|
9
|
+
* Handles purchase and payment operations using the PERS backend's new RESTful endpoints.
|
|
10
|
+
* Uses @explorins/pers-shared DTOs for consistency with backend.
|
|
11
|
+
*
|
|
12
|
+
* Migration Status: Updated to match /purchases controller (replaces /purchase endpoints)
|
|
13
|
+
*
|
|
14
|
+
* Available Access Levels:
|
|
15
|
+
* - PUBLIC: Project key authentication for catalog browsing and payment operations
|
|
16
|
+
* - USER: Requires user authentication JWT (purchase creation, history access)
|
|
17
|
+
* - ADMIN: Requires tenant admin privileges (not implemented in this client)
|
|
18
|
+
*
|
|
19
|
+
* Note: This SDK focuses on backend purchase operations only.
|
|
20
|
+
* Payment provider integrations (Stripe, etc.) should remain in infrastructure layer.
|
|
21
|
+
*/
|
|
22
|
+
class PurchaseApi {
|
|
23
|
+
constructor(apiClient) {
|
|
24
|
+
this.apiClient = apiClient;
|
|
25
|
+
this.basePath = '/purchases';
|
|
26
|
+
}
|
|
27
|
+
// ==========================================
|
|
28
|
+
// PUBLIC OPERATIONS (Project Key)
|
|
29
|
+
// ==========================================
|
|
30
|
+
/**
|
|
31
|
+
* PUBLIC: Get purchase tokens (Intelligent Access)
|
|
32
|
+
*
|
|
33
|
+
* RESTful endpoint: GET /purchases/tokens
|
|
34
|
+
* Replaces: GET /purchase/token
|
|
35
|
+
*
|
|
36
|
+
* INTELLIGENT ACCESS:
|
|
37
|
+
* - PUBLIC (Project Key): Returns active tokens only (active parameter ignored)
|
|
38
|
+
* - ADMIN (Tenant Admin JWT): Returns filtered results based on active parameter
|
|
39
|
+
*
|
|
40
|
+
* @param active Filter by active status
|
|
41
|
+
* @param options Pagination options (page, limit, sortBy, sortOrder)
|
|
42
|
+
* @returns Paginated response with purchase tokens
|
|
43
|
+
*/
|
|
44
|
+
async getPurchaseTokens(active, options) {
|
|
45
|
+
const params = paginationUtils.buildPaginationParams(options);
|
|
46
|
+
if (active !== undefined) {
|
|
47
|
+
params.append('active', String(active));
|
|
48
|
+
}
|
|
49
|
+
const response = await this.apiClient.get(`${this.basePath}/tokens?${params.toString()}`);
|
|
50
|
+
return paginationUtils.normalizeToPaginated(response);
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* PUBLIC: Get donation types
|
|
54
|
+
*
|
|
55
|
+
* RESTful endpoint: GET /purchases/donation-types
|
|
56
|
+
* Replaces: GET /purchase/donation/type
|
|
57
|
+
*
|
|
58
|
+
* @param options Pagination options (page, limit, sortBy, sortOrder)
|
|
59
|
+
* @returns Paginated response with donation types
|
|
60
|
+
*/
|
|
61
|
+
async getDonationTypes(options) {
|
|
62
|
+
const params = paginationUtils.buildPaginationParams(options);
|
|
63
|
+
const response = await this.apiClient.get(`${this.basePath}/donation-types?${params.toString()}`);
|
|
64
|
+
return paginationUtils.normalizeToPaginated(response);
|
|
65
|
+
}
|
|
66
|
+
// ==========================================
|
|
67
|
+
// PAYMENT OPERATIONS (FINANCIAL - CRITICAL)
|
|
68
|
+
// ==========================================
|
|
69
|
+
/**
|
|
70
|
+
* PUBLIC: Create payment intent (FINANCIAL OPERATION)
|
|
71
|
+
*
|
|
72
|
+
* RESTful endpoint: POST /purchases/payment-intents
|
|
73
|
+
* Replaces: POST /purchase/payment-intent
|
|
74
|
+
*
|
|
75
|
+
* CRITICAL: Handles real money operations - tenant context required
|
|
76
|
+
*/
|
|
77
|
+
async createPaymentIntent(amount, currency, receiptEmail, description) {
|
|
78
|
+
const body = {
|
|
79
|
+
amount,
|
|
80
|
+
currency,
|
|
81
|
+
receiptEmail,
|
|
82
|
+
description
|
|
83
|
+
};
|
|
84
|
+
return this.apiClient.post(`${this.basePath}/payment-intents`, body);
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* PUBLIC: Update payment intent (FINANCIAL OPERATION)
|
|
88
|
+
*
|
|
89
|
+
* RESTful endpoint: PUT /purchases/payment-intents/{paymentIntentId}
|
|
90
|
+
* Replaces: PUT /purchase/payment-intent/{paymentIntentId}
|
|
91
|
+
*
|
|
92
|
+
* CRITICAL: Handles real money operations - tenant context required
|
|
93
|
+
*/
|
|
94
|
+
async updatePaymentIntent(paymentIntentId, amount, currency, receiptEmail, description) {
|
|
95
|
+
const body = {
|
|
96
|
+
amount,
|
|
97
|
+
currency,
|
|
98
|
+
receiptEmail,
|
|
99
|
+
description
|
|
100
|
+
};
|
|
101
|
+
return this.apiClient.put(`${this.basePath}/payment-intents/${paymentIntentId}`, body);
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* PUBLIC: Cancel payment intent (FINANCIAL OPERATION)
|
|
105
|
+
*
|
|
106
|
+
* RESTful endpoint: DELETE /purchases/payment-intents/{paymentIntentId}
|
|
107
|
+
* Replaces: DELETE /purchase/payment-intent/{paymentIntentId}
|
|
108
|
+
*
|
|
109
|
+
* CRITICAL: Handles real money operations - tenant context required
|
|
110
|
+
*/
|
|
111
|
+
async cancelPaymentIntent(paymentIntentId) {
|
|
112
|
+
return this.apiClient.delete(`${this.basePath}/payment-intents/${paymentIntentId}`);
|
|
113
|
+
}
|
|
114
|
+
// ==========================================
|
|
115
|
+
// USER OPERATIONS (JWT + Project Key)
|
|
116
|
+
// ==========================================
|
|
117
|
+
/**
|
|
118
|
+
* USER: Create purchase (BUSINESS CRITICAL - FINANCIAL TRANSACTION)
|
|
119
|
+
*
|
|
120
|
+
* RESTful endpoint: POST /purchases
|
|
121
|
+
* Replaces: POST /purchase/auth
|
|
122
|
+
*
|
|
123
|
+
* USER-ONLY: Requires user authentication JWT for purchase creation
|
|
124
|
+
* CRITICAL: Real financial transaction with Stripe integration
|
|
125
|
+
*/
|
|
126
|
+
async createUserPurchase(paymentIntentId, amount, purchaseTokenId, donationTypeId, donationAccountAddress) {
|
|
127
|
+
const body = {
|
|
128
|
+
quantity: amount,
|
|
129
|
+
purchaseTokenId: purchaseTokenId || '',
|
|
130
|
+
donationTypeId,
|
|
131
|
+
donationAccountAddress,
|
|
132
|
+
paymentIntentId
|
|
133
|
+
};
|
|
134
|
+
return this.apiClient.post(`${this.basePath}`, body);
|
|
135
|
+
}
|
|
136
|
+
/**
|
|
137
|
+
* USER: Get user purchase history
|
|
138
|
+
*
|
|
139
|
+
* RESTful endpoint: GET /purchases/me/history
|
|
140
|
+
* Replaces: GET /purchase/auth
|
|
141
|
+
*
|
|
142
|
+
* USER-ONLY: Get authenticated user's purchase history
|
|
143
|
+
* FINANCIAL RECORDS: User attribution critical for compliance
|
|
144
|
+
*
|
|
145
|
+
* @param options - Pagination options (page, limit, sortBy, sortOrder)
|
|
146
|
+
* @returns Paginated response with purchase history
|
|
147
|
+
*/
|
|
148
|
+
async getUserPurchaseHistory(options) {
|
|
149
|
+
const params = paginationUtils.buildPaginationParams(options);
|
|
150
|
+
const response = await this.apiClient.get(`${this.basePath}/me/history?${params.toString()}`);
|
|
151
|
+
return paginationUtils.normalizeToPaginated(response);
|
|
152
|
+
}
|
|
153
|
+
}
|
|
6
154
|
|
|
155
|
+
/**
|
|
156
|
+
* Platform-Agnostic Payment Service
|
|
157
|
+
*
|
|
158
|
+
* Contains payment business logic and operations that work across platforms.
|
|
159
|
+
* No framework dependencies - pure TypeScript business logic.
|
|
160
|
+
*
|
|
161
|
+
* Focuses only on actual backend capabilities.
|
|
162
|
+
* Payment provider logic (Stripe, etc.) should remain in infrastructure layer.
|
|
163
|
+
*/
|
|
164
|
+
class PaymentService {
|
|
165
|
+
constructor(paymentApi) {
|
|
166
|
+
this.paymentApi = paymentApi;
|
|
167
|
+
}
|
|
168
|
+
// ==========================================
|
|
169
|
+
// PUBLIC OPERATIONS
|
|
170
|
+
// ==========================================
|
|
171
|
+
/**
|
|
172
|
+
* PUBLIC: Get active purchase tokens
|
|
173
|
+
*/
|
|
174
|
+
async getActivePurchaseTokens(active = true, options) {
|
|
175
|
+
return this.paymentApi.getPurchaseTokens(active, options);
|
|
176
|
+
}
|
|
177
|
+
/**
|
|
178
|
+
* PUBLIC: Create payment intent
|
|
179
|
+
*/
|
|
180
|
+
async createPaymentIntent(amount, currency, receiptEmail, description) {
|
|
181
|
+
return this.paymentApi.createPaymentIntent(amount, currency, receiptEmail, description);
|
|
182
|
+
}
|
|
183
|
+
/**
|
|
184
|
+
* PUBLIC: Update payment intent
|
|
185
|
+
*/
|
|
186
|
+
async updatePaymentIntent(paymentIntentId, amount, currency, receiptEmail, description) {
|
|
187
|
+
return this.paymentApi.updatePaymentIntent(paymentIntentId, amount, currency, receiptEmail, description);
|
|
188
|
+
}
|
|
189
|
+
/**
|
|
190
|
+
* PUBLIC: Cancel payment intent
|
|
191
|
+
*/
|
|
192
|
+
async cancelPaymentIntent(paymentIntentId) {
|
|
193
|
+
return this.paymentApi.cancelPaymentIntent(paymentIntentId);
|
|
194
|
+
}
|
|
195
|
+
// ==========================================
|
|
196
|
+
// AUTHENTICATED OPERATIONS
|
|
197
|
+
// ==========================================
|
|
198
|
+
/**
|
|
199
|
+
* AUTH: Create purchase
|
|
200
|
+
*/
|
|
201
|
+
async createPurchase(paymentIntentId, amount, purchaseTokenId, donationTypeId, donationAccountAddress) {
|
|
202
|
+
return this.paymentApi.createUserPurchase(paymentIntentId, amount, purchaseTokenId, donationTypeId, donationAccountAddress);
|
|
203
|
+
}
|
|
204
|
+
/**
|
|
205
|
+
* AUTH: Get all user purchases
|
|
206
|
+
*/
|
|
207
|
+
async getAllUserPurchases(options) {
|
|
208
|
+
return this.paymentApi.getUserPurchaseHistory(options);
|
|
209
|
+
}
|
|
210
|
+
}
|
|
7
211
|
|
|
8
|
-
exports.PaymentApi = paymentService.PurchaseApi;
|
|
9
|
-
exports.PaymentService = paymentService.PaymentService;
|
|
10
212
|
Object.defineProperty(exports, "AccountOwnerType", {
|
|
11
|
-
|
|
12
|
-
|
|
213
|
+
enumerable: true,
|
|
214
|
+
get: function () { return persShared.AccountOwnerType; }
|
|
13
215
|
});
|
|
14
216
|
Object.defineProperty(exports, "ApiKeyType", {
|
|
15
|
-
|
|
16
|
-
|
|
217
|
+
enumerable: true,
|
|
218
|
+
get: function () { return persShared.ApiKeyType; }
|
|
219
|
+
});
|
|
220
|
+
Object.defineProperty(exports, "MEMBERSHIP_ROLE_HIERARCHY", {
|
|
221
|
+
enumerable: true,
|
|
222
|
+
get: function () { return persShared.MEMBERSHIP_ROLE_HIERARCHY; }
|
|
223
|
+
});
|
|
224
|
+
Object.defineProperty(exports, "MembershipRole", {
|
|
225
|
+
enumerable: true,
|
|
226
|
+
get: function () { return persShared.MembershipRole; }
|
|
17
227
|
});
|
|
18
228
|
Object.defineProperty(exports, "NativeTokenTypes", {
|
|
19
|
-
|
|
20
|
-
|
|
229
|
+
enumerable: true,
|
|
230
|
+
get: function () { return persShared.NativeTokenTypes; }
|
|
231
|
+
});
|
|
232
|
+
Object.defineProperty(exports, "hasMinimumRole", {
|
|
233
|
+
enumerable: true,
|
|
234
|
+
get: function () { return persShared.hasMinimumRole; }
|
|
21
235
|
});
|
|
236
|
+
exports.PaymentApi = PurchaseApi;
|
|
237
|
+
exports.PaymentService = PaymentService;
|
|
22
238
|
//# sourceMappingURL=payment.cjs.map
|
package/dist/payment.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"payment.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"payment.cjs","sources":["../src/payment/api/payment-api.ts","../src/payment/services/payment-service.ts"],"sourcesContent":[null,null],"names":["buildPaginationParams","normalizeToPaginated"],"mappings":"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"}
|
package/dist/payment.js
CHANGED
|
@@ -1,3 +1,211 @@
|
|
|
1
|
-
export {
|
|
2
|
-
|
|
1
|
+
export { AccountOwnerType, ApiKeyType, MEMBERSHIP_ROLE_HIERARCHY, MembershipRole, NativeTokenTypes, hasMinimumRole } from '@explorins/pers-shared';
|
|
2
|
+
import { b as buildPaginationParams, n as normalizeToPaginated } from './chunks/pagination-utils-9vQ-Npkr.js';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Platform-Agnostic Purchase API Client (RESTful Architecture)
|
|
6
|
+
*
|
|
7
|
+
* Handles purchase and payment operations using the PERS backend's new RESTful endpoints.
|
|
8
|
+
* Uses @explorins/pers-shared DTOs for consistency with backend.
|
|
9
|
+
*
|
|
10
|
+
* Migration Status: Updated to match /purchases controller (replaces /purchase endpoints)
|
|
11
|
+
*
|
|
12
|
+
* Available Access Levels:
|
|
13
|
+
* - PUBLIC: Project key authentication for catalog browsing and payment operations
|
|
14
|
+
* - USER: Requires user authentication JWT (purchase creation, history access)
|
|
15
|
+
* - ADMIN: Requires tenant admin privileges (not implemented in this client)
|
|
16
|
+
*
|
|
17
|
+
* Note: This SDK focuses on backend purchase operations only.
|
|
18
|
+
* Payment provider integrations (Stripe, etc.) should remain in infrastructure layer.
|
|
19
|
+
*/
|
|
20
|
+
class PurchaseApi {
|
|
21
|
+
constructor(apiClient) {
|
|
22
|
+
this.apiClient = apiClient;
|
|
23
|
+
this.basePath = '/purchases';
|
|
24
|
+
}
|
|
25
|
+
// ==========================================
|
|
26
|
+
// PUBLIC OPERATIONS (Project Key)
|
|
27
|
+
// ==========================================
|
|
28
|
+
/**
|
|
29
|
+
* PUBLIC: Get purchase tokens (Intelligent Access)
|
|
30
|
+
*
|
|
31
|
+
* RESTful endpoint: GET /purchases/tokens
|
|
32
|
+
* Replaces: GET /purchase/token
|
|
33
|
+
*
|
|
34
|
+
* INTELLIGENT ACCESS:
|
|
35
|
+
* - PUBLIC (Project Key): Returns active tokens only (active parameter ignored)
|
|
36
|
+
* - ADMIN (Tenant Admin JWT): Returns filtered results based on active parameter
|
|
37
|
+
*
|
|
38
|
+
* @param active Filter by active status
|
|
39
|
+
* @param options Pagination options (page, limit, sortBy, sortOrder)
|
|
40
|
+
* @returns Paginated response with purchase tokens
|
|
41
|
+
*/
|
|
42
|
+
async getPurchaseTokens(active, options) {
|
|
43
|
+
const params = buildPaginationParams(options);
|
|
44
|
+
if (active !== undefined) {
|
|
45
|
+
params.append('active', String(active));
|
|
46
|
+
}
|
|
47
|
+
const response = await this.apiClient.get(`${this.basePath}/tokens?${params.toString()}`);
|
|
48
|
+
return normalizeToPaginated(response);
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* PUBLIC: Get donation types
|
|
52
|
+
*
|
|
53
|
+
* RESTful endpoint: GET /purchases/donation-types
|
|
54
|
+
* Replaces: GET /purchase/donation/type
|
|
55
|
+
*
|
|
56
|
+
* @param options Pagination options (page, limit, sortBy, sortOrder)
|
|
57
|
+
* @returns Paginated response with donation types
|
|
58
|
+
*/
|
|
59
|
+
async getDonationTypes(options) {
|
|
60
|
+
const params = buildPaginationParams(options);
|
|
61
|
+
const response = await this.apiClient.get(`${this.basePath}/donation-types?${params.toString()}`);
|
|
62
|
+
return normalizeToPaginated(response);
|
|
63
|
+
}
|
|
64
|
+
// ==========================================
|
|
65
|
+
// PAYMENT OPERATIONS (FINANCIAL - CRITICAL)
|
|
66
|
+
// ==========================================
|
|
67
|
+
/**
|
|
68
|
+
* PUBLIC: Create payment intent (FINANCIAL OPERATION)
|
|
69
|
+
*
|
|
70
|
+
* RESTful endpoint: POST /purchases/payment-intents
|
|
71
|
+
* Replaces: POST /purchase/payment-intent
|
|
72
|
+
*
|
|
73
|
+
* CRITICAL: Handles real money operations - tenant context required
|
|
74
|
+
*/
|
|
75
|
+
async createPaymentIntent(amount, currency, receiptEmail, description) {
|
|
76
|
+
const body = {
|
|
77
|
+
amount,
|
|
78
|
+
currency,
|
|
79
|
+
receiptEmail,
|
|
80
|
+
description
|
|
81
|
+
};
|
|
82
|
+
return this.apiClient.post(`${this.basePath}/payment-intents`, body);
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* PUBLIC: Update payment intent (FINANCIAL OPERATION)
|
|
86
|
+
*
|
|
87
|
+
* RESTful endpoint: PUT /purchases/payment-intents/{paymentIntentId}
|
|
88
|
+
* Replaces: PUT /purchase/payment-intent/{paymentIntentId}
|
|
89
|
+
*
|
|
90
|
+
* CRITICAL: Handles real money operations - tenant context required
|
|
91
|
+
*/
|
|
92
|
+
async updatePaymentIntent(paymentIntentId, amount, currency, receiptEmail, description) {
|
|
93
|
+
const body = {
|
|
94
|
+
amount,
|
|
95
|
+
currency,
|
|
96
|
+
receiptEmail,
|
|
97
|
+
description
|
|
98
|
+
};
|
|
99
|
+
return this.apiClient.put(`${this.basePath}/payment-intents/${paymentIntentId}`, body);
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* PUBLIC: Cancel payment intent (FINANCIAL OPERATION)
|
|
103
|
+
*
|
|
104
|
+
* RESTful endpoint: DELETE /purchases/payment-intents/{paymentIntentId}
|
|
105
|
+
* Replaces: DELETE /purchase/payment-intent/{paymentIntentId}
|
|
106
|
+
*
|
|
107
|
+
* CRITICAL: Handles real money operations - tenant context required
|
|
108
|
+
*/
|
|
109
|
+
async cancelPaymentIntent(paymentIntentId) {
|
|
110
|
+
return this.apiClient.delete(`${this.basePath}/payment-intents/${paymentIntentId}`);
|
|
111
|
+
}
|
|
112
|
+
// ==========================================
|
|
113
|
+
// USER OPERATIONS (JWT + Project Key)
|
|
114
|
+
// ==========================================
|
|
115
|
+
/**
|
|
116
|
+
* USER: Create purchase (BUSINESS CRITICAL - FINANCIAL TRANSACTION)
|
|
117
|
+
*
|
|
118
|
+
* RESTful endpoint: POST /purchases
|
|
119
|
+
* Replaces: POST /purchase/auth
|
|
120
|
+
*
|
|
121
|
+
* USER-ONLY: Requires user authentication JWT for purchase creation
|
|
122
|
+
* CRITICAL: Real financial transaction with Stripe integration
|
|
123
|
+
*/
|
|
124
|
+
async createUserPurchase(paymentIntentId, amount, purchaseTokenId, donationTypeId, donationAccountAddress) {
|
|
125
|
+
const body = {
|
|
126
|
+
quantity: amount,
|
|
127
|
+
purchaseTokenId: purchaseTokenId || '',
|
|
128
|
+
donationTypeId,
|
|
129
|
+
donationAccountAddress,
|
|
130
|
+
paymentIntentId
|
|
131
|
+
};
|
|
132
|
+
return this.apiClient.post(`${this.basePath}`, body);
|
|
133
|
+
}
|
|
134
|
+
/**
|
|
135
|
+
* USER: Get user purchase history
|
|
136
|
+
*
|
|
137
|
+
* RESTful endpoint: GET /purchases/me/history
|
|
138
|
+
* Replaces: GET /purchase/auth
|
|
139
|
+
*
|
|
140
|
+
* USER-ONLY: Get authenticated user's purchase history
|
|
141
|
+
* FINANCIAL RECORDS: User attribution critical for compliance
|
|
142
|
+
*
|
|
143
|
+
* @param options - Pagination options (page, limit, sortBy, sortOrder)
|
|
144
|
+
* @returns Paginated response with purchase history
|
|
145
|
+
*/
|
|
146
|
+
async getUserPurchaseHistory(options) {
|
|
147
|
+
const params = buildPaginationParams(options);
|
|
148
|
+
const response = await this.apiClient.get(`${this.basePath}/me/history?${params.toString()}`);
|
|
149
|
+
return normalizeToPaginated(response);
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
/**
|
|
154
|
+
* Platform-Agnostic Payment Service
|
|
155
|
+
*
|
|
156
|
+
* Contains payment business logic and operations that work across platforms.
|
|
157
|
+
* No framework dependencies - pure TypeScript business logic.
|
|
158
|
+
*
|
|
159
|
+
* Focuses only on actual backend capabilities.
|
|
160
|
+
* Payment provider logic (Stripe, etc.) should remain in infrastructure layer.
|
|
161
|
+
*/
|
|
162
|
+
class PaymentService {
|
|
163
|
+
constructor(paymentApi) {
|
|
164
|
+
this.paymentApi = paymentApi;
|
|
165
|
+
}
|
|
166
|
+
// ==========================================
|
|
167
|
+
// PUBLIC OPERATIONS
|
|
168
|
+
// ==========================================
|
|
169
|
+
/**
|
|
170
|
+
* PUBLIC: Get active purchase tokens
|
|
171
|
+
*/
|
|
172
|
+
async getActivePurchaseTokens(active = true, options) {
|
|
173
|
+
return this.paymentApi.getPurchaseTokens(active, options);
|
|
174
|
+
}
|
|
175
|
+
/**
|
|
176
|
+
* PUBLIC: Create payment intent
|
|
177
|
+
*/
|
|
178
|
+
async createPaymentIntent(amount, currency, receiptEmail, description) {
|
|
179
|
+
return this.paymentApi.createPaymentIntent(amount, currency, receiptEmail, description);
|
|
180
|
+
}
|
|
181
|
+
/**
|
|
182
|
+
* PUBLIC: Update payment intent
|
|
183
|
+
*/
|
|
184
|
+
async updatePaymentIntent(paymentIntentId, amount, currency, receiptEmail, description) {
|
|
185
|
+
return this.paymentApi.updatePaymentIntent(paymentIntentId, amount, currency, receiptEmail, description);
|
|
186
|
+
}
|
|
187
|
+
/**
|
|
188
|
+
* PUBLIC: Cancel payment intent
|
|
189
|
+
*/
|
|
190
|
+
async cancelPaymentIntent(paymentIntentId) {
|
|
191
|
+
return this.paymentApi.cancelPaymentIntent(paymentIntentId);
|
|
192
|
+
}
|
|
193
|
+
// ==========================================
|
|
194
|
+
// AUTHENTICATED OPERATIONS
|
|
195
|
+
// ==========================================
|
|
196
|
+
/**
|
|
197
|
+
* AUTH: Create purchase
|
|
198
|
+
*/
|
|
199
|
+
async createPurchase(paymentIntentId, amount, purchaseTokenId, donationTypeId, donationAccountAddress) {
|
|
200
|
+
return this.paymentApi.createUserPurchase(paymentIntentId, amount, purchaseTokenId, donationTypeId, donationAccountAddress);
|
|
201
|
+
}
|
|
202
|
+
/**
|
|
203
|
+
* AUTH: Get all user purchases
|
|
204
|
+
*/
|
|
205
|
+
async getAllUserPurchases(options) {
|
|
206
|
+
return this.paymentApi.getUserPurchaseHistory(options);
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
|
|
210
|
+
export { PurchaseApi as PaymentApi, PaymentService };
|
|
3
211
|
//# sourceMappingURL=payment.js.map
|
package/dist/payment.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"payment.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
|
|
1
|
+
{"version":3,"file":"payment.js","sources":["../src/payment/api/payment-api.ts","../src/payment/services/payment-service.ts"],"sourcesContent":[null,null],"names":[],"mappings":"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"}
|
package/dist/pers-sdk.d.ts
CHANGED
|
@@ -167,6 +167,7 @@
|
|
|
167
167
|
import { HttpClient } from './core/abstractions/http-client';
|
|
168
168
|
import { PersConfig } from './core/pers-config';
|
|
169
169
|
import { PersApiClient } from './core/pers-api-client';
|
|
170
|
+
import { PersEventEmitter } from './core/events';
|
|
170
171
|
import { AuthManager, UserManager, UserStatusManager, TokenManager, BusinessManager, CampaignManager, RedemptionManager, TransactionManager, PurchaseManager, FileManager, TenantManager, ApiKeyManager, AnalyticsManager, DonationManager, Web3Manager } from './managers';
|
|
171
172
|
/**
|
|
172
173
|
* PERS SDK - Main SDK class with domain managers
|
|
@@ -227,6 +228,7 @@ import { AuthManager, UserManager, UserStatusManager, TokenManager, BusinessMana
|
|
|
227
228
|
*/
|
|
228
229
|
export declare class PersSDK {
|
|
229
230
|
private apiClient;
|
|
231
|
+
private _events;
|
|
230
232
|
private _auth;
|
|
231
233
|
private _users;
|
|
232
234
|
private _userStatus;
|
|
@@ -285,6 +287,53 @@ export declare class PersSDK {
|
|
|
285
287
|
* ```
|
|
286
288
|
*/
|
|
287
289
|
constructor(httpClient: HttpClient, config: PersConfig);
|
|
290
|
+
/**
|
|
291
|
+
* Event emitter - Subscribe to SDK-wide events
|
|
292
|
+
*
|
|
293
|
+
* Provides a platform-agnostic event system for subscribing to transaction,
|
|
294
|
+
* authentication, campaign, and system events. Use this to display
|
|
295
|
+
* notifications, update UI, or trigger side effects in your application.
|
|
296
|
+
*
|
|
297
|
+
* All events have a `userMessage` field ready for display.
|
|
298
|
+
*
|
|
299
|
+
* @returns PersEventEmitter instance
|
|
300
|
+
*
|
|
301
|
+
* @example Basic Usage - Show All Notifications
|
|
302
|
+
* ```typescript
|
|
303
|
+
* const unsubscribe = sdk.events.subscribe((event) => {
|
|
304
|
+
* // userMessage is always present and UI-ready
|
|
305
|
+
* showNotification(event.userMessage, event.level);
|
|
306
|
+
* });
|
|
307
|
+
*
|
|
308
|
+
* // Later: cleanup
|
|
309
|
+
* unsubscribe();
|
|
310
|
+
* ```
|
|
311
|
+
*
|
|
312
|
+
* @example Filter by Domain and Level
|
|
313
|
+
* ```typescript
|
|
314
|
+
* sdk.events.subscribe((event) => {
|
|
315
|
+
* if (event.level === 'success' && event.domain === 'transaction') {
|
|
316
|
+
* playSuccessSound();
|
|
317
|
+
* confetti();
|
|
318
|
+
* }
|
|
319
|
+
*
|
|
320
|
+
* if (event.level === 'error') {
|
|
321
|
+
* logToSentry(event);
|
|
322
|
+
* }
|
|
323
|
+
* });
|
|
324
|
+
* ```
|
|
325
|
+
*
|
|
326
|
+
* @example One-time Event
|
|
327
|
+
* ```typescript
|
|
328
|
+
* // Auto-unsubscribe after first event
|
|
329
|
+
* sdk.events.once((event) => {
|
|
330
|
+
* console.log('First event received:', event.type);
|
|
331
|
+
* });
|
|
332
|
+
* ```
|
|
333
|
+
*
|
|
334
|
+
* @see {@link PersEventEmitter} for detailed documentation
|
|
335
|
+
*/
|
|
336
|
+
get events(): PersEventEmitter;
|
|
288
337
|
/**
|
|
289
338
|
* Authentication manager - High-level authentication operations
|
|
290
339
|
*
|
package/dist/pers-sdk.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pers-sdk.d.ts","sourceRoot":"","sources":["../src/pers-sdk.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6JG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EACL,WAAW,EACX,WAAW,EACX,iBAAiB,EACjB,YAAY,EACZ,eAAe,EACf,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,EACf,WAAW,EACX,aAAa,EACb,aAAa,EACb,gBAAgB,EAChB,eAAe,EACf,WAAW,EACZ,MAAM,YAAY,CAAC;AACpB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwDG;AACH,qBAAa,OAAO;IAClB,OAAO,CAAC,SAAS,CAAgB;IACjC,OAAO,CAAC,KAAK,CAAc;IAC3B,OAAO,CAAC,MAAM,CAAc;IAC5B,OAAO,CAAC,WAAW,CAAoB;IACvC,OAAO,CAAC,OAAO,CAAe;IAC9B,OAAO,CAAC,WAAW,CAAkB;IACrC,OAAO,CAAC,UAAU,CAAkB;IACpC,OAAO,CAAC,YAAY,CAAoB;IACxC,OAAO,CAAC,aAAa,CAAqB;IAC1C,OAAO,CAAC,UAAU,CAAkB;IACpC,OAAO,CAAC,MAAM,CAAc;IAC5B,OAAO,CAAC,QAAQ,CAAgB;IAChC,OAAO,CAAC,QAAQ,CAAgB;IAChC,OAAO,CAAC,UAAU,CAAmB;IACrC,OAAO,CAAC,UAAU,CAAkB;IACpC,OAAO,CAAC,KAAK,CAAc;IAE3B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAyCG;gBACS,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU;
|
|
1
|
+
{"version":3,"file":"pers-sdk.d.ts","sourceRoot":"","sources":["../src/pers-sdk.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { TokenUnitCreateRequestDTO, RedemptionTypeCreateRequestDTO } from '../../shared/interfaces/pers-shared-lib.interfaces';
|
|
2
2
|
import { PersApiClient } from '../../core/pers-api-client';
|
|
3
3
|
import { RedemptionDTO, RedemptionCreateRequestDTO, RedemptionTypeDTO, RedemptionRedeemDTO, RedemptionRedeemRequestResponseDTO } from '../../shared/interfaces/pers-shared-lib.interfaces';
|
|
4
|
+
import { PaginatedResponseDTO } from '@explorins/pers-shared';
|
|
5
|
+
import { PaginationOptions } from '../../shared';
|
|
4
6
|
/**
|
|
5
7
|
* Platform-Agnostic Redemption API Client (UPDATED - RESTful Design)
|
|
6
8
|
*
|
|
@@ -27,17 +29,24 @@ export declare class RedemptionApi {
|
|
|
27
29
|
*
|
|
28
30
|
* @param options.active - Filter by active status (undefined = all for admins/active for public)
|
|
29
31
|
* @param options.adminAccess - Force admin access (requires admin auth)
|
|
32
|
+
* @param options.page - Page number (default: 1)
|
|
33
|
+
* @param options.limit - Items per page (default: 50)
|
|
34
|
+
* @param options.sortBy - Sort field
|
|
35
|
+
* @param options.sortOrder - Sort order (asc/desc)
|
|
36
|
+
* @returns Paginated response with redemptions
|
|
30
37
|
*/
|
|
31
38
|
getRedemptions(options?: {
|
|
32
39
|
active?: boolean;
|
|
33
40
|
adminAccess?: boolean;
|
|
34
|
-
}): Promise<RedemptionDTO
|
|
41
|
+
} & PaginationOptions): Promise<PaginatedResponseDTO<RedemptionDTO>>;
|
|
35
42
|
/**
|
|
36
43
|
* PUBLIC: Get redemption types
|
|
37
44
|
*
|
|
38
45
|
* Updated: /redemption/type → /redemption-types
|
|
46
|
+
* @param options Pagination options (page, limit, sortBy, sortOrder)
|
|
47
|
+
* @returns Paginated response with redemption types
|
|
39
48
|
*/
|
|
40
|
-
getRedemptionTypes(): Promise<RedemptionTypeDTO
|
|
49
|
+
getRedemptionTypes(options?: PaginationOptions): Promise<PaginatedResponseDTO<RedemptionTypeDTO>>;
|
|
41
50
|
/**
|
|
42
51
|
* PUBLIC: Get redemption by ID
|
|
43
52
|
*
|
|
@@ -70,13 +79,18 @@ export declare class RedemptionApi {
|
|
|
70
79
|
* @param filters.userId - Admin only: Filter by user ID
|
|
71
80
|
* @param filters.businessId - Admin only: Filter by business ID
|
|
72
81
|
* @param filters.myRedeems - Force user's own redeems (uses /me endpoint)
|
|
82
|
+
* @param filters.page - Page number (default: 1)
|
|
83
|
+
* @param filters.limit - Items per page (default: 50)
|
|
84
|
+
* @param filters.sortBy - Sort field
|
|
85
|
+
* @param filters.sortOrder - Sort order (asc/desc)
|
|
86
|
+
* @returns Paginated response with redemption redeems
|
|
73
87
|
*/
|
|
74
88
|
getRedemptionRedeems(filters?: {
|
|
75
89
|
redemptionId?: string;
|
|
76
90
|
userId?: string;
|
|
77
91
|
businessId?: string;
|
|
78
92
|
myRedeems?: boolean;
|
|
79
|
-
}): Promise<RedemptionRedeemDTO
|
|
93
|
+
} & PaginationOptions): Promise<PaginatedResponseDTO<RedemptionRedeemDTO>>;
|
|
80
94
|
/**
|
|
81
95
|
* UNIFIED: Get specific redemption redeem by ID
|
|
82
96
|
*/
|
|
@@ -86,15 +100,10 @@ export declare class RedemptionApi {
|
|
|
86
100
|
*
|
|
87
101
|
* Uses convenience endpoint /redemption-redeems/me with optional filtering
|
|
88
102
|
* @param redemptionId - Optional filter by specific redemption
|
|
103
|
+
* @param options - Pagination options (page, limit, sortBy, sortOrder)
|
|
104
|
+
* @returns Paginated response with user's redemption redeems
|
|
89
105
|
*/
|
|
90
|
-
getUserRedeems(redemptionId?: string): Promise<RedemptionRedeemDTO
|
|
91
|
-
/**
|
|
92
|
-
* ADMIN: Get redemptions with filtering (using intelligent endpoint)
|
|
93
|
-
*
|
|
94
|
-
* Updated: /redemption/admin → /redemptions (intelligent access detection)
|
|
95
|
-
* The unified endpoint will detect admin privileges and allow filtering
|
|
96
|
-
*/
|
|
97
|
-
getRedemptionsAsAdmin(active?: boolean): Promise<RedemptionDTO[]>;
|
|
106
|
+
getUserRedeems(redemptionId?: string, options?: PaginationOptions): Promise<PaginatedResponseDTO<RedemptionRedeemDTO>>;
|
|
98
107
|
/**
|
|
99
108
|
* ADMIN: Create redemption
|
|
100
109
|
*
|
|
@@ -146,6 +155,8 @@ export declare class RedemptionApi {
|
|
|
146
155
|
deleteRedemptionTokenUnit(redemptionId: string, redemptionTokenUnitId: string): Promise<RedemptionDTO>;
|
|
147
156
|
/**
|
|
148
157
|
* Convenience: Get active redemptions (public access)
|
|
158
|
+
*
|
|
159
|
+
* @deprecated Use getRedemptions({ active: true }) instead for paginated results
|
|
149
160
|
*/
|
|
150
161
|
getActiveRedemptions(): Promise<RedemptionDTO[]>;
|
|
151
162
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"redemption-api.d.ts","sourceRoot":"","sources":["../../../src/redemption/api/redemption-api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,8BAA8B,EAAE,MAAM,oDAAoD,CAAC;AAC/H,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EACL,aAAa,EACb,0BAA0B,EAE1B,iBAAiB,EACjB,mBAAmB,EACnB,kCAAkC,EACnC,MAAM,oDAAoD,CAAC;
|
|
1
|
+
{"version":3,"file":"redemption-api.d.ts","sourceRoot":"","sources":["../../../src/redemption/api/redemption-api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,8BAA8B,EAAE,MAAM,oDAAoD,CAAC;AAC/H,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EACL,aAAa,EACb,0BAA0B,EAE1B,iBAAiB,EACjB,mBAAmB,EACnB,kCAAkC,EACnC,MAAM,oDAAoD,CAAC;AAC5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAA6D,MAAM,cAAc,CAAC;AAE5G;;;;;;;;;;;GAWG;AACH,qBAAa,aAAa;IACZ,OAAO,CAAC,SAAS;gBAAT,SAAS,EAAE,aAAa;IAE5C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAkB;IAC3C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAwB;IAMlD;;;;;;;;;;;;;;OAcG;IACG,cAAc,CAAC,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,OAAO,CAAC;QAAC,WAAW,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,iBAAiB,GAAG,OAAO,CAAC,oBAAoB,CAAC,aAAa,CAAC,CAAC;IAW7I;;;;;;OAMG;IACG,kBAAkB,CAAC,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,CAAC;IAMvG;;;;OAIG;IACG,iBAAiB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAI3D;;;;OAIG;IACG,4BAA4B,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAS/D;;;;;;;OAOG;IACG,gBAAgB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,kCAAkC,CAAC;IAWzF;;;;;;;;;;;;;;;;OAgBG;IACG,oBAAoB,CAAC,OAAO,CAAC,EAAE;QACnC,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,SAAS,CAAC,EAAE,OAAO,CAAC;KACrB,GAAG,iBAAiB,GAAG,OAAO,CAAC,oBAAoB,CAAC,mBAAmB,CAAC,CAAC;IAwB1E;;OAEG;IACG,uBAAuB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAQvE;;;;;;;OAOG;IACG,cAAc,CAAC,YAAY,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,oBAAoB,CAAC,mBAAmB,CAAC,CAAC;IAQ5H;;;;OAIG;IACG,gBAAgB,CAAC,UAAU,EAAE,0BAA0B,GAAG,OAAO,CAAC,aAAa,CAAC;IAItF;;;;OAIG;IACG,gBAAgB,CAAC,EAAE,EAAE,MAAM,EAAE,uBAAuB,EAAE,0BAA0B,GAAG,OAAO,CAAC,aAAa,CAAC;IAI/G;;;;;OAKG;IACG,sBAAsB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAI1E;;;;OAIG;IACG,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAIpD;;;;OAIG;IACG,oBAAoB,CAAC,cAAc,EAAE,8BAA8B,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAQtG;;;;OAIG;IACG,yBAAyB,CAAC,YAAY,EAAE,MAAM,EAAE,mBAAmB,EAAE,yBAAyB,GAAG,OAAO,CAAC,aAAa,CAAC;IAI7H;;;;OAIG;IACG,yBAAyB,CAAC,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,mBAAmB,EAAE,yBAAyB,GAAG,OAAO,CAAC,aAAa,CAAC;IAIlJ;;;;OAIG;IACG,yBAAyB,CAAC,YAAY,EAAE,MAAM,EAAE,qBAAqB,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAQ5G;;;;OAIG;IACG,oBAAoB,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;CAIvD"}
|