@explorins/pers-sdk 1.6.3 → 1.6.6

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 (207) hide show
  1. package/README.md +63 -37
  2. package/dist/analytics/index.d.ts +0 -16
  3. package/dist/analytics/index.d.ts.map +1 -1
  4. package/dist/analytics.cjs +5 -73
  5. package/dist/analytics.cjs.map +1 -1
  6. package/dist/analytics.js +1 -72
  7. package/dist/analytics.js.map +1 -1
  8. package/dist/business/index.d.ts +0 -24
  9. package/dist/business/index.d.ts.map +1 -1
  10. package/dist/business.cjs +5 -273
  11. package/dist/business.cjs.map +1 -1
  12. package/dist/business.js +1 -272
  13. package/dist/business.js.map +1 -1
  14. package/dist/campaign/api/campaign-api.d.ts +3 -13
  15. package/dist/campaign/api/campaign-api.d.ts.map +1 -1
  16. package/dist/campaign/index.d.ts +0 -34
  17. package/dist/campaign/index.d.ts.map +1 -1
  18. package/dist/campaign.cjs +5 -470
  19. package/dist/campaign.cjs.map +1 -1
  20. package/dist/campaign.js +1 -469
  21. package/dist/campaign.js.map +1 -1
  22. package/dist/chunks/analytics-service-CitlimKJ.cjs +49 -0
  23. package/dist/chunks/analytics-service-CitlimKJ.cjs.map +1 -0
  24. package/dist/chunks/analytics-service-CxyrOwel.js +46 -0
  25. package/dist/chunks/analytics-service-CxyrOwel.js.map +1 -0
  26. package/dist/chunks/{token-sdk-BW4kkJb3.js → base-token-service-BSXDwrcq.js} +138 -204
  27. package/dist/chunks/base-token-service-BSXDwrcq.js.map +1 -0
  28. package/dist/chunks/{token-sdk-CiAbOb6c.cjs → base-token-service-CYuqPPs0.cjs} +140 -207
  29. package/dist/chunks/base-token-service-CYuqPPs0.cjs.map +1 -0
  30. package/dist/chunks/business-service-Cq3-oksM.cjs +241 -0
  31. package/dist/chunks/business-service-Cq3-oksM.cjs.map +1 -0
  32. package/dist/chunks/business-service-DrC-TNGa.js +238 -0
  33. package/dist/chunks/business-service-DrC-TNGa.js.map +1 -0
  34. package/dist/chunks/campaign-service-CWK9I388.cjs +403 -0
  35. package/dist/chunks/campaign-service-CWK9I388.cjs.map +1 -0
  36. package/dist/chunks/campaign-service-Dd7gMjC9.js +400 -0
  37. package/dist/chunks/campaign-service-Dd7gMjC9.js.map +1 -0
  38. package/dist/chunks/donation-service-CyJS4DIZ.js +47 -0
  39. package/dist/chunks/donation-service-CyJS4DIZ.js.map +1 -0
  40. package/dist/chunks/donation-service-D-xFrONi.cjs +50 -0
  41. package/dist/chunks/donation-service-D-xFrONi.cjs.map +1 -0
  42. package/dist/chunks/{index-CJ9Jfa4A.js → explorer.utils-Ckll15ja.js} +108 -172
  43. package/dist/chunks/explorer.utils-Ckll15ja.js.map +1 -0
  44. package/dist/chunks/{index-CzEluQmf.cjs → explorer.utils-GpskbLl1.cjs} +106 -174
  45. package/dist/chunks/explorer.utils-GpskbLl1.cjs.map +1 -0
  46. package/dist/chunks/index-BtDNXaFq.js +13 -0
  47. package/dist/chunks/index-BtDNXaFq.js.map +1 -0
  48. package/dist/chunks/index-CMk3Aqkk.cjs +15 -0
  49. package/dist/chunks/index-CMk3Aqkk.cjs.map +1 -0
  50. package/dist/chunks/payment-service-B4qx0qiE.cjs +220 -0
  51. package/dist/chunks/payment-service-B4qx0qiE.cjs.map +1 -0
  52. package/dist/chunks/payment-service-DfCBFosx.js +217 -0
  53. package/dist/chunks/payment-service-DfCBFosx.js.map +1 -0
  54. package/dist/chunks/pers-sdk-CajYwGkL.cjs +5850 -0
  55. package/dist/chunks/pers-sdk-CajYwGkL.cjs.map +1 -0
  56. package/dist/chunks/pers-sdk-eO4XUi8w.js +5817 -0
  57. package/dist/chunks/pers-sdk-eO4XUi8w.js.map +1 -0
  58. package/dist/chunks/redemption-service-7qbeQxEM.cjs +330 -0
  59. package/dist/chunks/redemption-service-7qbeQxEM.cjs.map +1 -0
  60. package/dist/chunks/redemption-service-BT0J5Iy7.js +327 -0
  61. package/dist/chunks/redemption-service-BT0J5Iy7.js.map +1 -0
  62. package/dist/chunks/tenant-service-Ba7xrWED.cjs +171 -0
  63. package/dist/chunks/tenant-service-Ba7xrWED.cjs.map +1 -0
  64. package/dist/chunks/tenant-service-DELk412y.js +168 -0
  65. package/dist/chunks/tenant-service-DELk412y.js.map +1 -0
  66. package/dist/chunks/token-service-BWScn8Qa.cjs +208 -0
  67. package/dist/chunks/token-service-BWScn8Qa.cjs.map +1 -0
  68. package/dist/chunks/token-service-CpVwC5Eb.js +205 -0
  69. package/dist/chunks/token-service-CpVwC5Eb.js.map +1 -0
  70. package/dist/chunks/user-service-D1Rn4U8u.cjs +153 -0
  71. package/dist/chunks/user-service-D1Rn4U8u.cjs.map +1 -0
  72. package/dist/chunks/user-service-D6mTa_WZ.js +150 -0
  73. package/dist/chunks/user-service-D6mTa_WZ.js.map +1 -0
  74. package/dist/chunks/{index-BfOoX87y.cjs → web3-chain-service-BYkj61DN.cjs} +1 -33
  75. package/dist/chunks/web3-chain-service-BYkj61DN.cjs.map +1 -0
  76. package/dist/chunks/{index-CM21r58m.js → web3-chain-service-DN6tJmvK.js} +2 -31
  77. package/dist/chunks/web3-chain-service-DN6tJmvK.js.map +1 -0
  78. package/dist/core/auth/auth-provider.interface.d.ts +32 -69
  79. package/dist/core/auth/auth-provider.interface.d.ts.map +1 -1
  80. package/dist/core/auth/default-auth-provider.d.ts +15 -58
  81. package/dist/core/auth/default-auth-provider.d.ts.map +1 -1
  82. package/dist/core/auth/index.d.ts +10 -12
  83. package/dist/core/auth/index.d.ts.map +1 -1
  84. package/dist/core/auth/refresh-manager.d.ts +18 -0
  85. package/dist/core/auth/refresh-manager.d.ts.map +1 -0
  86. package/dist/core/auth/services/auth-service.d.ts +11 -6
  87. package/dist/core/auth/services/auth-service.d.ts.map +1 -1
  88. package/dist/core/auth/token-storage.d.ts +27 -47
  89. package/dist/core/auth/token-storage.d.ts.map +1 -1
  90. package/dist/core/errors/index.d.ts +1 -5
  91. package/dist/core/errors/index.d.ts.map +1 -1
  92. package/dist/core/index.d.ts +4 -1
  93. package/dist/core/index.d.ts.map +1 -1
  94. package/dist/core/pers-api-client.d.ts +10 -126
  95. package/dist/core/pers-api-client.d.ts.map +1 -1
  96. package/dist/core/pers-config.d.ts +8 -3
  97. package/dist/core/pers-config.d.ts.map +1 -1
  98. package/dist/core/utils/jwt.function.d.ts.map +1 -1
  99. package/dist/core.cjs +22 -17
  100. package/dist/core.cjs.map +1 -1
  101. package/dist/core.js +13 -13
  102. package/dist/donation/index.d.ts +0 -15
  103. package/dist/donation/index.d.ts.map +1 -1
  104. package/dist/donation.cjs +5 -75
  105. package/dist/donation.cjs.map +1 -1
  106. package/dist/donation.js +1 -74
  107. package/dist/donation.js.map +1 -1
  108. package/dist/index.cjs +51 -56
  109. package/dist/index.cjs.map +1 -1
  110. package/dist/index.js +16 -15
  111. package/dist/index.js.map +1 -1
  112. package/dist/managers/analytics-manager.d.ts +290 -10
  113. package/dist/managers/analytics-manager.d.ts.map +1 -1
  114. package/dist/managers/auth-manager.d.ts +123 -23
  115. package/dist/managers/auth-manager.d.ts.map +1 -1
  116. package/dist/managers/business-manager.d.ts +273 -18
  117. package/dist/managers/business-manager.d.ts.map +1 -1
  118. package/dist/managers/campaign-manager.d.ts +585 -46
  119. package/dist/managers/campaign-manager.d.ts.map +1 -1
  120. package/dist/managers/donation-manager.d.ts +5 -5
  121. package/dist/managers/donation-manager.d.ts.map +1 -1
  122. package/dist/managers/file-manager.d.ts +430 -13
  123. package/dist/managers/file-manager.d.ts.map +1 -1
  124. package/dist/managers/purchase-manager.d.ts +340 -15
  125. package/dist/managers/purchase-manager.d.ts.map +1 -1
  126. package/dist/managers/redemption-manager.d.ts +450 -27
  127. package/dist/managers/redemption-manager.d.ts.map +1 -1
  128. package/dist/managers/tenant-manager.d.ts +5 -5
  129. package/dist/managers/tenant-manager.d.ts.map +1 -1
  130. package/dist/managers/token-manager.d.ts +245 -21
  131. package/dist/managers/token-manager.d.ts.map +1 -1
  132. package/dist/managers/transaction-manager.d.ts +447 -18
  133. package/dist/managers/transaction-manager.d.ts.map +1 -1
  134. package/dist/managers/user-manager.d.ts +216 -14
  135. package/dist/managers/user-manager.d.ts.map +1 -1
  136. package/dist/managers/web3-manager.d.ts +4 -4
  137. package/dist/managers/web3-manager.d.ts.map +1 -1
  138. package/dist/package.json +9 -2
  139. package/dist/payment/index.d.ts +0 -21
  140. package/dist/payment/index.d.ts.map +1 -1
  141. package/dist/payment.cjs +5 -255
  142. package/dist/payment.cjs.map +1 -1
  143. package/dist/payment.js +1 -254
  144. package/dist/payment.js.map +1 -1
  145. package/dist/pers-sdk.d.ts +141 -34
  146. package/dist/pers-sdk.d.ts.map +1 -1
  147. package/dist/redemption/index.d.ts +0 -25
  148. package/dist/redemption/index.d.ts.map +1 -1
  149. package/dist/redemption.cjs +5 -365
  150. package/dist/redemption.cjs.map +1 -1
  151. package/dist/redemption.js +1 -364
  152. package/dist/redemption.js.map +1 -1
  153. package/dist/tenant/index.d.ts +0 -22
  154. package/dist/tenant/index.d.ts.map +1 -1
  155. package/dist/tenant.cjs +5 -203
  156. package/dist/tenant.cjs.map +1 -1
  157. package/dist/tenant.js +1 -202
  158. package/dist/tenant.js.map +1 -1
  159. package/dist/token.cjs +6 -6
  160. package/dist/token.js +2 -2
  161. package/dist/transaction/index.d.ts +0 -22
  162. package/dist/transaction/index.d.ts.map +1 -1
  163. package/dist/transaction.cjs +0 -40
  164. package/dist/transaction.cjs.map +1 -1
  165. package/dist/transaction.js +1 -40
  166. package/dist/transaction.js.map +1 -1
  167. package/dist/user/index.d.ts +0 -25
  168. package/dist/user/index.d.ts.map +1 -1
  169. package/dist/user.cjs +5 -185
  170. package/dist/user.cjs.map +1 -1
  171. package/dist/user.js +1 -184
  172. package/dist/user.js.map +1 -1
  173. package/dist/web3/index.d.ts +0 -11
  174. package/dist/web3/index.d.ts.map +1 -1
  175. package/dist/web3-chain/index.d.ts +0 -9
  176. package/dist/web3-chain/index.d.ts.map +1 -1
  177. package/dist/web3-chain/services/getWeb3FCD.service.d.ts.map +1 -1
  178. package/dist/web3-chain.cjs +5 -5
  179. package/dist/web3-chain.js +2 -1
  180. package/dist/web3-chain.js.map +1 -1
  181. package/dist/web3.cjs +6 -10
  182. package/dist/web3.cjs.map +1 -1
  183. package/dist/web3.js +1 -4
  184. package/dist/web3.js.map +1 -1
  185. package/package.json +9 -2
  186. package/dist/chunks/base-token-service-D0KANDgM.js +0 -139
  187. package/dist/chunks/base-token-service-D0KANDgM.js.map +0 -1
  188. package/dist/chunks/base-token-service-zNfPjHRx.cjs +0 -141
  189. package/dist/chunks/base-token-service-zNfPjHRx.cjs.map +0 -1
  190. package/dist/chunks/index-BfOoX87y.cjs.map +0 -1
  191. package/dist/chunks/index-CJ9Jfa4A.js.map +0 -1
  192. package/dist/chunks/index-CM21r58m.js.map +0 -1
  193. package/dist/chunks/index-CzEluQmf.cjs.map +0 -1
  194. package/dist/chunks/pers-sdk-DbPwFKrf.cjs +0 -3378
  195. package/dist/chunks/pers-sdk-DbPwFKrf.cjs.map +0 -1
  196. package/dist/chunks/pers-sdk-Z6MKeFBX.js +0 -3353
  197. package/dist/chunks/pers-sdk-Z6MKeFBX.js.map +0 -1
  198. package/dist/chunks/token-sdk-BW4kkJb3.js.map +0 -1
  199. package/dist/chunks/token-sdk-CiAbOb6c.cjs.map +0 -1
  200. package/dist/core/auth/auth-constants.d.ts +0 -33
  201. package/dist/core/auth/auth-constants.d.ts.map +0 -1
  202. package/dist/core/auth/auth-errors.d.ts +0 -8
  203. package/dist/core/auth/auth-errors.d.ts.map +0 -1
  204. package/dist/core/auth/create-auth-provider.d.ts +0 -27
  205. package/dist/core/auth/create-auth-provider.d.ts.map +0 -1
  206. package/dist/core/auth/token-refresh.d.ts +0 -91
  207. package/dist/core/auth/token-refresh.d.ts.map +0 -1
