@explorins/pers-sdk 1.1.0-beta.0 → 1.1.3

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 (239) hide show
  1. package/dist/analytics/api/analytics-api.d.ts +17 -0
  2. package/dist/analytics/api/analytics-api.d.ts.map +1 -0
  3. package/dist/analytics/index.d.ts +28 -0
  4. package/dist/analytics/index.d.ts.map +1 -0
  5. package/dist/analytics/models/index.d.ts +61 -0
  6. package/dist/analytics/models/index.d.ts.map +1 -0
  7. package/dist/analytics/services/analytics-service.d.ts +19 -0
  8. package/dist/analytics/services/analytics-service.d.ts.map +1 -0
  9. package/dist/analytics.cjs +76 -0
  10. package/dist/analytics.cjs.map +1 -0
  11. package/dist/analytics.d.ts +28 -0
  12. package/dist/analytics.js +72 -0
  13. package/dist/analytics.js.map +1 -0
  14. package/dist/auth-admin/api/auth-admin-api.d.ts +27 -0
  15. package/dist/auth-admin/api/auth-admin-api.d.ts.map +1 -0
  16. package/dist/auth-admin/index.d.ts +26 -0
  17. package/dist/auth-admin/index.d.ts.map +1 -0
  18. package/dist/auth-admin/services/auth-admin-service.d.ts +23 -0
  19. package/dist/auth-admin/services/auth-admin-service.d.ts.map +1 -0
  20. package/dist/auth-admin.cjs +96 -0
  21. package/dist/auth-admin.cjs.map +1 -0
  22. package/dist/auth-admin.d.ts +26 -0
  23. package/dist/auth-admin.js +92 -0
  24. package/dist/auth-admin.js.map +1 -0
  25. package/dist/business/api/business-api.d.ts +133 -0
  26. package/dist/business/api/business-api.d.ts.map +1 -0
  27. package/dist/business/index.d.ts +34 -0
  28. package/dist/business/index.d.ts.map +1 -0
  29. package/{src/business/models/index.ts → dist/business/models/index.d.ts} +8 -13
  30. package/dist/business/models/index.d.ts.map +1 -0
  31. package/dist/business/services/business-service.d.ts +51 -0
  32. package/dist/business/services/business-service.d.ts.map +1 -0
  33. package/dist/business.cjs +303 -0
  34. package/dist/business.cjs.map +1 -0
  35. package/dist/business.d.ts +34 -0
  36. package/dist/business.js +299 -0
  37. package/dist/business.js.map +1 -0
  38. package/dist/campaign/api/campaign-api.d.ts +213 -0
  39. package/dist/campaign/api/campaign-api.d.ts.map +1 -0
  40. package/dist/campaign/index.d.ts +44 -0
  41. package/dist/campaign/index.d.ts.map +1 -0
  42. package/dist/campaign/services/campaign-service.d.ts +88 -0
  43. package/dist/campaign/services/campaign-service.d.ts.map +1 -0
  44. package/dist/campaign.cjs +506 -0
  45. package/dist/campaign.cjs.map +1 -0
  46. package/dist/campaign.d.ts +44 -0
  47. package/dist/campaign.js +502 -0
  48. package/dist/campaign.js.map +1 -0
  49. package/dist/core/abstractions/http-client.d.ts +22 -0
  50. package/dist/core/abstractions/http-client.d.ts.map +1 -0
  51. package/dist/core/auth/auth-provider.interface.d.ts +12 -0
  52. package/dist/core/auth/auth-provider.interface.d.ts.map +1 -0
  53. package/dist/core/auth/create-auth-provider.d.ts +27 -0
  54. package/dist/core/auth/create-auth-provider.d.ts.map +1 -0
  55. package/dist/core/auth/simple-auth-config.interface.d.ts +15 -0
  56. package/dist/core/auth/simple-auth-config.interface.d.ts.map +1 -0
  57. package/dist/core/index.d.ts +13 -0
  58. package/dist/core/index.d.ts.map +1 -0
  59. package/dist/core/pers-api-client.d.ts +54 -0
  60. package/dist/core/pers-api-client.d.ts.map +1 -0
  61. package/dist/core/pers-config.d.ts +38 -0
  62. package/dist/core/pers-config.d.ts.map +1 -0
  63. package/dist/core/utils/jwt.function.d.ts +2 -0
  64. package/dist/core/utils/jwt.function.d.ts.map +1 -0
  65. package/dist/core.cjs +506 -0
  66. package/dist/core.cjs.map +1 -0
  67. package/dist/core.d.ts +13 -0
  68. package/dist/core.js +497 -0
  69. package/dist/core.js.map +1 -0
  70. package/dist/donation/api/donation-api.d.ts +18 -0
  71. package/dist/donation/api/donation-api.d.ts.map +1 -0
  72. package/dist/donation/index.d.ts +25 -0
  73. package/dist/donation/index.d.ts.map +1 -0
  74. package/dist/donation/models/index.d.ts +8 -0
  75. package/dist/donation/models/index.d.ts.map +1 -0
  76. package/dist/donation/services/donation-service.d.ts +19 -0
  77. package/dist/donation/services/donation-service.d.ts.map +1 -0
  78. package/dist/donation.cjs +78 -0
  79. package/dist/donation.cjs.map +1 -0
  80. package/dist/donation.d.ts +25 -0
  81. package/dist/donation.js +74 -0
  82. package/dist/donation.js.map +1 -0
  83. package/dist/index.cjs +4217 -0
  84. package/dist/index.cjs.map +1 -0
  85. package/dist/index.d.ts +21 -0
  86. package/dist/index.d.ts.map +1 -0
  87. package/dist/index.js +4164 -0
  88. package/dist/index.js.map +1 -0
  89. package/dist/package.json +148 -0
  90. package/dist/payment/api/payment-api.d.ts +105 -0
  91. package/dist/payment/api/payment-api.d.ts.map +1 -0
  92. package/dist/payment/index.d.ts +36 -0
  93. package/dist/payment/index.d.ts.map +1 -0
  94. package/dist/payment/models/index.d.ts +12 -0
  95. package/dist/payment/models/index.d.ts.map +1 -0
  96. package/dist/payment/services/payment-service.d.ts +40 -0
  97. package/dist/payment/services/payment-service.d.ts.map +1 -0
  98. package/dist/payment.cjs +258 -0
  99. package/dist/payment.cjs.map +1 -0
  100. package/dist/payment.d.ts +36 -0
  101. package/dist/payment.js +254 -0
  102. package/dist/payment.js.map +1 -0
  103. package/dist/pers-sdk.d.ts +29 -0
  104. package/dist/pers-sdk.d.ts.map +1 -0
  105. package/dist/redemption/api/redemption-api.d.ts +147 -0
  106. package/dist/redemption/api/redemption-api.d.ts.map +1 -0
  107. package/dist/redemption/index.d.ts +35 -0
  108. package/dist/redemption/index.d.ts.map +1 -0
  109. package/dist/redemption/models/index.d.ts +8 -0
  110. package/dist/redemption/models/index.d.ts.map +1 -0
  111. package/dist/redemption/services/redemption-service.d.ts +56 -0
  112. package/dist/redemption/services/redemption-service.d.ts.map +1 -0
  113. package/dist/redemption.cjs +333 -0
  114. package/dist/redemption.cjs.map +1 -0
  115. package/dist/redemption.d.ts +35 -0
  116. package/dist/redemption.js +329 -0
  117. package/dist/redemption.js.map +1 -0
  118. package/dist/shared/interfaces/pers-shared-lib.interfaces.d.ts +18 -0
  119. package/dist/shared/interfaces/pers-shared-lib.interfaces.d.ts.map +1 -0
  120. package/dist/tenant/api/tenant-api.d.ts +56 -0
  121. package/dist/tenant/api/tenant-api.d.ts.map +1 -0
  122. package/dist/tenant/index.d.ts +34 -0
  123. package/dist/tenant/index.d.ts.map +1 -0
  124. package/dist/tenant/models/index.d.ts +11 -0
  125. package/dist/tenant/models/index.d.ts.map +1 -0
  126. package/dist/tenant/services/tenant-service.d.ts +46 -0
  127. package/dist/tenant/services/tenant-service.d.ts.map +1 -0
  128. package/dist/tenant.cjs +177 -0
  129. package/dist/tenant.cjs.map +1 -0
  130. package/dist/tenant.d.ts +34 -0
  131. package/dist/tenant.js +173 -0
  132. package/dist/tenant.js.map +1 -0
  133. package/dist/token/api/token-api.d.ts +64 -0
  134. package/dist/token/api/token-api.d.ts.map +1 -0
  135. package/dist/token/base/base-token-service.d.ts +87 -0
  136. package/dist/token/base/base-token-service.d.ts.map +1 -0
  137. package/dist/token/index.d.ts +13 -0
  138. package/dist/token/index.d.ts.map +1 -0
  139. package/dist/token/models/index.d.ts +18 -0
  140. package/dist/token/models/index.d.ts.map +1 -0
  141. package/dist/token/services/token-service.d.ts +68 -0
  142. package/dist/token/services/token-service.d.ts.map +1 -0
  143. package/dist/token/token-sdk.d.ts +140 -0
  144. package/dist/token/token-sdk.d.ts.map +1 -0
  145. package/dist/token.cjs +537 -0
  146. package/dist/token.cjs.map +1 -0
  147. package/dist/token.d.ts +13 -0
  148. package/dist/token.js +532 -0
  149. package/dist/token.js.map +1 -0
  150. package/dist/transaction/api/transaction-api.d.ts +133 -0
  151. package/dist/transaction/api/transaction-api.d.ts.map +1 -0
  152. package/dist/transaction/index.d.ts +38 -0
  153. package/dist/transaction/index.d.ts.map +1 -0
  154. package/dist/transaction/models/index.d.ts +42 -0
  155. package/dist/transaction/models/index.d.ts.map +1 -0
  156. package/dist/transaction/services/transaction-service.d.ts +56 -0
  157. package/dist/transaction/services/transaction-service.d.ts.map +1 -0
  158. package/dist/transaction.cjs +394 -0
  159. package/dist/transaction.cjs.map +1 -0
  160. package/dist/transaction.d.ts +38 -0
  161. package/dist/transaction.js +390 -0
  162. package/dist/transaction.js.map +1 -0
  163. package/dist/user/api/user-api.d.ts +56 -0
  164. package/dist/user/api/user-api.d.ts.map +1 -0
  165. package/dist/user/index.d.ts +36 -0
  166. package/dist/user/index.d.ts.map +1 -0
  167. package/dist/user/models/index.d.ts +12 -0
  168. package/dist/user/models/index.d.ts.map +1 -0
  169. package/dist/user/services/user-service.d.ts +46 -0
  170. package/dist/user/services/user-service.d.ts.map +1 -0
  171. package/dist/user-status/api/user-status-api.d.ts +37 -0
  172. package/dist/user-status/api/user-status-api.d.ts.map +1 -0
  173. package/dist/user-status/index.d.ts +28 -0
  174. package/dist/user-status/index.d.ts.map +1 -0
  175. package/dist/user-status/models/index.d.ts +8 -0
  176. package/dist/user-status/models/index.d.ts.map +1 -0
  177. package/dist/user-status/services/user-status-service.d.ts +26 -0
  178. package/dist/user-status/services/user-status-service.d.ts.map +1 -0
  179. package/dist/user-status.cjs +147 -0
  180. package/dist/user-status.cjs.map +1 -0
  181. package/dist/user-status.d.ts +28 -0
  182. package/dist/user-status.js +143 -0
  183. package/dist/user-status.js.map +1 -0
  184. package/dist/user.cjs +188 -0
  185. package/dist/user.cjs.map +1 -0
  186. package/dist/user.d.ts +36 -0
  187. package/dist/user.js +184 -0
  188. package/dist/user.js.map +1 -0
  189. package/dist/web3/api/web3-api.d.ts +27 -0
  190. package/dist/web3/api/web3-api.d.ts.map +1 -0
  191. package/dist/web3/index.d.ts +16 -0
  192. package/dist/web3/index.d.ts.map +1 -0
  193. package/dist/web3/models/index.d.ts +92 -0
  194. package/dist/web3/models/index.d.ts.map +1 -0
  195. package/dist/web3/services/web3-service.d.ts +21 -0
  196. package/dist/web3/services/web3-service.d.ts.map +1 -0
  197. package/dist/web3-chain/api/web3-chain-api.d.ts +19 -0
  198. package/dist/web3-chain/api/web3-chain-api.d.ts.map +1 -0
  199. package/dist/web3-chain/index.d.ts +17 -0
  200. package/dist/web3-chain/index.d.ts.map +1 -0
  201. package/dist/web3-chain/models/index.d.ts +38 -0
  202. package/dist/web3-chain/models/index.d.ts.map +1 -0
  203. package/dist/web3-chain/services/getWeb3FCD.service.d.ts +8 -0
  204. package/dist/web3-chain/services/getWeb3FCD.service.d.ts.map +1 -0
  205. package/dist/web3-chain/services/provider.service.d.ts +15 -0
  206. package/dist/web3-chain/services/provider.service.d.ts.map +1 -0
  207. package/dist/web3-chain/services/public-http-provider.service.d.ts +8 -0
  208. package/dist/web3-chain/services/public-http-provider.service.d.ts.map +1 -0
  209. package/dist/web3-chain/services/web3-chain-service.d.ts +17 -0
  210. package/dist/web3-chain/services/web3-chain-service.d.ts.map +1 -0
  211. package/dist/web3-chain.cjs +316 -0
  212. package/dist/web3-chain.cjs.map +1 -0
  213. package/dist/web3-chain.d.ts +17 -0
  214. package/dist/web3-chain.js +310 -0
  215. package/dist/web3-chain.js.map +1 -0
  216. package/dist/web3.cjs +516 -0
  217. package/dist/web3.cjs.map +1 -0
  218. package/dist/web3.d.ts +16 -0
  219. package/dist/web3.js +513 -0
  220. package/dist/web3.js.map +1 -0
  221. package/package.json +105 -17
  222. package/explorins-pers-sdk-1.0.0-alpha.1.tgz +0 -0
  223. package/rollup.config.js +0 -84
  224. package/src/business/api/business-api.ts +0 -72
  225. package/src/business/business/tsconfig.json +0 -18
  226. package/src/business/index.ts +0 -52
  227. package/src/business/services/business-service.ts +0 -88
  228. package/src/core/abstractions/core-interfaces.ts +0 -56
  229. package/src/core/abstractions/http-client.ts +0 -23
  230. package/src/core/auth/auth-provider.interface.ts +0 -16
  231. package/src/core/auth/create-auth-provider.ts +0 -136
  232. package/src/core/auth/simple-auth-config.interface.ts +0 -15
  233. package/src/core/core.ts +0 -30
  234. package/src/core/pers-api-client.ts +0 -151
  235. package/src/core/pers-config.ts +0 -38
  236. package/src/core.ts +0 -30
  237. package/src/index.ts +0 -16
  238. package/src/pers-sdk.ts +0 -45
  239. package/tsconfig.json +0 -28
