@explorins/pers-sdk 1.6.4 → 1.6.9

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 (212) hide show
  1. package/README.md +86 -342
  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 -3
  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 -447
  19. package/dist/campaign.cjs.map +1 -1
  20. package/dist/campaign.js +1 -446
  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-Bd6BZHgt.js +5672 -0
  55. package/dist/chunks/pers-sdk-Bd6BZHgt.js.map +1 -0
  56. package/dist/chunks/pers-sdk-CmyPEhy7.cjs +5705 -0
  57. package/dist/chunks/pers-sdk-CmyPEhy7.cjs.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-D75TcHkh.cjs} +28 -53
  75. package/dist/chunks/web3-chain-service-D75TcHkh.cjs.map +1 -0
  76. package/dist/chunks/{index-CM21r58m.js → web3-chain-service-Dp5Z8p9I.js} +28 -51
  77. package/dist/chunks/web3-chain-service-Dp5Z8p9I.js.map +1 -0
  78. package/dist/core/auth/api/auth-api.d.ts +11 -14
  79. package/dist/core/auth/api/auth-api.d.ts.map +1 -1
  80. package/dist/core/auth/auth-provider.interface.d.ts +36 -68
  81. package/dist/core/auth/auth-provider.interface.d.ts.map +1 -1
  82. package/dist/core/auth/default-auth-provider.d.ts +13 -59
  83. package/dist/core/auth/default-auth-provider.d.ts.map +1 -1
  84. package/dist/core/auth/index.d.ts +8 -14
  85. package/dist/core/auth/index.d.ts.map +1 -1
  86. package/dist/core/auth/refresh-manager.d.ts +15 -0
  87. package/dist/core/auth/refresh-manager.d.ts.map +1 -0
  88. package/dist/core/auth/services/auth-service.d.ts +15 -21
  89. package/dist/core/auth/services/auth-service.d.ts.map +1 -1
  90. package/dist/core/auth/token-storage.d.ts +26 -48
  91. package/dist/core/auth/token-storage.d.ts.map +1 -1
  92. package/dist/core/environment.d.ts +2 -4
  93. package/dist/core/environment.d.ts.map +1 -1
  94. package/dist/core/errors/index.d.ts +1 -5
  95. package/dist/core/errors/index.d.ts.map +1 -1
  96. package/dist/core/index.d.ts +4 -3
  97. package/dist/core/index.d.ts.map +1 -1
  98. package/dist/core/pers-api-client.d.ts +14 -156
  99. package/dist/core/pers-api-client.d.ts.map +1 -1
  100. package/dist/core/pers-config.d.ts +13 -12
  101. package/dist/core/pers-config.d.ts.map +1 -1
  102. package/dist/core/utils/jwt.function.d.ts +9 -0
  103. package/dist/core/utils/jwt.function.d.ts.map +1 -1
  104. package/dist/core.cjs +22 -18
  105. package/dist/core.cjs.map +1 -1
  106. package/dist/core.js +13 -14
  107. package/dist/core.js.map +1 -1
  108. package/dist/donation/index.d.ts +0 -15
  109. package/dist/donation/index.d.ts.map +1 -1
  110. package/dist/donation.cjs +5 -75
  111. package/dist/donation.cjs.map +1 -1
  112. package/dist/donation.js +1 -74
  113. package/dist/donation.js.map +1 -1
  114. package/dist/index.cjs +50 -56
  115. package/dist/index.cjs.map +1 -1
  116. package/dist/index.js +15 -15
  117. package/dist/managers/analytics-manager.d.ts +290 -10
  118. package/dist/managers/analytics-manager.d.ts.map +1 -1
  119. package/dist/managers/auth-manager.d.ts +123 -23
  120. package/dist/managers/auth-manager.d.ts.map +1 -1
  121. package/dist/managers/business-manager.d.ts +273 -18
  122. package/dist/managers/business-manager.d.ts.map +1 -1
  123. package/dist/managers/campaign-manager.d.ts +585 -46
  124. package/dist/managers/campaign-manager.d.ts.map +1 -1
  125. package/dist/managers/donation-manager.d.ts +5 -5
  126. package/dist/managers/donation-manager.d.ts.map +1 -1
  127. package/dist/managers/file-manager.d.ts +430 -13
  128. package/dist/managers/file-manager.d.ts.map +1 -1
  129. package/dist/managers/purchase-manager.d.ts +340 -15
  130. package/dist/managers/purchase-manager.d.ts.map +1 -1
  131. package/dist/managers/redemption-manager.d.ts +450 -27
  132. package/dist/managers/redemption-manager.d.ts.map +1 -1
  133. package/dist/managers/tenant-manager.d.ts +5 -5
  134. package/dist/managers/tenant-manager.d.ts.map +1 -1
  135. package/dist/managers/token-manager.d.ts +245 -21
  136. package/dist/managers/token-manager.d.ts.map +1 -1
  137. package/dist/managers/transaction-manager.d.ts +447 -18
  138. package/dist/managers/transaction-manager.d.ts.map +1 -1
  139. package/dist/managers/user-manager.d.ts +216 -14
  140. package/dist/managers/user-manager.d.ts.map +1 -1
  141. package/dist/managers/web3-manager.d.ts +4 -4
  142. package/dist/managers/web3-manager.d.ts.map +1 -1
  143. package/dist/package.json +10 -4
  144. package/dist/payment/index.d.ts +0 -21
  145. package/dist/payment/index.d.ts.map +1 -1
  146. package/dist/payment.cjs +5 -255
  147. package/dist/payment.cjs.map +1 -1
  148. package/dist/payment.js +1 -254
  149. package/dist/payment.js.map +1 -1
  150. package/dist/pers-sdk.d.ts +141 -34
  151. package/dist/pers-sdk.d.ts.map +1 -1
  152. package/dist/redemption/index.d.ts +0 -25
  153. package/dist/redemption/index.d.ts.map +1 -1
  154. package/dist/redemption.cjs +5 -365
  155. package/dist/redemption.cjs.map +1 -1
  156. package/dist/redemption.js +1 -364
  157. package/dist/redemption.js.map +1 -1
  158. package/dist/tenant/index.d.ts +0 -22
  159. package/dist/tenant/index.d.ts.map +1 -1
  160. package/dist/tenant.cjs +5 -203
  161. package/dist/tenant.cjs.map +1 -1
  162. package/dist/tenant.js +1 -202
  163. package/dist/tenant.js.map +1 -1
  164. package/dist/token.cjs +6 -6
  165. package/dist/token.js +2 -2
  166. package/dist/transaction/index.d.ts +0 -22
  167. package/dist/transaction/index.d.ts.map +1 -1
  168. package/dist/transaction.cjs +0 -40
  169. package/dist/transaction.cjs.map +1 -1
  170. package/dist/transaction.js +1 -40
  171. package/dist/transaction.js.map +1 -1
  172. package/dist/user/index.d.ts +0 -25
  173. package/dist/user/index.d.ts.map +1 -1
  174. package/dist/user.cjs +5 -185
  175. package/dist/user.cjs.map +1 -1
  176. package/dist/user.js +1 -184
  177. package/dist/user.js.map +1 -1
  178. package/dist/web3/index.d.ts +0 -11
  179. package/dist/web3/index.d.ts.map +1 -1
  180. package/dist/web3-chain/index.d.ts +0 -9
  181. package/dist/web3-chain/index.d.ts.map +1 -1
  182. package/dist/web3-chain/services/getWeb3FCD.service.d.ts.map +1 -1
  183. package/dist/web3-chain.cjs +5 -6
  184. package/dist/web3-chain.cjs.map +1 -1
  185. package/dist/web3-chain.js +2 -2
  186. package/dist/web3.cjs +6 -10
  187. package/dist/web3.cjs.map +1 -1
  188. package/dist/web3.js +1 -4
  189. package/dist/web3.js.map +1 -1
  190. package/package.json +10 -4
  191. package/dist/chunks/base-token-service-D0KANDgM.js +0 -139
  192. package/dist/chunks/base-token-service-D0KANDgM.js.map +0 -1
  193. package/dist/chunks/base-token-service-zNfPjHRx.cjs +0 -141
  194. package/dist/chunks/base-token-service-zNfPjHRx.cjs.map +0 -1
  195. package/dist/chunks/index-BfOoX87y.cjs.map +0 -1
  196. package/dist/chunks/index-CJ9Jfa4A.js.map +0 -1
  197. package/dist/chunks/index-CM21r58m.js.map +0 -1
  198. package/dist/chunks/index-CzEluQmf.cjs.map +0 -1
  199. package/dist/chunks/pers-sdk-DbPwFKrf.cjs +0 -3378
  200. package/dist/chunks/pers-sdk-DbPwFKrf.cjs.map +0 -1
  201. package/dist/chunks/pers-sdk-Z6MKeFBX.js +0 -3353
  202. package/dist/chunks/pers-sdk-Z6MKeFBX.js.map +0 -1
  203. package/dist/chunks/token-sdk-BW4kkJb3.js.map +0 -1
  204. package/dist/chunks/token-sdk-CiAbOb6c.cjs.map +0 -1
  205. package/dist/core/auth/auth-constants.d.ts +0 -33
  206. package/dist/core/auth/auth-constants.d.ts.map +0 -1
  207. package/dist/core/auth/auth-errors.d.ts +0 -8
  208. package/dist/core/auth/auth-errors.d.ts.map +0 -1
  209. package/dist/core/auth/create-auth-provider.d.ts +0 -27
  210. package/dist/core/auth/create-auth-provider.d.ts.map +0 -1
  211. package/dist/core/auth/token-refresh.d.ts +0 -91
  212. package/dist/core/auth/token-refresh.d.ts.map +0 -1