@@ -1,366 +1,3 @@
1
+ export { R as RedemptionApi, a as RedemptionService } from './chunks/redemption-service-BT0J5Iy7.js';
1
2
  export { AccountOwnerType } from '@explorins/pers-shared';
2
-
3
- /**
4
- * Platform-Agnostic Redemption API Client (UPDATED - RESTful Design)
5
- *
6
- * Updated to work with the new RESTful controller structure:
7
- * - /redemptions (main redemption management)
8
- * - /redemption-types (redemption type management)
9
- * - /redemption-tokens (token unit management)
10
- * - /redemption-redeems (redemption execution and history)
11
- *
12
- * Handles redemption operations using the PERS backend with intelligent access detection.
13
- * Uses @explorins/pers-shared DTOs for consistency with backend.
14
- */
15
- class RedemptionApi {
16
- constructor(apiClient) {
17
- this.apiClient = apiClient;
18
- this.basePath = '/redemptions';
19
- this.typesPath = '/redemptions/types';
20
- }
21
- // ==========================================
22
- // PUBLIC OPERATIONS (Project Key)
23
- // ==========================================
24
- /**
25
- * UNIFIED: Get redemptions with intelligent access control
26
- *
27
- * Intelligent endpoint that adapts based on authentication:
28
- * - Public users: Get active redemptions only
29
- * - Admin users: Get all redemptions with optional filtering
30
- *
31
- * @param options.active - Filter by active status (undefined = all for admins/active for public)
32
- * @param options.adminAccess - Force admin access (requires admin auth)
33
- */
34
- async getRedemptions(options) {
35
- let url = `${this.basePath}`;
36
- if (options?.active !== undefined) {
37
- url += `?active=${options.active}`;
38
- }
39
- return this.apiClient.get(url);
40
- }
41
- /**
42
- * PUBLIC: Get redemption types
43
- *
44
- * Updated: /redemption/type → /redemption-types
45
- */
46
- async getRedemptionTypes() {
47
- return this.apiClient.get(this.typesPath);
48
- }
49
- /**
50
- * PUBLIC: Get redemption by ID
51
- *
52
- * Updated: /redemption/:id → /redemptions/:id
53
- */
54
- async getRedemptionById(id) {
55
- return this.apiClient.get(`${this.basePath}/${id}`);
56
- }
57
- /**
58
- * PUBLIC: Get available supply for redemption
59
- *
60
- * Updated: /redemption/:id/available-supply → /redemptions/:id/supply
61
- */
62
- async getRedemptionAvailableSupply(id) {
63
- const result = await this.apiClient.get(`${this.basePath}/${id}/supply`);
64
- return result.available;
65
- }
66
- // ==========================================
67
- // REDEMPTION EXECUTION (UNIFIED ENDPOINT)
68
- // ==========================================
69
- /**
70
- * Execute redemption (unified endpoint)
71
- *
72
- * NEW: POST /redemption-redeems - Role-based processing
73
- * - USER: Direct user redemption processing
74
- * - ADMIN: Can process redemptions for any account type
75
- * - BUSINESS: Process redemptions for customers
76
- */
77
- async redeemRedemption(redemptionId) {
78
- const body = {
79
- redemptionId: redemptionId,
80
- };
81
- return this.apiClient.post(this.basePath + '/redeems', body);
82
- }
83
- // ==========================================
84
- // REDEMPTION REDEEMS QUERIES (NEW ENDPOINTS)
85
- // ==========================================
86
- /**
87
- * UNIFIED: Get redemption redeems with filtering and intelligent access
88
- *
89
- * Role-based access with unified filtering:
90
- * - Users: See only their own redeems (userId/businessId filters ignored)
91
- * - Admins: Can filter by userId, businessId, or redemptionId
92
- *
93
- * @param filters.redemptionId - Filter by specific redemption
94
- * @param filters.userId - Admin only: Filter by user ID
95
- * @param filters.businessId - Admin only: Filter by business ID
96
- * @param filters.myRedeems - Force user's own redeems (uses /me endpoint)
97
- */
98
- async getRedemptionRedeems(filters) {
99
- let url = `${this.basePath}/redeems`;
100
- // Use convenience endpoint for user's own redeems
101
- if (filters?.myRedeems) {
102
- url = `${this.basePath}/redeems/me`;
103
- if (filters.redemptionId) {
104
- url += `?redemptionId=${filters.redemptionId}`;
105
- }
106
- return this.apiClient.get(url);
107
- }
108
- // Use admin endpoint with filtering
109
- const params = new URLSearchParams();
110
- if (filters?.redemptionId)
111
- params.append('redemptionId', filters.redemptionId);
112
- if (filters?.userId)
113
- params.append('userId', filters.userId);
114
- if (filters?.businessId)
115
- params.append('businessId', filters.businessId);
116
- const queryString = params.toString();
117
- if (queryString) {
118
- url += `?${queryString}`;
119
- }
120
- return this.apiClient.get(url);
121
- }
122
- /**
123
- * UNIFIED: Get specific redemption redeem by ID
124
- */
125
- async getRedemptionRedeemById(id) {
126
- return this.apiClient.get(`${this.basePath}/redeems/${id}`);
127
- }
128
- // ==========================================
129
- // USER OPERATIONS (JWT + Project Key)
130
- // ==========================================
131
- /**
132
- * UNIFIED: Get user redemption history
133
- *
134
- * Uses convenience endpoint /redemption-redeems/me with optional filtering
135
- * @param redemptionId - Optional filter by specific redemption
136
- */
137
- async getUserRedeems(redemptionId) {
138
- return this.getRedemptionRedeems({ myRedeems: true, redemptionId });
139
- }
140
- // ==========================================
141
- // ADMIN OPERATIONS (Tenant Admin JWT)
142
- // ==========================================
143
- /**
144
- * ADMIN: Get redemptions with filtering (using intelligent endpoint)
145
- *
146
- * Updated: /redemption/admin → /redemptions (intelligent access detection)
147
- * The unified endpoint will detect admin privileges and allow filtering
148
- */
149
- async getRedemptionsAsAdmin(active) {
150
- return this.getRedemptions({ active, adminAccess: true });
151
- }
152
- /**
153
- * ADMIN: Create redemption
154
- *
155
- * Updated: /redemption/admin → /redemptions
156
- */
157
- async createRedemption(redemption) {
158
- return this.apiClient.post(`${this.basePath}`, redemption);
159
- }
160
- /**
161
- * ADMIN: Update redemption
162
- *
163
- * Updated: /redemption/admin/:id → /redemptions/:id
164
- */
165
- async updateRedemption(id, redemptionCreateRequest) {
166
- return this.apiClient.put(`${this.basePath}/${id}`, redemptionCreateRequest);
167
- }
168
- /**
169
- * UNIFIED: Toggle redemption active status
170
- *
171
- * Updated: /redemption/admin/:id/toggle-active → /redemptions/:id/status
172
- * Following standard /status pattern used across domains
173
- */
174
- async toggleRedemptionActive(redemptionId) {
175
- return this.apiClient.put(`${this.basePath}/${redemptionId}/status`, {});
176
- }
177
- /**
178
- * ADMIN: Delete redemption
179
- *
180
- * Updated: /redemption/admin/:id → /redemptions/:id
181
- */
182
- async deleteRedemption(id) {
183
- return this.apiClient.delete(`${this.basePath}/${id}`);
184
- }
185
- /**
186
- * ADMIN: Create redemption type
187
- *
188
- * Updated: /redemption/admin/type → /redemption-types
189
- */
190
- async createRedemptionType(redemptionType) {
191
- return this.apiClient.post(this.typesPath, redemptionType);
192
- }
193
- // ==========================================
194
- // TOKEN UNIT MANAGEMENT (Admin)
195
- // ==========================================
196
- /**
197
- * ADMIN: Create redemption token unit
198
- *
199
- * Updated: /redemption/admin/:id/token-units → /redemption-tokens/:id/
200
- */
201
- async createRedemptionTokenUnit(redemptionId, redemptionTokenUnit) {
202
- return this.apiClient.post(`${this.basePath}/${redemptionId}/tokens`, redemptionTokenUnit);
203
- }
204
- /**
205
- * ADMIN: Update redemption token unit
206
- *
207
- * Updated: /redemption/admin/:id/token-units/:tokenUnitId → /redemption-tokens/:id/:tokenUnitId
208
- */
209
- async updateRedemptionTokenUnit(redemptionId, tokenUnitId, redemptionTokenUnit) {
210
- return this.apiClient.put(`${this.basePath}/${redemptionId}/tokens/${tokenUnitId}`, redemptionTokenUnit);
211
- }
212
- /**
213
- * ADMIN: Delete redemption token unit
214
- *
215
- * Updated: /redemption/admin/:id/token-units/:tokenUnitId → /redemption-tokens/:id/:tokenUnitId
216
- */
217
- async deleteRedemptionTokenUnit(redemptionId, redemptionTokenUnitId) {
218
- return this.apiClient.delete(`${this.basePath}/${redemptionId}/tokens/${redemptionTokenUnitId}`);
219
- }
220
- // ==========================================
221
- // CONVENIENCE METHODS (Legacy Support)
222
- // ==========================================
223
- /**
224
- * Convenience: Get active redemptions (public access)
225
- */
226
- async getActiveRedemptions() {
227
- return this.getRedemptions({ active: true });
228
- }
229
- }
230
-
231
- /**
232
- * Platform-Agnostic Redemption Service
233
- *
234
- * Contains redemption business logic and operations that work across platforms.
235
- * No framework dependencies - pure TypeScript business logic.
236
- *
237
- * Focuses only on actual backend capabilities.
238
- */
239
- class RedemptionService {
240
- constructor(redemptionApi) {
241
- this.redemptionApi = redemptionApi;
242
- }
243
- // ==========================================
244
- // PUBLIC OPERATIONS
245
- // ==========================================
246
- /**
247
- * UNIFIED: Get redemptions with intelligent access control
248
- * @param options.active - Filter by active status
249
- * @param options.adminAccess - Force admin access
250
- */
251
- async getRedemptions(options) {
252
- return this.redemptionApi.getRedemptions(options);
253
- }
254
- /**
255
- * Convenience: Get active redemptions (public)
256
- */
257
- async getActiveRedemptions() {
258
- return this.redemptionApi.getActiveRedemptions();
259
- }
260
- /**
261
- * PUBLIC: Get redemption types
262
- */
263
- async getRedemptionTypes() {
264
- return this.redemptionApi.getRedemptionTypes();
265
- }
266
- // ==========================================
267
- // AUTHENTICATED OPERATIONS
268
- // ==========================================
269
- /**
270
- * AUTH: Redeem a redemption
271
- */
272
- async redeemRedemption(redemptionId) {
273
- return this.redemptionApi.redeemRedemption(redemptionId);
274
- }
275
- /**
276
- * UNIFIED: Get redemption redeems with filtering
277
- */
278
- async getRedemptionRedeems(filters) {
279
- return this.redemptionApi.getRedemptionRedeems(filters);
280
- }
281
- /**
282
- * Convenience: Get user redemptions
283
- */
284
- async getUserRedeems() {
285
- return this.redemptionApi.getUserRedeems();
286
- }
287
- // ==========================================
288
- // ADMIN OPERATIONS
289
- // ==========================================
290
- /**
291
- * Convenience: Get redemptions as admin
292
- */
293
- async getRedemptionsAsAdmin(active) {
294
- return this.redemptionApi.getRedemptionsAsAdmin(active);
295
- }
296
- /**
297
- * ADMIN: Create redemption
298
- */
299
- async createRedemption(redemption) {
300
- return this.redemptionApi.createRedemption(redemption);
301
- }
302
- /**
303
- * ADMIN: Update redemption
304
- */
305
- async updateRedemption(id, redemptionCreateRequest) {
306
- return this.redemptionApi.updateRedemption(id, redemptionCreateRequest); // ✅ CORRECTED: Fixed parameter
307
- }
308
- /**
309
- * ADMIN: Toggle redemption active status
310
- */
311
- async toggleRedemptionActive(redemptionId) {
312
- return this.redemptionApi.toggleRedemptionActive(redemptionId);
313
- }
314
- /**
315
- * ADMIN: Create redemption token unit
316
- */
317
- async createRedemptionTokenUnit(redemptionId, redemptionTokenUnit) {
318
- return this.redemptionApi.createRedemptionTokenUnit(redemptionId, redemptionTokenUnit);
319
- }
320
- /**
321
- * ADMIN: Delete redemption token unit
322
- */
323
- async deleteRedemptionTokenUnit(redemptionId, redemptionTokenUnitId) {
324
- return this.redemptionApi.deleteRedemptionTokenUnit(redemptionId, redemptionTokenUnitId);
325
- }
326
- }
327
-
328
- /**
329
- * @explorins/pers-sdk-redemption
330
- *
331
- * Platform-agnostic Redemption Domain SDK for PERS ecosystem
332
- * Handles redemption operations across different authorization levels
333
- */
334
- // API Layer
335
- /**
336
- * Create a complete Redemption SDK instance
337
- *
338
- * @param apiClient - Configured PERS API client
339
- * @returns Redemption SDK with flattened structure for better DX
340
- */
341
- function createRedemptionSDK(apiClient) {
342
- const redemptionApi = new RedemptionApi(apiClient);
343
- const redemptionService = new RedemptionService(redemptionApi);
344
- return {
345
- // Direct access to service methods (primary interface)
346
- // Public methods
347
- getActiveRedemptions: () => redemptionService.getActiveRedemptions(),
348
- getRedemptionTypes: () => redemptionService.getRedemptionTypes(),
349
- // Auth methods
350
- redeemRedemption: (redemptionId) => redemptionService.redeemRedemption(redemptionId),
351
- getUserRedeems: () => redemptionService.getUserRedeems(),
352
- // Admin methods
353
- getRedemptionsAsAdmin: (active) => redemptionService.getRedemptionsAsAdmin(active),
354
- createRedemption: (redemption) => redemptionService.createRedemption(redemption),
355
- updateRedemption: (id, redemptionCreateRequest) => redemptionService.updateRedemption(id, redemptionCreateRequest),
356
- toggleRedemptionActive: (redemptionId) => redemptionService.toggleRedemptionActive(redemptionId),
357
- createRedemptionTokenUnit: (redemptionId, redemptionTokenUnit) => redemptionService.createRedemptionTokenUnit(redemptionId, redemptionTokenUnit),
358
- deleteRedemptionTokenUnit: (redemptionId, redemptionTokenUnitId) => redemptionService.deleteRedemptionTokenUnit(redemptionId, redemptionTokenUnitId),
359
- // Advanced access for edge cases
360
- api: redemptionApi,
361
- service: redemptionService
362
- };
363
- }
364
-
365
- export { RedemptionApi, RedemptionService, createRedemptionSDK };
366
3
  //# sourceMappingURL=redemption.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"redemption.js","sources":["../src/redemption/api/redemption-api.ts","../src/redemption/services/redemption-service.ts","../src/redemption/index.ts"],"sourcesContent":[null,null,null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"redemption.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -9,26 +9,4 @@ export { TenantService } from './services/tenant-service';