@@ -0,0 +1,506 @@
1
+ 'use strict';
2
+
3
+ /**
4
+ * Platform-Agnostic Campaign API Client (NEW - RESTful Design)
5
+ *
6
+ * Updated to use the new microservice-ready campaign controllers:
7
+ * - CampaignsController: Core campaign operations
8
+ * - CampaignTagsController: Tag management
9
+ * - CampaignTokensController: Token unit operations
10
+ * - CampaignTriggersController: Trigger system
11
+ * - CampaignEngagementsController: Business relationships
12
+ * - CampaignClaimsController: Claims processing
13
+ *
14
+ * Uses @explorins/pers-shared DTOs for consistency with backend.
15
+ * All endpoints updated to new RESTful patterns without role revelation.
16
+ */
17
+ class CampaignApi {
18
+ constructor(apiClient) {
19
+ this.apiClient = apiClient;
20
+ }
21
+ // ==========================================
22
+ // CORE CAMPAIGN OPERATIONS (/campaigns)
23
+ // ==========================================
24
+ /**
25
+ * PUBLIC: Get all active campaigns
26
+ * NEW: /campaigns (intelligent access detection)
27
+ */
28
+ async getActiveCampaigns() {
29
+ return this.apiClient.get('/campaigns');
30
+ }
31
+ /**
32
+ * ADMIN: Get campaigns with filtering options
33
+ * NEW: /campaigns with query parameters (admin access detected automatically)
34
+ */
35
+ async getCampaigns(options) {
36
+ let url = '/campaigns';
37
+ const params = [];
38
+ if (options) {
39
+ if (options.active !== undefined)
40
+ params.push(`active=${options.active}`);
41
+ if (options.tag)
42
+ params.push(`tag=${encodeURIComponent(options.tag)}`);
43
+ if (options.limit)
44
+ params.push(`limit=${options.limit}`);
45
+ if (options.offset)
46
+ params.push(`offset=${options.offset}`);
47
+ if (options.sort)
48
+ params.push(`sort=${options.sort}`);
49
+ if (options.order)
50
+ params.push(`order=${options.order}`);
51
+ }
52
+ if (params.length > 0) {
53
+ url += `?${params.join('&')}`;
54
+ }
55
+ return this.apiClient.get(url);
56
+ }
57
+ /**
58
+ * PUBLIC: Get campaign by ID
59
+ * NEW: /campaigns/{id}
60
+ */
61
+ async getCampaignById(id) {
62
+ return this.apiClient.get(`/campaigns/${id}`);
63
+ }
64
+ /**
65
+ * ADMIN: Create campaign
66
+ * NEW: POST /campaigns
67
+ */
68
+ async createCampaign(campaign) {
69
+ return this.apiClient.post('/campaigns', campaign);
70
+ }
71
+ /**
72
+ * ADMIN: Update campaign
73
+ * NEW: PUT /campaigns/{id}
74
+ */
75
+ async updateCampaign(campaignId, campaign) {
76
+ return this.apiClient.put(`/campaigns/${campaignId}`, campaign);
77
+ }
78
+ /**
79
+ * ADMIN: Toggle campaign active status
80
+ * NEW: PUT /campaigns/{id}/status
81
+ */
82
+ async toggleCampaignActive(campaignId) {
83
+ return this.apiClient.put(`/campaigns/${campaignId}/status`, {});
84
+ }
85
+ /**
86
+ * ADMIN: Toggle campaign testnet environment
87
+ * NEW: PUT /campaigns/{id}/environment
88
+ */
89
+ async toggleCampaignTestnet(campaignId) {
90
+ return this.apiClient.put(`/campaigns/${campaignId}/environment`, {});
91
+ }
92
+ /**
93
+ * ADMIN: Delete campaign
94
+ * NEW: DELETE /campaigns/{id}
95
+ */
96
+ async deleteCampaign(campaignId) {
97
+ return this.apiClient.delete(`/campaigns/${campaignId}`);
98
+ }
99
+ // ==========================================
100
+ // TAG MANAGEMENT (/campaign-tags)
101
+ // ==========================================
102
+ /**
103
+ * ADMIN: Get all unique campaign tags
104
+ * NEW: GET /campaign-tags
105
+ */
106
+ async getAllUniqueTags() {
107
+ return this.apiClient.get('/campaign-tags');
108
+ }
109
+ /**
110
+ * ADMIN: Update campaign tags (replace all)
111
+ * NEW: PUT /campaign-tags/{id}
112
+ */
113
+ async updateCampaignTags(campaignId, tags) {
114
+ return this.apiClient.put(`/campaign-tags/${campaignId}`, { tags });
115
+ }
116
+ /**
117
+ * ADMIN: Add tags to campaign
118
+ * NEW: POST /campaign-tags/{id}
119
+ */
120
+ async addTagsToCampaign(campaignId, tags) {
121
+ return this.apiClient.post(`/campaign-tags/${campaignId}`, { tags });
122
+ }
123
+ /**
124
+ * ADMIN: Remove tag from campaign
125
+ * NEW: DELETE /campaign-tags/{id}/{tag}
126
+ */
127
+ async removeTagFromCampaign(campaignId, tag) {
128
+ return this.apiClient.delete(`/campaign-tags/${campaignId}/${encodeURIComponent(tag)}`);
129
+ }
130
+ // ==========================================
131
+ // TOKEN MANAGEMENT (/campaign-tokens)
132
+ // ==========================================
133
+ /**
134
+ * ADMIN: Create campaign token unit
135
+ * NEW: POST /campaign-tokens/{id}
136
+ */
137
+ async createCampaignTokenUnit(campaignId, campaignTokenUnit) {
138
+ return this.apiClient.post(`/campaign-tokens/${campaignId}`, campaignTokenUnit);
139
+ }
140
+ /**
141
+ * ADMIN: Update campaign token unit
142
+ * NEW: PUT /campaign-tokens/{id}/{tokenUnitId}
143
+ */
144
+ async updateCampaignTokenUnit(campaignId, tokenUnitId, campaignTokenUnit) {
145
+ return this.apiClient.put(`/campaign-tokens/${campaignId}/${tokenUnitId}`, campaignTokenUnit);
146
+ }
147
+ /**
148
+ * ADMIN: Delete campaign token unit
149
+ * NEW: DELETE /campaign-tokens/{id}/{tokenUnitId}
150
+ */
151
+ async deleteCampaignTokenUnit(campaignId, campaignTokenUnitId) {
152
+ return this.apiClient.delete(`/campaign-tokens/${campaignId}/${campaignTokenUnitId}`);
153
+ }
154
+ // ==========================================
155
+ // TRIGGER SYSTEM (/campaign-triggers)
156
+ // ==========================================
157
+ /**
158
+ * PUBLIC: Get campaign triggers catalog
159
+ * NEW: GET /campaign-triggers
160
+ */
161
+ async getCampaignTriggers() {
162
+ return this.apiClient.get('/campaign-triggers');
163
+ }
164
+ /**
165
+ * ADMIN: Create campaign trigger
166
+ * NEW: POST /campaign-triggers
167
+ */
168
+ async createCampaignTrigger(trigger) {
169
+ return this.apiClient.post('/campaign-triggers', trigger);
170
+ }
171
+ /**
172
+ * ADMIN: Update campaign trigger
173
+ * NEW: PUT /campaign-triggers/{id}
174
+ */
175
+ async updateCampaignTrigger(triggerId, trigger) {
176
+ return this.apiClient.put(`/campaign-triggers/${triggerId}`, trigger);
177
+ }
178
+ /**
179
+ * ADMIN: Delete campaign trigger
180
+ * NEW: DELETE /campaign-triggers/{id}
181
+ */
182
+ async deleteCampaignTrigger(triggerId) {
183
+ return this.apiClient.delete(`/campaign-triggers/${triggerId}`);
184
+ }
185
+ /**
186
+ * ADMIN: Set campaign trigger
187
+ * NEW: PUT /campaign-triggers/campaigns/{id}/trigger/{triggerId}
188
+ */
189
+ async setCampaignTrigger(campaignId, triggerId) {
190
+ return this.apiClient.put(`/campaign-triggers/campaigns/${campaignId}/trigger/${triggerId}`, {});
191
+ }
192
+ /**
193
+ * ADMIN: Create trigger condition
194
+ * NEW: POST /campaign-triggers/conditions
195
+ */
196
+ async createTriggerCondition(condition) {
197
+ return this.apiClient.post('/campaign-triggers/conditions', condition);
198
+ }
199
+ /**
200
+ * ADMIN: Update trigger condition
201
+ * NEW: PUT /campaign-triggers/conditions/{id}
202
+ */
203
+ async updateTriggerCondition(conditionId, condition) {
204
+ return this.apiClient.put(`/campaign-triggers/conditions/${conditionId}`, condition);
205
+ }
206
+ /**
207
+ * ADMIN: Add/Remove condition to trigger
208
+ * NEW: PUT /campaign-triggers/{triggerId}/condition/{conditionId}
209
+ */
210
+ async addOrRemoveConditionToTrigger(triggerId, conditionId) {
211
+ return this.apiClient.put(`/campaign-triggers/${triggerId}/condition/${conditionId}`, {});
212
+ }
213
+ // ==========================================
214
+ // BUSINESS ENGAGEMENTS (/campaign-engagements)
215
+ // ==========================================
216
+ /**
217
+ * ADMIN: Add business engagement to campaign
218
+ * NEW: POST /campaign-engagements/{id}
219
+ */
220
+ async addBusinessEngagementToCampaign(campaignId, campaignBusinessEngagement) {
221
+ return this.apiClient.post(`/campaign-engagements/${campaignId}`, campaignBusinessEngagement);
222
+ }
223
+ /**
224
+ * ADMIN: Update campaign business engagement
225
+ * NEW: PUT /campaign-engagements/{id}/{businessEngagementId}
226
+ */
227
+ async updateCampaignBusinessEngagement(campaignId, businessEngagementId, campaignBusinessEngagement) {
228
+ return this.apiClient.put(`/campaign-engagements/${campaignId}/${businessEngagementId}`, campaignBusinessEngagement);
229
+ }
230
+ /**
231
+ * ADMIN: Delete campaign business engagement
232
+ * NEW: DELETE /campaign-engagements/{id}/{businessEngagementId}
233
+ */
234
+ async deleteCampaignBusinessEngagement(campaignId, businessEngagementId) {
235
+ return this.apiClient.delete(`/campaign-engagements/${campaignId}/${businessEngagementId}`);
236
+ }
237
+ // ==========================================
238
+ // CLAIMS PROCESSING (/campaign-claims)
239
+ // ==========================================
240
+ /**
241
+ * USER: Claim campaign reward
242
+ * NEW: POST /campaign-claims/user
243
+ */
244
+ async claimCampaign(request) {
245
+ return this.apiClient.post('/campaign-claims/user', request);
246
+ }
247
+ /**
248
+ * USER: Get claims for logged user
249
+ * NEW: GET /campaign-claims/users/me
250
+ */
251
+ async getClaimsForLoggedUser() {
252
+ return this.apiClient.get('/campaign-claims/users/me');
253
+ }
254
+ /**
255
+ * BUSINESS: Claim campaign reward for customer
256
+ * NEW: POST /campaign-claims/business
257
+ */
258
+ async businessClaimCampaign(request) {
259
+ return this.apiClient.post('/campaign-claims/business', request);
260
+ }
261
+ /**
262
+ * SYSTEM: Process automated claim
263
+ * NEW: POST /campaign-claims/system
264
+ */
265
+ async systemClaimCampaign(request) {
266
+ return this.apiClient.post('/campaign-claims/system', request);
267
+ }
268
+ /**
269
+ * ADMIN: Manual claim processing
270
+ * NEW: POST /campaign-claims/admin
271
+ */
272
+ async adminClaimCampaign(request) {
273
+ return this.apiClient.post('/campaign-claims/admin', request);
274
+ }
275
+ /**
276
+ * ADMIN: Get all campaign claims
277
+ * NEW: GET /campaign-claims/admin
278
+ */
279
+ async getCampaignClaims() {
280
+ return this.apiClient.get('/campaign-claims/admin');
281
+ }
282
+ /**
283
+ * ADMIN: Get campaign claims by campaign ID
284
+ * NEW: GET /campaign-claims/admin/{campaignId}
285
+ */
286
+ async getCampaignClaimsByCampaignId(campaignId) {
287
+ return this.apiClient.get(`/campaign-claims/admin/${campaignId}`);
288
+ }
289
+ /**
290
+ * ADMIN: Get campaign claims by user ID
291
+ * NEW: GET /campaign-claims/admin/users/{userId}
292
+ */
293
+ async getCampaignClaimsByUserId(userId) {
294
+ return this.apiClient.get(`/campaign-claims/admin/users/${userId}`);
295
+ }
296
+ /**
297
+ * ADMIN: Get campaign claims by business ID
298
+ * NEW: GET /campaign-claims/admin/businesses/{businessId}
299
+ */
300
+ async getCampaignClaimsByBusinessId(businessId) {
301
+ return this.apiClient.get(`/campaign-claims/admin/businesses/${businessId}`);
302
+ }
303
+ /**
304
+ * USER: Get user's claims for specific campaign
305
+ * NEW: GET /campaign-claims/campaigns/{campaignId}/users/me
306
+ */
307
+ async getUserClaimsForCampaign(campaignId) {
308
+ return this.apiClient.get(`/campaign-claims/campaigns/${campaignId}/users/me`);
309
+ }
310
+ // ==========================================
311
+ // BACKWARD COMPATIBILITY (DEPRECATED)
312
+ // ==========================================
313
+ /**
314
+ * @deprecated Use getCampaigns() instead
315
+ * LEGACY: Get campaigns with active filter
316
+ */
317
+ async getCampaignsLegacy(active) {
318
+ console.warn('CampaignApi.getCampaignsLegacy() is deprecated. Use getCampaigns() instead.');
319
+ return this.getCampaigns(active !== undefined ? { active } : undefined);
320
+ }
321
+ }
322
+
323
+ /**
324
+ * Platform-Agnostic Campaign Service
325
+ *
326
+ * Contains campaign business logic and operations that work across platforms.
327
+ * No framework dependencies - pure TypeScript business logic.
328
+ *
329
+ * Focuses only on actual backend capabilities.
330
+ */
331
+ class CampaignService {
332
+ constructor(campaignApi) {
333
+ this.campaignApi = campaignApi;
334
+ }
335
+ // ==========================================
336
+ // PUBLIC OPERATIONS
337
+ // ==========================================
338
+ /**
339
+ * PUBLIC: Get all active campaigns
340
+ */
341
+ async getActiveCampaigns() {
342
+ return this.campaignApi.getActiveCampaigns();
343
+ }
344
+ /**
345
+ * PUBLIC: Get campaign by ID
346
+ */
347
+ async getCampaignById(id) {
348
+ return this.campaignApi.getCampaignById(id);
349
+ }
350
+ // ==========================================
351
+ // AUTHENTICATED OPERATIONS
352
+ // ==========================================
353
+ /**
354
+ * AUTH: Claim campaign
355
+ */
356
+ async claimCampaign(request) {
357
+ return this.campaignApi.claimCampaign(request);
358
+ }
359
+ /**
360
+ * AUTH: Get claims for logged user
361
+ */
362
+ async getClaimsForLoggedUser() {
363
+ return this.campaignApi.getClaimsForLoggedUser();
364
+ }
365
+ // ==========================================
366
+ // ADMIN OPERATIONS
367
+ // ==========================================
368
+ /**
369
+ * ADMIN: Get campaigns with optional active filter
370
+ */
371
+ async getCampaigns(active) {
372
+ return this.campaignApi.getCampaigns(active !== undefined ? { active } : undefined);
373
+ }
374
+ /**
375
+ * ADMIN: Get campaign triggers
376
+ */
377
+ async getCampaignTriggers() {
378
+ return this.campaignApi.getCampaignTriggers();
379
+ }
380
+ /**
381
+ * ADMIN: Toggle campaign active status
382
+ */
383
+ async toggleCampaignActive(campaignId) {
384
+ return this.campaignApi.toggleCampaignActive(campaignId);
385
+ }
386
+ /**
387
+ * ADMIN: Toggle campaign testnet environment
388
+ */
389
+ async toggleCampaignTestnet(campaignId) {
390
+ return this.campaignApi.toggleCampaignTestnet(campaignId);
391
+ }
392
+ /**
393
+ * ADMIN: Create campaign
394
+ */
395
+ async createCampaign(campaign) {
396
+ return this.campaignApi.createCampaign(campaign);
397
+ }
398
+ /**
399
+ * ADMIN: Set campaign trigger
400
+ */
401
+ async setCampaignTrigger(campaignId, triggerId) {
402
+ return this.campaignApi.setCampaignTrigger(campaignId, triggerId);
403
+ }
404
+ /**
405
+ * ADMIN: Update campaign
406
+ */
407
+ async updateCampaign(campaignId, campaign) {
408
+ return this.campaignApi.updateCampaign(campaignId, campaign);
409
+ }
410
+ /**
411
+ * ADMIN: Create campaign token unit
412
+ */
413
+ async createCampaignTokenUnit(campaignId, campaignTokenUnit) {
414
+ return this.campaignApi.createCampaignTokenUnit(campaignId, campaignTokenUnit);
415
+ }
416
+ /**
417
+ * ADMIN: Delete campaign token unit
418
+ */
419
+ async deleteCampaignTokenUnit(campaignId, campaignTokenUnitId) {
420
+ return this.campaignApi.deleteCampaignTokenUnit(campaignId, campaignTokenUnitId);
421
+ }
422
+ /**
423
+ * ADMIN: Add business engagement to campaign
424
+ */
425
+ async addBusinessEngagementToCampaign(campaignId, campaignBusinessEngagement) {
426
+ return this.campaignApi.addBusinessEngagementToCampaign(campaignId, campaignBusinessEngagement);
427
+ }
428
+ /**
429
+ * ADMIN: Update campaign business engagement
430
+ */
431
+ async updateCampaignBusinessEngagement(campaignId, businessEngagementId, campaignBusinessEngagement) {
432
+ return this.campaignApi.updateCampaignBusinessEngagement(campaignId, businessEngagementId, campaignBusinessEngagement);
433
+ }
434
+ async deleteCampaignBusinessEngagement(campaignId, businessEngagementId) {
435
+ return this.campaignApi.deleteCampaignBusinessEngagement(campaignId, businessEngagementId);
436
+ }
437
+ /**
438
+ * ADMIN: Get all campaign claims
439
+ */
440
+ async getCampaignClaims() {
441
+ return this.campaignApi.getCampaignClaims();
442
+ }
443
+ /**
444
+ * ADMIN: Get campaign claims by user ID
445
+ */
446
+ async getCampaignClaimsByUserId(userId) {
447
+ return this.campaignApi.getCampaignClaimsByUserId(userId);
448
+ }
449
+ /**
450
+ * ADMIN: Get campaign claims by business ID
451
+ */
452
+ async getCampaignClaimsByBusinessId(businessId) {
453
+ return this.campaignApi.getCampaignClaimsByBusinessId(businessId);
454
+ }
455
+ }
456
+
457
+ /**
458
+ * @explorins/pers-sdk-campaign
459
+ *
460
+ * Platform-agnostic Campaign Domain SDK for PERS ecosystem
461
+ * Handles campaign operations across different authorization levels
462
+ */
463
+ // API Layer
464
+ /**
465
+ * Create a complete Campaign SDK instance
466
+ *
467
+ * @param apiClient - Configured PERS API client
468
+ * @returns Campaign SDK with flattened structure for better DX
469
+ */
470
+ function createCampaignSDK(apiClient) {
471
+ const campaignApi = new CampaignApi(apiClient);
472
+ const campaignService = new CampaignService(campaignApi);
473
+ return {
474
+ // Direct access to service methods (primary interface)
475
+ // Public methods
476
+ getActiveCampaigns: () => campaignService.getActiveCampaigns(),
477
+ getCampaignById: (id) => campaignService.getCampaignById(id),
478
+ // Auth methods
479
+ claimCampaign: (request) => campaignService.claimCampaign(request),
480
+ getClaimsForLoggedUser: () => campaignService.getClaimsForLoggedUser(),
481
+ // Admin methods
482
+ getCampaigns: (active) => campaignService.getCampaigns(active),
483
+ getCampaignTriggers: () => campaignService.getCampaignTriggers(),
484
+ toggleCampaignActive: (campaignId) => campaignService.toggleCampaignActive(campaignId),
485
+ toggleCampaignTestnet: (campaignId) => campaignService.toggleCampaignTestnet(campaignId),
486
+ createCampaign: (campaign) => campaignService.createCampaign(campaign),
487
+ setCampaignTrigger: (campaignId, triggerId) => campaignService.setCampaignTrigger(campaignId, triggerId),
488
+ updateCampaign: (campaignId, campaign) => campaignService.updateCampaign(campaignId, campaign),
489
+ createCampaignTokenUnit: (campaignId, campaignTokenUnit) => campaignService.createCampaignTokenUnit(campaignId, campaignTokenUnit),
490
+ deleteCampaignTokenUnit: (campaignId, campaignTokenUnitId) => campaignService.deleteCampaignTokenUnit(campaignId, campaignTokenUnitId),
491
+ addBusinessEngagementToCampaign: (campaignId, campaignBusinessEngagement) => campaignService.addBusinessEngagementToCampaign(campaignId, campaignBusinessEngagement),
492
+ updateCampaignBusinessEngagement: (campaignId, businessEngagementId, campaignBusinessEngagement) => campaignService.updateCampaignBusinessEngagement(campaignId, businessEngagementId, campaignBusinessEngagement),
493
+ deleteCampaignBusinessEngagement: (campaignId, businessEngagementId) => campaignService.deleteCampaignBusinessEngagement(campaignId, businessEngagementId),
494
+ getCampaignClaims: () => campaignService.getCampaignClaims(),
495
+ getCampaignClaimsByUserId: (userId) => campaignService.getCampaignClaimsByUserId(userId),
496
+ getCampaignClaimsByBusinessId: (businessId) => campaignService.getCampaignClaimsByBusinessId(businessId),
497
+ // Advanced access for edge cases
498
+ api: campaignApi,
499
+ service: campaignService
500
+ };
501
+ }
502
+
503
+ exports.CampaignApi = CampaignApi;
504
+ exports.CampaignService = CampaignService;
505
+ exports.createCampaignSDK = createCampaignSDK;
506
+ //# sourceMappingURL=campaign.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"campaign.cjs","sources":["../../src/campaign/api/campaign-api.ts","../../src/campaign/services/campaign-service.ts","../../src/campaign/index.ts"],"sourcesContent":[null,null,null],"names":[],"mappings":"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"}
@@ -0,0 +1,44 @@
1
+ /**
2
+ * @explorins/pers-sdk-campaign
3
+ *
4
+ * Platform-agnostic Campaign Domain SDK for PERS ecosystem
5
+ * Handles campaign operations across different authorization levels
6
+ */
7
+ export { CampaignApi } from './campaign/api/campaign-api';
8
+ export { CampaignService } from './campaign/services/campaign-service';
9
+ export * from './shared/interfaces/pers-shared-lib.interfaces';
10
+ import { PersApiClient } from './core/pers-api-client';
11
+ import { CampaignApi } from './campaign/api/campaign-api';
12
+ import { CampaignService } from './campaign/services/campaign-service';
13
+ import { CampaignClaimRequestDTO, CampaignCreateRequestDTO, TokenUnitCreateRequestDTO, CampaignBusinessEngagementCreateRequestDTO } from './shared/interfaces/pers-shared-lib.interfaces';
14
+ /**
15
+ * Create a complete Campaign SDK instance
16
+ *
17
+ * @param apiClient - Configured PERS API client
18
+ * @returns Campaign SDK with flattened structure for better DX
19
+ */
20
+ export declare function createCampaignSDK(apiClient: PersApiClient): {
21
+ getActiveCampaigns: () => Promise<CampaignDTO[]>;
22
+ getCampaignById: (id: string) => Promise<CampaignDTO>;
23
+ claimCampaign: (request: CampaignClaimRequestDTO) => Promise<CampaignUserClaimDTO>;
24
+ getClaimsForLoggedUser: () => Promise<CampaignUserClaimDTO[]>;
25
+ getCampaigns: (active?: boolean) => Promise<CampaignDTO[]>;
26
+ getCampaignTriggers: () => Promise<CampaignTriggerDTO[]>;
27
+ toggleCampaignActive: (campaignId: string) => Promise<CampaignDTO>;
28
+ toggleCampaignTestnet: (campaignId: string) => Promise<CampaignDTO>;
29
+ createCampaign: (campaign: CampaignCreateRequestDTO) => Promise<CampaignDTO>;
30
+ setCampaignTrigger: (campaignId: string, triggerId: string) => Promise<CampaignDTO>;
31
+ updateCampaign: (campaignId: string, campaign: CampaignCreateRequestDTO) => Promise<CampaignDTO>;
32
+ createCampaignTokenUnit: (campaignId: string, campaignTokenUnit: TokenUnitCreateRequestDTO) => Promise<CampaignDTO>;
33
+ deleteCampaignTokenUnit: (campaignId: string, campaignTokenUnitId: string) => Promise<CampaignDTO>;
34
+ addBusinessEngagementToCampaign: (campaignId: string, campaignBusinessEngagement: CampaignBusinessEngagementCreateRequestDTO) => Promise<CampaignDTO>;
35
+ updateCampaignBusinessEngagement: (campaignId: string, businessEngagementId: string, campaignBusinessEngagement: CampaignBusinessEngagementCreateRequestDTO) => Promise<CampaignDTO>;
36
+ deleteCampaignBusinessEngagement: (campaignId: string, businessEngagementId: string) => Promise<CampaignDTO>;
37
+ getCampaignClaims: () => Promise<CampaignUserClaimDTO[]>;
38
+ getCampaignClaimsByUserId: (userId: string) => Promise<CampaignUserClaimDTO[]>;
39
+ getCampaignClaimsByBusinessId: (businessId: string) => Promise<CampaignUserClaimDTO[]>;
40
+ api: CampaignApi;
41
+ service: CampaignService;
42
+ };
43
+ export type CampaignSDK = ReturnType<typeof createCampaignSDK>;
44
+ //# sourceMappingURL=index.d.ts.map