@@ -0,0 +1,400 @@
1
+ /**
2
+ * Platform-Agnostic Campaign API Client (NEW - RESTful Design)
3
+ *
4
+ * Updated to use the new microservice-ready campaign controllers:
5
+ * - CampaignsController: Core campaign operations
6
+ * - CampaignTagsController: Tag management
7
+ * - CampaignTokensController: Token unit operations
8
+ * - CampaignTriggersController: Trigger system
9
+ * - CampaignEngagementsController: Business relationships
10
+ * - CampaignClaimsController: Claims processing
11
+ *
12
+ * Uses @explorins/pers-shared DTOs for consistency with backend.
13
+ * All endpoints updated to new RESTful patterns without role revelation.
14
+ */
15
+ class CampaignApi {
16
+ constructor(apiClient) {
17
+ this.apiClient = apiClient;
18
+ }
19
+ // ==========================================
20
+ // CORE CAMPAIGN OPERATIONS (/campaigns)
21
+ // ==========================================
22
+ /**
23
+ * PUBLIC: Get all active campaigns
24
+ * NEW: /campaigns (intelligent access detection)
25
+ */
26
+ async getActiveCampaigns() {
27
+ return this.apiClient.get('/campaigns');
28
+ }
29
+ /**
30
+ * ADMIN: Get campaigns with filtering options
31
+ * NEW: /campaigns with query parameters (admin access detected automatically)
32
+ */
33
+ async getCampaigns(options) {
34
+ let url = '/campaigns';
35
+ const params = [];
36
+ if (options) {
37
+ if (options.active !== undefined)
38
+ params.push(`active=${options.active}`);
39
+ if (options.tag)
40
+ params.push(`tag=${encodeURIComponent(options.tag)}`);
41
+ if (options.limit)
42
+ params.push(`limit=${options.limit}`);
43
+ if (options.offset)
44
+ params.push(`offset=${options.offset}`);
45
+ if (options.sort)
46
+ params.push(`sort=${options.sort}`);
47
+ if (options.order)
48
+ params.push(`order=${options.order}`);
49
+ }
50
+ if (params.length > 0) {
51
+ url += `?${params.join('&')}`;
52
+ }
53
+ return this.apiClient.get(url);
54
+ }
55
+ /**
56
+ * PUBLIC: Get campaign by ID
57
+ * NEW: /campaigns/{id}
58
+ */
59
+ async getCampaignById(id) {
60
+ return this.apiClient.get(`/campaigns/${id}`);
61
+ }
62
+ /**
63
+ * ADMIN: Create campaign
64
+ * NEW: POST /campaigns
65
+ */
66
+ async createCampaign(campaign) {
67
+ return this.apiClient.post('/campaigns', campaign);
68
+ }
69
+ /**
70
+ * ADMIN: Update campaign
71
+ * NEW: PUT /campaigns/{id}
72
+ */
73
+ async updateCampaign(campaignId, campaign) {
74
+ return this.apiClient.put(`/campaigns/${campaignId}`, campaign);
75
+ }
76
+ /**
77
+ * ADMIN: Toggle campaign active status
78
+ * NEW: PUT /campaigns/{id}/status
79
+ */
80
+ async toggleCampaignActive(campaignId) {
81
+ return this.apiClient.put(`/campaigns/${campaignId}/status`, {});
82
+ }
83
+ /**
84
+ * ADMIN: Toggle campaign testnet environment
85
+ * NEW: PUT /campaigns/{id}/environment
86
+ */
87
+ async toggleCampaignTestnet(campaignId) {
88
+ return this.apiClient.put(`/campaigns/${campaignId}/environment`, {});
89
+ }
90
+ /**
91
+ * ADMIN: Delete campaign
92
+ * NEW: DELETE /campaigns/{id}
93
+ */
94
+ async deleteCampaign(campaignId) {
95
+ return this.apiClient.delete(`/campaigns/${campaignId}`);
96
+ }
97
+ // ==========================================
98
+ // TAG MANAGEMENT (/campaign-tags)
99
+ // ==========================================
100
+ /**
101
+ * ADMIN: Get all unique campaign tags
102
+ * NEW: GET /campaign-tags
103
+ */
104
+ async getAllUniqueTags() {
105
+ return this.apiClient.get('/campaigns/tags');
106
+ }
107
+ /**
108
+ * ADMIN: Update campaign tags (replace all)
109
+ * NEW: PUT /campaign-tags/{id}
110
+ */
111
+ async updateCampaignTags(campaignId, tags) {
112
+ return this.apiClient.put(`/campaigns/${campaignId}/tags`, { tags });
113
+ }
114
+ /**
115
+ * ADMIN: Add tags to campaign
116
+ * NEW: POST /campaign-tags/{id}
117
+ */
118
+ async addTagsToCampaign(campaignId, tags) {
119
+ return this.apiClient.post(`/campaigns/${campaignId}/tags`, { tags });
120
+ }
121
+ /**
122
+ * ADMIN: Remove tag from campaign
123
+ * NEW: DELETE /campaign-tags/{id}/{tag}
124
+ */
125
+ async removeTagFromCampaign(campaignId, tag) {
126
+ return this.apiClient.delete(`/campaigns/${campaignId}/tags/${encodeURIComponent(tag)}`);
127
+ }
128
+ // ==========================================
129
+ // TOKEN MANAGEMENT (/campaign-tokens)
130
+ // ==========================================
131
+ /**
132
+ * ADMIN: Create campaign token unit
133
+ * NEW: POST /campaign-tokens/{id}
134
+ */
135
+ async createCampaignTokenUnit(campaignId, campaignTokenUnit) {
136
+ return this.apiClient.post(`/campaigns/${campaignId}/tokens`, campaignTokenUnit);
137
+ }
138
+ /**
139
+ * ADMIN: Update campaign token unit
140
+ * NEW: PUT /campaign-tokens/{id}/{tokenUnitId}
141
+ */
142
+ async updateCampaignTokenUnit(campaignId, tokenUnitId, campaignTokenUnit) {
143
+ return this.apiClient.put(`/campaigns/${campaignId}/tokens/${tokenUnitId}`, campaignTokenUnit);
144
+ }
145
+ /**
146
+ * ADMIN: Delete campaign token unit
147
+ * NEW: DELETE /campaign-tokens/{id}/{tokenUnitId}
148
+ */
149
+ async deleteCampaignTokenUnit(campaignId, campaignTokenUnitId) {
150
+ return this.apiClient.delete(`/campaigns/${campaignId}/tokens/${campaignTokenUnitId}`);
151
+ }
152
+ // ==========================================
153
+ // TRIGGER SYSTEM (/campaign-triggers)
154
+ // ==========================================
155
+ /**
156
+ * PUBLIC: Get campaign triggers catalog
157
+ * NEW: GET /campaign-triggers
158
+ */
159
+ async getCampaignTriggers() {
160
+ return this.apiClient.get(`/campaign-triggers`);
161
+ }
162
+ /**
163
+ * ADMIN: Create campaign trigger
164
+ * NEW: POST /campaign-triggers
165
+ */
166
+ async createCampaignTrigger(trigger) {
167
+ return this.apiClient.post(`/campaign-triggers`, trigger);
168
+ }
169
+ /**
170
+ * ADMIN: Update campaign trigger
171
+ * NEW: PUT /campaign-triggers/{id}
172
+ */
173
+ async updateCampaignTrigger(triggerId, trigger) {
174
+ return this.apiClient.put(`/campaign-triggers/${triggerId}`, trigger);
175
+ }
176
+ /**
177
+ * ADMIN: Delete campaign trigger
178
+ * NEW: DELETE /campaign-triggers/{id}
179
+ */
180
+ async deleteCampaignTrigger(triggerId) {
181
+ return this.apiClient.delete(`/campaign-triggers/${triggerId}`);
182
+ }
183
+ /**
184
+ * ADMIN: Assign trigger to campaign
185
+ * NEW: PUT /campaign-triggers/{triggerId}/assign/{campaignId}
186
+ */
187
+ async setCampaignTrigger(campaignId, triggerId) {
188
+ return this.apiClient.put(`/campaign-triggers/${triggerId}/assign/${campaignId}`, {});
189
+ }
190
+ /**
191
+ * ADMIN: Create trigger condition
192
+ * NEW: POST /campaign-triggers/conditions
193
+ */
194
+ async createTriggerCondition(condition) {
195
+ return this.apiClient.post('/campaign-triggers/conditions', condition);
196
+ }
197
+ /**
198
+ * ADMIN: Update trigger condition
199
+ * NEW: PUT /campaign-triggers/conditions/{id}
200
+ */
201
+ async updateTriggerCondition(conditionId, condition) {
202
+ return this.apiClient.put(`/campaign-triggers/conditions/${conditionId}`, condition);
203
+ }
204
+ /**
205
+ * ADMIN: Add/Remove condition to trigger
206
+ * NEW: PUT /campaign-triggers/{triggerId}/conditions/{conditionId}
207
+ */
208
+ async addOrRemoveConditionToTrigger(triggerId, conditionId) {
209
+ return this.apiClient.put(`/campaign-triggers/${triggerId}/conditions/${conditionId}`, {});
210
+ }
211
+ // ==========================================
212
+ // BUSINESS ENGAGEMENTS (/campaign-engagements)
213
+ // ==========================================
214
+ /**
215
+ * ADMIN: Add business engagement to campaign
216
+ * NEW: POST /campaign-engagements/{id}
217
+ */
218
+ async addBusinessEngagementToCampaign(campaignId, campaignBusinessEngagement) {
219
+ return this.apiClient.post(`/campaigns/${campaignId}/engagements`, campaignBusinessEngagement);
220
+ }
221
+ /**
222
+ * ADMIN: Update campaign business engagement
223
+ * NEW: PUT /campaign-engagements/{id}/{businessEngagementId}
224
+ */
225
+ async updateCampaignBusinessEngagement(campaignId, businessEngagementId, campaignBusinessEngagement) {
226
+ return this.apiClient.put(`/campaigns/${campaignId}/engagements/${businessEngagementId}`, campaignBusinessEngagement);
227
+ }
228
+ /**
229
+ * ADMIN: Delete campaign business engagement
230
+ * NEW: DELETE /campaign-engagements/{id}/{businessEngagementId}
231
+ */
232
+ async deleteCampaignBusinessEngagement(campaignId, businessEngagementId) {
233
+ return this.apiClient.delete(`/campaigns/${campaignId}/engagements/${businessEngagementId}`);
234
+ }
235
+ // ==========================================
236
+ // CLAIMS PROCESSING (/campaign-claims)
237
+ // ==========================================
238
+ /**
239
+ * USER: Claim campaign reward
240
+ */
241
+ async claimCampaign(request) {
242
+ return this.apiClient.post('/campaigns/claims', request);
243
+ }
244
+ /**
245
+ * Unified claims retrieval method - handles all contexts
246
+ * USER: Automatically shows own claims (/campaigns/claims/me)
247
+ * ADMIN/BUSINESS: Shows all accessible claims with optional filters
248
+ */
249
+ async getClaims(filters) {
250
+ // User context - use /me endpoint
251
+ if (filters?.userContext) {
252
+ const queryString = filters.campaignId ? `?campaignId=${encodeURIComponent(filters.campaignId)}` : '';
253
+ return this.apiClient.get(`/campaigns/claims/me${queryString}`);
254
+ }
255
+ // Admin/Business context - use main endpoint with filters
256
+ const validParams = Object.entries(filters || {})
257
+ .filter(([key, value]) => key !== 'userContext' && value !== undefined)
258
+ .map(([key, value]) => `${key}=${encodeURIComponent(value)}`)
259
+ .join('&');
260
+ const queryString = validParams ? `?${validParams}` : '';
261
+ return this.apiClient.get(`/campaigns/claims${queryString}`);
262
+ }
263
+ }
264
+
265
+ /**
266
+ * Platform-Agnostic Campaign Service
267
+ *
268
+ * Contains campaign business logic and operations that work across platforms.
269
+ * No framework dependencies - pure TypeScript business logic.
270
+ *
271
+ * Focuses only on actual backend capabilities.
272
+ */
273
+ class CampaignService {
274
+ constructor(campaignApi) {
275
+ this.campaignApi = campaignApi;
276
+ }
277
+ // ==========================================
278
+ // PUBLIC OPERATIONS
279
+ // ==========================================
280
+ /**
281
+ * PUBLIC: Get all active campaigns
282
+ */
283
+ async getActiveCampaigns() {
284
+ return this.campaignApi.getActiveCampaigns();
285
+ }
286
+ /**
287
+ * PUBLIC: Get campaign by ID
288
+ */
289
+ async getCampaignById(id) {
290
+ return this.campaignApi.getCampaignById(id);
291
+ }
292
+ // ==========================================
293
+ // AUTHENTICATED OPERATIONS
294
+ // ==========================================
295
+ /**
296
+ * AUTH: Claim campaign
297
+ */
298
+ async claimCampaign(request) {
299
+ return this.campaignApi.claimCampaign(request);
300
+ }
301
+ /**
302
+ * AUTH: Get claims for logged user
303
+ */
304
+ async getClaimsForLoggedUser() {
305
+ return this.campaignApi.getClaims({ userContext: true });
306
+ }
307
+ // ==========================================
308
+ // ADMIN OPERATIONS
309
+ // ==========================================
310
+ /**
311
+ * ADMIN: Get campaigns with optional active filter
312
+ */
313
+ async getCampaigns(active) {
314
+ return this.campaignApi.getCampaigns(active !== undefined ? { active } : undefined);
315
+ }
316
+ /**
317
+ * ADMIN: Get campaign triggers
318
+ */
319
+ async getCampaignTriggers() {
320
+ return this.campaignApi.getCampaignTriggers();
321
+ }
322
+ /**
323
+ * ADMIN: Toggle campaign active status
324
+ */
325
+ async toggleCampaignActive(campaignId) {
326
+ return this.campaignApi.toggleCampaignActive(campaignId);
327
+ }
328
+ /**
329
+ * ADMIN: Toggle campaign testnet environment
330
+ */
331
+ async toggleCampaignTestnet(campaignId) {
332
+ return this.campaignApi.toggleCampaignTestnet(campaignId);
333
+ }
334
+ /**
335
+ * ADMIN: Create campaign
336
+ */
337
+ async createCampaign(campaign) {
338
+ return this.campaignApi.createCampaign(campaign);
339
+ }
340
+ /**
341
+ * ADMIN: Set campaign trigger
342
+ */
343
+ async setCampaignTrigger(campaignId, triggerId) {
344
+ return this.campaignApi.setCampaignTrigger(campaignId, triggerId);
345
+ }
346
+ /**
347
+ * ADMIN: Update campaign
348
+ */
349
+ async updateCampaign(campaignId, campaign) {
350
+ return this.campaignApi.updateCampaign(campaignId, campaign);
351
+ }
352
+ /**
353
+ * ADMIN: Create campaign token unit
354
+ */
355
+ async createCampaignTokenUnit(campaignId, campaignTokenUnit) {
356
+ return this.campaignApi.createCampaignTokenUnit(campaignId, campaignTokenUnit);
357
+ }
358
+ /**
359
+ * ADMIN: Delete campaign token unit
360
+ */
361
+ async deleteCampaignTokenUnit(campaignId, campaignTokenUnitId) {
362
+ return this.campaignApi.deleteCampaignTokenUnit(campaignId, campaignTokenUnitId);
363
+ }
364
+ /**
365
+ * ADMIN: Add business engagement to campaign
366
+ */
367
+ async addBusinessEngagementToCampaign(campaignId, campaignBusinessEngagement) {
368
+ return this.campaignApi.addBusinessEngagementToCampaign(campaignId, campaignBusinessEngagement);
369
+ }
370
+ /**
371
+ * ADMIN: Update campaign business engagement
372
+ */
373
+ async updateCampaignBusinessEngagement(campaignId, businessEngagementId, campaignBusinessEngagement) {
374
+ return this.campaignApi.updateCampaignBusinessEngagement(campaignId, businessEngagementId, campaignBusinessEngagement);
375
+ }
376
+ async deleteCampaignBusinessEngagement(campaignId, businessEngagementId) {
377
+ return this.campaignApi.deleteCampaignBusinessEngagement(campaignId, businessEngagementId);
378
+ }
379
+ /**
380
+ * ADMIN: Get all campaign claims
381
+ */
382
+ async getCampaignClaims() {
383
+ return this.campaignApi.getClaims();
384
+ }
385
+ /**
386
+ * ADMIN: Get campaign claims by user ID
387
+ */
388
+ async getCampaignClaimsByUserId(userId) {
389
+ return this.campaignApi.getClaims({ userId });
390
+ }
391
+ /**
392
+ * ADMIN: Get campaign claims by business ID
393
+ */
394
+ async getCampaignClaimsByBusinessId(businessId) {
395
+ return this.campaignApi.getClaims({ businessId });
396
+ }
397
+ }
398
+
399
+ export { CampaignApi as C, CampaignService as a };
400
+ //# sourceMappingURL=campaign-service-Dd7gMjC9.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"campaign-service-Dd7gMjC9.js","sources":["../../src/campaign/api/campaign-api.ts","../../src/campaign/services/campaign-service.ts"],"sourcesContent":[null,null],"names":[],"mappings":"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"}
@@ -0,0 +1,47 @@
1
+ /**
2
+ * Platform-Agnostic Donation API Client
3
+ *
4
+ * Handles donation operations using the PERS backend.
5
+ * Matches framework DonationApiService methods exactly.
6
+ */
7
+ class DonationApi {
8
+ constructor(apiClient) {
9
+ this.apiClient = apiClient;
10
+ }
11
+ // ==========================================
12
+ // PUBLIC OPERATIONS
13
+ // ==========================================
14
+ /**
15
+ * PUBLIC: Get all donation types
16
+ * ✅ ONLY method actually used by framework
17
+ */
18
+ async getAllDonationTypes() {
19
+ return this.apiClient.get('/purchases/donation-types');
20
+ }
21
+ }
22
+
23
+ /**
24
+ * Platform-Agnostic Donation Service
25
+ *
26
+ * Contains donation business logic and operations that work across platforms.
27
+ * No framework dependencies - pure TypeScript business logic.
28
+ * Matches framework DonationApiService capabilities exactly.
29
+ */
30
+ class DonationService {
31
+ constructor(donationApi) {
32
+ this.donationApi = donationApi;
33
+ }
34
+ // ==========================================
35
+ // PUBLIC OPERATIONS
36
+ // ==========================================
37
+ /**
38
+ * PUBLIC: Get all donation types
39
+ * ✅ ONLY method actually used by framework
40
+ */
41
+ async getAllDonationTypes() {
42
+ return this.donationApi.getAllDonationTypes();
43
+ }
44
+ }
45
+
46
+ export { DonationApi as D, DonationService as a };
47
+ //# sourceMappingURL=donation-service-CyJS4DIZ.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"donation-service-CyJS4DIZ.js","sources":["../../src/donation/api/donation-api.ts","../../src/donation/services/donation-service.ts"],"sourcesContent":[null,null],"names":[],"mappings":"AAGA;;;;;AAKG;MACU,WAAW,CAAA;AACtB,IAAA,WAAA,CAAoB,SAAwB,EAAA;QAAxB,IAAA,CAAA,SAAS,GAAT,SAAS;IAAkB;;;;AAM/C;;;AAGG;AACH,IAAA,MAAM,mBAAmB,GAAA;QACvB,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAoB,2BAA2B,CAAC;IAC3E;AACD;;ACpBD;;;;;;AAMG;MACU,eAAe,CAAA;AAC1B,IAAA,WAAA,CAAoB,WAAwB,EAAA;QAAxB,IAAA,CAAA,WAAW,GAAX,WAAW;IAAgB;;;;AAM/C;;;AAGG;AACH,IAAA,MAAM,mBAAmB,GAAA;AACvB,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,mBAAmB,EAAE;IAC/C;AACD;;;;"}
@@ -0,0 +1,50 @@
1
+ 'use strict';
2
+
3
+ /**
4
+ * Platform-Agnostic Donation API Client
5
+ *
6
+ * Handles donation operations using the PERS backend.
7
+ * Matches framework DonationApiService methods exactly.
8
+ */
9
+ class DonationApi {
10
+ constructor(apiClient) {
11
+ this.apiClient = apiClient;
12
+ }
13
+ // ==========================================
14
+ // PUBLIC OPERATIONS
15
+ // ==========================================
16
+ /**
17
+ * PUBLIC: Get all donation types
18
+ * ✅ ONLY method actually used by framework
19
+ */
20
+ async getAllDonationTypes() {
21
+ return this.apiClient.get('/purchases/donation-types');
22
+ }
23
+ }
24
+
25
+ /**
26
+ * Platform-Agnostic Donation Service
27
+ *
28
+ * Contains donation business logic and operations that work across platforms.
29
+ * No framework dependencies - pure TypeScript business logic.
30
+ * Matches framework DonationApiService capabilities exactly.
31
+ */
32
+ class DonationService {
33
+ constructor(donationApi) {
34
+ this.donationApi = donationApi;
35
+ }
36
+ // ==========================================
37
+ // PUBLIC OPERATIONS
38
+ // ==========================================
39
+ /**
40
+ * PUBLIC: Get all donation types
41
+ * ✅ ONLY method actually used by framework
42
+ */
43
+ async getAllDonationTypes() {
44
+ return this.donationApi.getAllDonationTypes();
45
+ }
46
+ }
47
+
48
+ exports.DonationApi = DonationApi;
49
+ exports.DonationService = DonationService;
50
+ //# sourceMappingURL=donation-service-D-xFrONi.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"donation-service-D-xFrONi.cjs","sources":["../../src/donation/api/donation-api.ts","../../src/donation/services/donation-service.ts"],"sourcesContent":[null,null],"names":[],"mappings":";;AAGA;;;;;AAKG;MACU,WAAW,CAAA;AACtB,IAAA,WAAA,CAAoB,SAAwB,EAAA;QAAxB,IAAA,CAAA,SAAS,GAAT,SAAS;IAAkB;;;;AAM/C;;;AAGG;AACH,IAAA,MAAM,mBAAmB,GAAA;QACvB,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAoB,2BAA2B,CAAC;IAC3E;AACD;;ACpBD;;;;;;AAMG;MACU,eAAe,CAAA;AAC1B,IAAA,WAAA,CAAoB,WAAwB,EAAA;QAAxB,IAAA,CAAA,WAAW,GAAX,WAAW;IAAgB;;;;AAM/C;;;AAGG;AACH,IAAA,MAAM,mBAAmB,GAAA;AACvB,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,mBAAmB,EAAE;IAC/C;AACD;;;;;"}