9
9
  export * from './models';
10
10
  export * from '../shared/interfaces/pers-shared-lib.interfaces';
11
11
  export * from './models';
12
- import { PersApiClient } from '../core/pers-api-client';
13
- import { TenantApi } from './api/tenant-api';
14
- import { TenantService } from './services/tenant-service';
15
- import { TenantPublicDTO, AdminCreateRequestDTO } from './models';
16
- /**
17
- * Create a complete Tenant SDK instance
18
- *
19
- * @param apiClient - Configured PERS API client
20
- * @returns Tenant SDK with flattened structure for better DX
21
- */
22
- export declare function createTenantSDK(apiClient: PersApiClient): {
23
- getRemoteTenant: () => Promise<TenantPublicDTO>;
24
- getRemoteLoginToken: () => Promise<string>;
25
- getRemoteClientConfig: () => Promise<import("@explorins/pers-shared").TenantClientConfigDTO>;
26
- updateRemoteTenant: (tenantData: TenantPublicDTO) => Promise<TenantPublicDTO>;
27
- getAdmins: () => Promise<import("@explorins/pers-shared").AdminDTO[]>;
28
- postAdmin: (adminData: AdminCreateRequestDTO) => Promise<import("@explorins/pers-shared").AdminDTO>;
29
- putAdmin: (adminId: string, adminData: AdminCreateRequestDTO) => Promise<import("@explorins/pers-shared").AdminDTO>;
30
- api: TenantApi;
31
- service: TenantService;
32
- };
33
- export type TenantSDK = ReturnType<typeof createTenantSDK>;
34
12
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tenant/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAG7C,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAG1D,cAAc,UAAU,CAAC;AACzB,cAAc,iDAAiD,CAAC;AAGhE,cAAc,UAAU,CAAC;AAGzB,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AAElE;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,SAAS,EAAE,aAAa;;;;qCAcnB,eAAe;;2BAGzB,qBAAqB;wBAExB,MAAM,aAAa,qBAAqB;;;EAO/D;AAED,MAAM,MAAM,SAAS,GAAG,UAAU,CAAC,OAAO,eAAe,CAAC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tenant/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAG7C,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAG1D,cAAc,UAAU,CAAC;AACzB,cAAc,iDAAiD,CAAC;AAGhE,cAAc,UAAU,CAAC"}
package/dist/tenant.cjs CHANGED
@@ -1,212 +1,14 @@
1
1
  'use strict';
