@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.
Files changed (244) hide show
  1. package/README.md +288 -0
  2. package/dist/analytics.cjs +12 -0
  3. package/dist/analytics.cjs.map +1 -1
  4. package/dist/analytics.js +1 -1
  5. package/dist/api-key/api/api-key-api.d.ts +5 -2
  6. package/dist/api-key/api/api-key-api.d.ts.map +1 -1
  7. package/dist/business/api/business-api.d.ts +30 -11
  8. package/dist/business/api/business-api.d.ts.map +1 -1
  9. package/dist/business/api/business-membership-api.d.ts +205 -0
  10. package/dist/business/api/business-membership-api.d.ts.map +1 -0
  11. package/dist/business/index.d.ts +2 -0
  12. package/dist/business/index.d.ts.map +1 -1
  13. package/dist/business/services/business-membership-service.d.ts +180 -0
  14. package/dist/business/services/business-membership-service.d.ts.map +1 -0
  15. package/dist/business/services/business-service.d.ts +11 -7
  16. package/dist/business/services/business-service.d.ts.map +1 -1
  17. package/dist/business.cjs +767 -9
  18. package/dist/business.cjs.map +1 -1
  19. package/dist/business.js +751 -2
  20. package/dist/business.js.map +1 -1
  21. package/dist/campaign/api/campaign-api.d.ts +56 -22
  22. package/dist/campaign/api/campaign-api.d.ts.map +1 -1
  23. package/dist/campaign/services/campaign-service.d.ts +28 -16
  24. package/dist/campaign/services/campaign-service.d.ts.map +1 -1
  25. package/dist/campaign.cjs +14 -1
  26. package/dist/campaign.cjs.map +1 -1
  27. package/dist/campaign.js +3 -2
  28. package/dist/campaign.js.map +1 -1
  29. package/dist/chunks/{base-token-service-BSXDwrcq.js → base-token-service-DsD6lSdq.js} +2 -48
  30. package/dist/chunks/base-token-service-DsD6lSdq.js.map +1 -0
  31. package/dist/chunks/{base-token-service-CYuqPPs0.cjs → base-token-service-_64IWVES.cjs} +2 -48
  32. package/dist/chunks/base-token-service-_64IWVES.cjs.map +1 -0
  33. package/dist/chunks/{campaign-service-B1tQMNqA.cjs → campaign-service-Ae164xl8.cjs} +102 -84
  34. package/dist/chunks/campaign-service-Ae164xl8.cjs.map +1 -0
  35. package/dist/chunks/{campaign-service-CJPXgFBe.js → campaign-service-rlK4WeSY.js} +102 -84
  36. package/dist/chunks/campaign-service-rlK4WeSY.js.map +1 -0
  37. package/dist/chunks/{donation-service-D-xFrONi.cjs → donation-service--6cnTvWq.cjs} +9 -5
  38. package/dist/chunks/donation-service--6cnTvWq.cjs.map +1 -0
  39. package/dist/chunks/{donation-service-CyJS4DIZ.js → donation-service-xiXZ2Eto.js} +9 -5
  40. package/dist/chunks/donation-service-xiXZ2Eto.js.map +1 -0
  41. package/dist/chunks/pagination-utils-9vQ-Npkr.js +166 -0
  42. package/dist/chunks/pagination-utils-9vQ-Npkr.js.map +1 -0
  43. package/dist/chunks/pagination-utils-B2jRHMSO.cjs +173 -0
  44. package/dist/chunks/pagination-utils-B2jRHMSO.cjs.map +1 -0
  45. package/dist/chunks/{pers-sdk-DzS7mkm7.cjs → pers-sdk-CrffRkya.cjs} +1096 -323
  46. package/dist/chunks/pers-sdk-CrffRkya.cjs.map +1 -0
  47. package/dist/chunks/{pers-sdk-VGEG59g3.js → pers-sdk-omI-Fl0m.js} +1086 -317
  48. package/dist/chunks/pers-sdk-omI-Fl0m.js.map +1 -0
  49. package/dist/chunks/{token-service-CpVwC5Eb.js → token-service-Bfj6C0yz.js} +62 -30
  50. package/dist/chunks/token-service-Bfj6C0yz.js.map +1 -0
  51. package/dist/chunks/{token-service-BWScn8Qa.cjs → token-service-BlbXrxnS.cjs} +62 -30
  52. package/dist/chunks/token-service-BlbXrxnS.cjs.map +1 -0
  53. package/dist/chunks/transaction-request.builder-DltmruUC.js +296 -0
  54. package/dist/chunks/transaction-request.builder-DltmruUC.js.map +1 -0
  55. package/dist/chunks/transaction-request.builder-DrqTWcyC.cjs +303 -0
  56. package/dist/chunks/transaction-request.builder-DrqTWcyC.cjs.map +1 -0
  57. package/dist/chunks/{transaction-service-CXjTHCFu.cjs → transaction-service-BcJfyCcq.cjs} +68 -31
  58. package/dist/chunks/transaction-service-BcJfyCcq.cjs.map +1 -0
  59. package/dist/chunks/{transaction-service-B7h_4Hg3.js → transaction-service-CnOD3scu.js} +68 -31
  60. package/dist/chunks/transaction-service-CnOD3scu.js.map +1 -0
  61. package/dist/chunks/{user-service-D6mTa_WZ.js → user-service-BGP3SZpk.js} +82 -20
  62. package/dist/chunks/user-service-BGP3SZpk.js.map +1 -0
  63. package/dist/chunks/{user-service-D1Rn4U8u.cjs → user-service-gITOx4qj.cjs} +82 -20
  64. package/dist/chunks/user-service-gITOx4qj.cjs.map +1 -0
  65. package/dist/chunks/{web3-chain-service-BLFxB5TA.cjs → web3-chain-service-6vsVHPjl.cjs} +116 -16
  66. package/dist/chunks/web3-chain-service-6vsVHPjl.cjs.map +1 -0
  67. package/dist/chunks/{web3-chain-service-JRSwxr-s.js → web3-chain-service-BcUeeujC.js} +111 -17
  68. package/dist/chunks/web3-chain-service-BcUeeujC.js.map +1 -0
  69. package/dist/core/auth/api/auth-api.d.ts +35 -0
  70. package/dist/core/auth/api/auth-api.d.ts.map +1 -1
  71. package/dist/core/auth/auth-provider.interface.d.ts +7 -1
  72. package/dist/core/auth/auth-provider.interface.d.ts.map +1 -1
  73. package/dist/core/auth/services/auth-service.d.ts +26 -1
  74. package/dist/core/auth/services/auth-service.d.ts.map +1 -1
  75. package/dist/core/auth/token-storage.d.ts +3 -2
  76. package/dist/core/auth/token-storage.d.ts.map +1 -1
  77. package/dist/core/errors/index.d.ts +75 -6
  78. package/dist/core/errors/index.d.ts.map +1 -1
  79. package/dist/core/events/event-emitter.d.ts +106 -0
  80. package/dist/core/events/event-emitter.d.ts.map +1 -0
  81. package/dist/core/events/event-types.d.ts +127 -0
  82. package/dist/core/events/event-types.d.ts.map +1 -0
  83. package/dist/core/events/index.d.ts +22 -0
  84. package/dist/core/events/index.d.ts.map +1 -0
  85. package/dist/core/index.d.ts +3 -0
  86. package/dist/core/index.d.ts.map +1 -1
  87. package/dist/core/pers-api-client.d.ts +12 -0
  88. package/dist/core/pers-api-client.d.ts.map +1 -1
  89. package/dist/core/version.d.ts +15 -0
  90. package/dist/core/version.d.ts.map +1 -0
  91. package/dist/core.cjs +26 -12
  92. package/dist/core.cjs.map +1 -1
  93. package/dist/core.js +13 -12
  94. package/dist/core.js.map +1 -1
  95. package/dist/donation/api/donation-api.d.ts +3 -1
  96. package/dist/donation/api/donation-api.d.ts.map +1 -1
  97. package/dist/donation/services/donation-service.d.ts +3 -1
  98. package/dist/donation/services/donation-service.d.ts.map +1 -1
  99. package/dist/donation.cjs +14 -1
  100. package/dist/donation.cjs.map +1 -1
  101. package/dist/donation.js +3 -2
  102. package/dist/donation.js.map +1 -1
  103. package/dist/index.cjs +63 -22
  104. package/dist/index.cjs.map +1 -1
  105. package/dist/index.js +15 -13
  106. package/dist/index.js.map +1 -1
  107. package/dist/managers/analytics-manager.d.ts +9 -9
  108. package/dist/managers/api-key-manager.d.ts +8 -6
  109. package/dist/managers/api-key-manager.d.ts.map +1 -1
  110. package/dist/managers/auth-manager.d.ts +77 -4
  111. package/dist/managers/auth-manager.d.ts.map +1 -1
  112. package/dist/managers/business-manager.d.ts +198 -8
  113. package/dist/managers/business-manager.d.ts.map +1 -1
  114. package/dist/managers/campaign-manager.d.ts +67 -83
  115. package/dist/managers/campaign-manager.d.ts.map +1 -1
  116. package/dist/managers/donation-manager.d.ts +4 -2
  117. package/dist/managers/donation-manager.d.ts.map +1 -1
  118. package/dist/managers/file-manager.d.ts +2 -2
  119. package/dist/managers/purchase-manager.d.ts +26 -24
  120. package/dist/managers/purchase-manager.d.ts.map +1 -1
  121. package/dist/managers/redemption-manager.d.ts +106 -92
  122. package/dist/managers/redemption-manager.d.ts.map +1 -1
  123. package/dist/managers/tenant-manager.d.ts +5 -2
  124. package/dist/managers/tenant-manager.d.ts.map +1 -1
  125. package/dist/managers/token-manager.d.ts +6 -4
  126. package/dist/managers/token-manager.d.ts.map +1 -1
  127. package/dist/managers/transaction-manager.d.ts +22 -19
  128. package/dist/managers/transaction-manager.d.ts.map +1 -1
  129. package/dist/managers/user-manager.d.ts +61 -3
  130. package/dist/managers/user-manager.d.ts.map +1 -1
  131. package/dist/managers/user-status-manager.d.ts +6 -4
  132. package/dist/managers/user-status-manager.d.ts.map +1 -1
  133. package/dist/managers/web3-manager.d.ts.map +1 -1
  134. package/dist/package.json +2 -2
  135. package/dist/payment/api/payment-api.d.ts +15 -18
  136. package/dist/payment/api/payment-api.d.ts.map +1 -1
  137. package/dist/payment/services/payment-service.d.ts +6 -4
  138. package/dist/payment/services/payment-service.d.ts.map +1 -1
  139. package/dist/payment.cjs +225 -9
  140. package/dist/payment.cjs.map +1 -1
  141. package/dist/payment.js +210 -2
  142. package/dist/payment.js.map +1 -1
  143. package/dist/pers-sdk.d.ts +49 -0
  144. package/dist/pers-sdk.d.ts.map +1 -1
  145. package/dist/redemption/api/redemption-api.d.ts +22 -11
  146. package/dist/redemption/api/redemption-api.d.ts.map +1 -1
  147. package/dist/redemption/services/redemption-service.d.ts +11 -9
  148. package/dist/redemption/services/redemption-service.d.ts.map +1 -1
  149. package/dist/redemption.cjs +353 -9
  150. package/dist/redemption.cjs.map +1 -1
  151. package/dist/redemption.js +338 -2
  152. package/dist/redemption.js.map +1 -1
  153. package/dist/shared/index.d.ts +1 -0
  154. package/dist/shared/index.d.ts.map +1 -1
  155. package/dist/shared/interfaces/pers-shared-lib.interfaces.d.ts +2 -1
  156. package/dist/shared/interfaces/pers-shared-lib.interfaces.d.ts.map +1 -1
  157. package/dist/shared/utils/pagination-utils.d.ts +184 -0
  158. package/dist/shared/utils/pagination-utils.d.ts.map +1 -0
  159. package/dist/tenant/api/tenant-api.d.ts +6 -1
  160. package/dist/tenant/api/tenant-api.d.ts.map +1 -1
  161. package/dist/tenant/services/tenant-service.d.ts +5 -2
  162. package/dist/tenant/services/tenant-service.d.ts.map +1 -1
  163. package/dist/tenant.cjs +177 -9
  164. package/dist/tenant.cjs.map +1 -1
  165. package/dist/tenant.js +162 -2
  166. package/dist/tenant.js.map +1 -1
  167. package/dist/token/api/token-api.d.ts +24 -7
  168. package/dist/token/api/token-api.d.ts.map +1 -1
  169. package/dist/token/base/base-token-service.d.ts +5 -4
  170. package/dist/token/base/base-token-service.d.ts.map +1 -1
  171. package/dist/token/services/token-service.d.ts +10 -8
  172. package/dist/token/services/token-service.d.ts.map +1 -1
  173. package/dist/token/token-sdk.d.ts +5 -34
  174. package/dist/token/token-sdk.d.ts.map +1 -1
  175. package/dist/token.cjs +15 -2
  176. package/dist/token.cjs.map +1 -1
  177. package/dist/token.js +4 -3
  178. package/dist/token.js.map +1 -1
  179. package/dist/transaction/api/transaction-api.d.ts +48 -6
  180. package/dist/transaction/api/transaction-api.d.ts.map +1 -1
  181. package/dist/transaction/models/index.d.ts +2 -0
  182. package/dist/transaction/models/index.d.ts.map +1 -1
  183. package/dist/transaction/models/transaction-request.builder.d.ts +256 -0
  184. package/dist/transaction/models/transaction-request.builder.d.ts.map +1 -0
  185. package/dist/transaction/services/transaction-service.d.ts +12 -4
  186. package/dist/transaction/services/transaction-service.d.ts.map +1 -1
  187. package/dist/transaction.cjs +9 -1
  188. package/dist/transaction.cjs.map +1 -1
  189. package/dist/transaction.js +3 -1
  190. package/dist/transaction.js.map +1 -1
  191. package/dist/user/api/user-api.d.ts +32 -9
  192. package/dist/user/api/user-api.d.ts.map +1 -1
  193. package/dist/user/services/user-service.d.ts +25 -2
  194. package/dist/user/services/user-service.d.ts.map +1 -1
  195. package/dist/user-status/api/user-status-api.d.ts +6 -4
  196. package/dist/user-status/api/user-status-api.d.ts.map +1 -1
  197. package/dist/user-status/index.d.ts +4 -2
  198. package/dist/user-status/index.d.ts.map +1 -1
  199. package/dist/user-status/services/user-status-service.d.ts +4 -2
  200. package/dist/user-status/services/user-status-service.d.ts.map +1 -1
  201. package/dist/user-status.cjs +34 -14
  202. package/dist/user-status.cjs.map +1 -1
  203. package/dist/user-status.js +23 -15
  204. package/dist/user-status.js.map +1 -1
  205. package/dist/user.cjs +14 -1
  206. package/dist/user.cjs.map +1 -1
  207. package/dist/user.js +3 -2
  208. package/dist/user.js.map +1 -1
  209. package/dist/web3-chain.cjs +13 -1
  210. package/dist/web3-chain.cjs.map +1 -1
  211. package/dist/web3-chain.js +2 -2
  212. package/package.json +2 -2
  213. package/dist/chunks/base-token-service-BSXDwrcq.js.map +0 -1
  214. package/dist/chunks/base-token-service-CYuqPPs0.cjs.map +0 -1
  215. package/dist/chunks/business-service-8Xd3d5oY.js +0 -238
  216. package/dist/chunks/business-service-8Xd3d5oY.js.map +0 -1
  217. package/dist/chunks/business-service-P9o4cwQL.cjs +0 -241
  218. package/dist/chunks/business-service-P9o4cwQL.cjs.map +0 -1
  219. package/dist/chunks/campaign-service-B1tQMNqA.cjs.map +0 -1
  220. package/dist/chunks/campaign-service-CJPXgFBe.js.map +0 -1
  221. package/dist/chunks/donation-service-CyJS4DIZ.js.map +0 -1
  222. package/dist/chunks/donation-service-D-xFrONi.cjs.map +0 -1
  223. package/dist/chunks/payment-service-B4qx0qiE.cjs +0 -220
  224. package/dist/chunks/payment-service-B4qx0qiE.cjs.map +0 -1
  225. package/dist/chunks/payment-service-DfCBFosx.js +0 -217
  226. package/dist/chunks/payment-service-DfCBFosx.js.map +0 -1
  227. package/dist/chunks/pers-sdk-DzS7mkm7.cjs.map +0 -1
  228. package/dist/chunks/pers-sdk-VGEG59g3.js.map +0 -1
  229. package/dist/chunks/redemption-service-7qbeQxEM.cjs +0 -330
  230. package/dist/chunks/redemption-service-7qbeQxEM.cjs.map +0 -1
  231. package/dist/chunks/redemption-service-BT0J5Iy7.js +0 -327
  232. package/dist/chunks/redemption-service-BT0J5Iy7.js.map +0 -1
  233. package/dist/chunks/tenant-service-DME24vr1.cjs +0 -157
  234. package/dist/chunks/tenant-service-DME24vr1.cjs.map +0 -1
  235. package/dist/chunks/tenant-service-DxtHAlaa.js +0 -154
  236. package/dist/chunks/tenant-service-DxtHAlaa.js.map +0 -1
  237. package/dist/chunks/token-service-BWScn8Qa.cjs.map +0 -1
  238. package/dist/chunks/token-service-CpVwC5Eb.js.map +0 -1
  239. package/dist/chunks/transaction-service-B7h_4Hg3.js.map +0 -1
  240. package/dist/chunks/transaction-service-CXjTHCFu.cjs.map +0 -1
  241. package/dist/chunks/user-service-D1Rn4U8u.cjs.map +0 -1
  242. package/dist/chunks/user-service-D6mTa_WZ.js.map +0 -1
  243. package/dist/chunks/web3-chain-service-BLFxB5TA.cjs.map +0 -1
  244. 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
- enumerable: true,
12
- get: function () { return persShared.AccountOwnerType; }
213
+ enumerable: true,
214
+ get: function () { return persShared.AccountOwnerType; }
13
215
  });
14
216
  Object.defineProperty(exports, "ApiKeyType", {
15
- enumerable: true,
16
- get: function () { return persShared.ApiKeyType; }
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
- enumerable: true,
20
- get: function () { return persShared.NativeTokenTypes; }
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
@@ -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 { P as PaymentApi, a as PaymentService } from './chunks/payment-service-DfCBFosx.js';
2
- export { AccountOwnerType, ApiKeyType, NativeTokenTypes } from '@explorins/pers-shared';
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
@@ -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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"}
@@ -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
  *
@@ -1 +1 @@
1
- {"version":3,"file":"pers-sdk.d.ts","sourceRoot":"","sources":["../src/pers-sdk.ts"],"names":[],"mappings":"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"}
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;AAE5D;;;;;;;;;;;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;;;;;;;;;OASG;IACG,cAAc,CAAC,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,OAAO,CAAC;QAAC,WAAW,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IAUrG;;;;OAIG;IACG,kBAAkB,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAIxD;;;;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;;;;;;;;;;;OAWG;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,OAAO,CAAC,mBAAmB,EAAE,CAAC;IA2BlC;;OAEG;IACG,uBAAuB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAQvE;;;;;OAKG;IACG,cAAc,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,EAAE,CAAC;IAQ3E;;;;;OAKG;IACG,qBAAqB,CAAC,MAAM,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IAIvE;;;;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;;OAEG;IACG,oBAAoB,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;CAGvD"}
1
+ {"version":3,"file":"redemption-api.d.ts","sourceRoot":"","sources":["../../../src/redemption/api/redemption-api.ts"],"names":[],"mappings":"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"}