2
2
 
3
+ var tenantService = require('./chunks/tenant-service-Ba7xrWED.cjs');
3
4
  var persShared = require('@explorins/pers-shared');
4
5
 
5
- /**
6
- * Platform-Agnostic Tenant API Client
7
- *
8
- * Handles tenant and admin operations using the PERS backend.
9
- * Updated to match new RESTful tenant controller endpoints.
10
- *
11
- * Note: Special header handling (bypass-auth-interceptor) should be handled by PersApiClient internally
12
- * or through endpoint-specific configuration.
13
- */
14
- class TenantApi {
15
- constructor(apiClient) {
16
- this.apiClient = apiClient;
17
- this.basePath = '/tenants';
18
- this.adminPath = '/admins';
19
- }
20
- // ==========================================
21
- // PUBLIC OPERATIONS
22
- // ==========================================
23
- /**
24
- * API KEY: Get current tenant public information
25
- * ✅ UPDATED: Uses /tenants/me endpoint with API key authentication
26
- *
27
- * Requires: X-API-Key header (handled by PersApiClient)
28
- * Returns: Enhanced public tenant information for the authenticated project
29
- */
30
- async getRemoteTenant() {
31
- // Remove cache busting - not needed for authenticated endpoint
32
- const timestamp = Date.now().toString();
33
- const url = `${this.basePath}/me?date=${timestamp}`;
34
- return this.apiClient.get(url);
35
- }
36
- /**
37
- * API KEY: Get remote login token
38
- * ✅ UPDATED: Requires API key authentication
39
- */
40
- async getRemoteLoginToken() {
41
- return this.apiClient.get(`${this.basePath}/login-token`);
42
- }
43
- /**
44
- * API KEY: Get remote client configuration
45
- * ✅ UPDATED: Requires API key authentication
46
- */
47
- async getRemoteClientConfig() {
48
- return this.apiClient.get(`${this.basePath}/client-config`);
49
- }
50
- // ==========================================
51
- // PUBLIC UNAUTHENTICATED OPERATIONS
52
- // ==========================================
53
- /**
54
- * PUBLIC: Get tenant public information by ID (no auth required)
55
- * ✅ NEW: For cases where you need public tenant info without API key
56
- *
57
- * @param tenantId - The tenant ID to retrieve public information for
58
- */
59
- async getPublicTenantById(tenantId) {
60
- const url = `${this.basePath}/${tenantId}`;
61
- return this.apiClient.get(url);
62
- }
63
- // ==========================================
64
- // ADMIN OPERATIONS
65
- // ==========================================
66
- /**
67
- * ADMIN: Update tenant information
68
- * ✅ UPDATED: Uses PUT /tenants (admin endpoint)
69
- */
70
- async updateRemoteTenant(tenantData) {
71
- return this.apiClient.put(`${this.basePath}`, tenantData);
72
- }
73
- /**
74
- * ADMIN: Create new API key
75
- * ✅ NEW: Create new API key for the tenant
76
- */
77
- async createApiKey(keyName) {
78
- return this.apiClient.post(`${this.basePath}/api-keys`, { keyName });
79
- }
80
- /**
81
- * ADMIN: Create new JWT token
82
- * ✅ NEW: Create new JWT token for the tenant
83
- */
84
- async createJwtToken(isTestnet = false) {
85
- return this.apiClient.post(`${this.basePath}/jwt-tokens`, { isTestnet });
86
- }
87
- /**
88
- * ADMIN: Get all tenant admins
89
- */
90
- async getAdmins() {
91
- return this.apiClient.get(`${this.adminPath}`);
92
- }
93
- /**
94
- * ADMIN: Create new admin
95
- */
96
- async postAdmin(adminData) {
97
- return this.apiClient.post(`${this.adminPath}`, adminData);
98
- }
99
- /**
100
- * ADMIN: Update admin (toggle tenant association)
101
- */
102
- async putAdmin(adminId, adminData) {
103
- return this.apiClient.put(`${this.adminPath}/${adminId}/tenant`, adminData);
104
- }
105
- }
106
6
 
107
- /**
108
- * Platform-Agnostic Tenant Service
109
- *
110
- * Contains tenant business logic and operations that work across platforms.
111
- * No framework dependencies - pure TypeScript business logic.
112
- * Matches framework TenantApiService capabilities exactly.
113
- */
114
- class TenantService {
115
- constructor(tenantApi) {
116
- this.tenantApi = tenantApi;
117
- }
118
- // ==========================================
119
- // PUBLIC OPERATIONS
120
- // ==========================================
121
- /**
122
- * PUBLIC: Get tenant public information
123
- */
124
- async getRemoteTenant() {
125
- return this.tenantApi.getRemoteTenant();
126
- }
127
- /**
128
- * PUBLIC: Get remote login token
129
- */
130
- async getRemoteLoginToken() {
131
- return this.tenantApi.getRemoteLoginToken();
132
- }
133
- /**
134
- * PUBLIC: Get remote client configuration
135
- */
136
- async getRemoteClientConfig() {
137
- return this.tenantApi.getRemoteClientConfig();
138
- }
139
- // ==========================================
140
- // ADMIN OPERATIONS
141
- // ==========================================
142
- /**
143
- * ADMIN: Update tenant information
144
- * ✅ FIXED: Uses TenantPublicDTO directly like framework
145
- */
146
- async updateRemoteTenant(tenantData) {
147
- return this.tenantApi.updateRemoteTenant(tenantData);
148
- }
149
- /**
150
- * ADMIN: Get all tenant admins
151
- */
152
- async getAdmins() {
153
- return this.tenantApi.getAdmins();
154
- }
155
- /**
156
- * ADMIN: Create new admin
157
- * ✅ FIXED: Renamed to match framework postAdmin method
158
- */
159
- async postAdmin(adminData) {
160
- return this.tenantApi.postAdmin(adminData);
161
- }
162
- /**
163
- * ADMIN: Update admin (toggle tenant association)
164
- * ✅ FIXED: Renamed to match framework putAdmin method
165
- */
166
- async putAdmin(adminId, adminData) {
167
- return this.tenantApi.putAdmin(adminId, adminData);
168
- }
169
- }
170
-
171
- /**
172
- * @explorins/pers-sdk-tenant
173
- *
174
- * Platform-agnostic Tenant Domain SDK for PERS ecosystem
175
- * Handles tenant management and admin operations for multi-tenant architecture
176
- */
177
- // API Layer
178
- /**
179
- * Create a complete Tenant SDK instance
180
- *
181
- * @param apiClient - Configured PERS API client
182
- * @returns Tenant SDK with flattened structure for better DX
183
- */
184
- function createTenantSDK(apiClient) {
185
- const tenantApi = new TenantApi(apiClient);
186
- const tenantService = new TenantService(tenantApi);
187
- return {
188
- // Direct access to service methods (primary interface)
189
- // ✅ FRAMEWORK ALIGNED: Only methods actually used by framework
190
- // Public methods
191
- getRemoteTenant: () => tenantService.getRemoteTenant(),
192
- getRemoteLoginToken: () => tenantService.getRemoteLoginToken(),
193
- getRemoteClientConfig: () => tenantService.getRemoteClientConfig(),
194
- // Admin methods - ✅ FIXED: Matches framework method names exactly
195
- updateRemoteTenant: (tenantData) => tenantService.updateRemoteTenant(tenantData),
196
- getAdmins: () => tenantService.getAdmins(),
197
- postAdmin: (adminData) => tenantService.postAdmin(adminData),
198
- putAdmin: (adminId, adminData) => tenantService.putAdmin(adminId, adminData),
199
- // Advanced access for edge cases
200
- api: tenantApi,
201
- service: tenantService
202
- };
203
- }
204
7
 
8
+ exports.TenantApi = tenantService.TenantApi;
9
+ exports.TenantService = tenantService.TenantService;
205
10
  Object.defineProperty(exports, "AccountOwnerType", {
206
- enumerable: true,
207
- get: function () { return persShared.AccountOwnerType; }
11
+ enumerable: true,
12
+ get: function () { return persShared.AccountOwnerType; }
208
13
  });
209
- exports.TenantApi = TenantApi;
210
- exports.TenantService = TenantService;
211
- exports.createTenantSDK = createTenantSDK;
212
14
  //# sourceMappingURL=tenant.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"tenant.cjs","sources":["../src/tenant/api/tenant-api.ts","../src/tenant/services/tenant-service.ts","../src/tenant/index.ts"],"sourcesContent":[null,null,null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tenant.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;"}