@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,147 @@
1
+ import { TokenUnitCreateRequestDTO, RedemptionTypeCreateRequestDTO } from '../../shared/interfaces/pers-shared-lib.interfaces';
2
+ import { PersApiClient } from '../../core/pers-api-client';
3
+ import { RedemptionDTO, RedemptionCreateRequestDTO, RedemptionTypeDTO, RedemptionUserRedeemDTO, RedemptionUserRedeemDetailedDTO } from '../../shared/interfaces/pers-shared-lib.interfaces';
4
+ /**
5
+ * Platform-Agnostic Redemption API Client (UPDATED - RESTful Design)
6
+ *
7
+ * Updated to work with the new RESTful /redemptions endpoints.
8
+ * Handles redemption operations using the PERS backend with intelligent access detection.
9
+ * Uses @explorins/pers-shared DTOs for consistency with backend.
10
+ *
11
+ * Migration Update: Updated all endpoints from /redemption to /redemptions
12
+ * - Removed role revelation from URLs (no more /admin, /auth paths)
13
+ * - Added intelligent access detection for unified endpoints
14
+ * - Updated toggle endpoint to follow /status pattern
15
+ * - Enhanced redemption process with path-based IDs
16
+ */
17
+ export declare class RedemptionApi {
18
+ private apiClient;
19
+ constructor(apiClient: PersApiClient);
20
+ private readonly basePath;
21
+ /**
22
+ * PUBLIC: Get redemptions (intelligent access)
23
+ *
24
+ * NEW: Intelligent endpoint that adapts based on authentication
25
+ * - Public users: Get active redemptions only
26
+ * - Admin users: Get all redemptions with optional filtering
27
+ *
28
+ * Replaces: getActiveRedemptions() + getRedemptionsAsAdmin()
29
+ */
30
+ getRedemptions(active?: boolean): Promise<RedemptionDTO[]>;
31
+ /**
32
+ * PUBLIC: Get active redemptions
33
+ *
34
+ * Updated: Now uses unified endpoint (backward compatibility)
35
+ */
36
+ getActiveRedemptions(): Promise<RedemptionDTO[]>;
37
+ /**
38
+ * PUBLIC: Get redemption types
39
+ *
40
+ * Updated: /redemption/type → /redemptions/types
41
+ */
42
+ getRedemptionTypes(): Promise<RedemptionTypeDTO[]>;
43
+ /**
44
+ * PUBLIC: Get redemption by ID
45
+ *
46
+ * Updated: /redemption/:id → /redemptions/:id
47
+ */
48
+ getRedemptionById(id: string): Promise<RedemptionDTO>;
49
+ /**
50
+ * PUBLIC: Get available supply for redemption
51
+ *
52
+ * Updated: /redemption/:id/available-supply → /redemptions/:id/available-supply
53
+ */
54
+ getRedemptionAvailableSupply(id: string): Promise<number>;
55
+ /**
56
+ * USER: Redeem a redemption
57
+ *
58
+ * Updated: /redemption/auth/redeem → /redemptions/:id/redeem
59
+ * Enhanced: Path-based redemption ID for better RESTful design
60
+ */
61
+ redeemRedemption(redemptionId: string): Promise<RedemptionUserRedeemDetailedDTO>;
62
+ /**
63
+ * USER: Get user redemption history
64
+ *
65
+ * Updated: /redemption/auth/redeem → /redemptions/me/history
66
+ */
67
+ getUserRedemptionHistory(): Promise<RedemptionUserRedeemDTO[]>;
68
+ /**
69
+ * USER: Get user redemptions (backward compatibility)
70
+ *
71
+ * Deprecated: Use getUserRedemptionHistory() instead
72
+ */
73
+ getUserRedeems(): Promise<RedemptionUserRedeemDTO[]>;
74
+ /**
75
+ * ADMIN: Get redemptions with filtering (using intelligent endpoint)
76
+ *
77
+ * Updated: /redemption/admin → /redemptions (intelligent access detection)
78
+ * The unified endpoint will detect admin privileges and allow filtering
79
+ */
80
+ getRedemptionsAsAdmin(active?: boolean): Promise<RedemptionDTO[]>;
81
+ /**
82
+ * ADMIN: Create redemption
83
+ *
84
+ * Updated: /redemption/admin → /redemptions
85
+ */
86
+ createRedemption(redemption: RedemptionCreateRequestDTO): Promise<RedemptionDTO>;
87
+ /**
88
+ * ADMIN: Update redemption
89
+ *
90
+ * Updated: /redemption/admin/:id → /redemptions/:id
91
+ */
92
+ updateRedemption(id: string, redemptionCreateRequest: RedemptionCreateRequestDTO): Promise<RedemptionDTO>;
93
+ /**
94
+ * ADMIN: Toggle redemption status
95
+ *
96
+ * Updated: /redemption/admin/:id/toggle-active → /redemptions/:id/status
97
+ * Following standard /status pattern used across domains
98
+ */
99
+ toggleRedemptionStatus(redemptionId: string): Promise<RedemptionDTO>;
100
+ /**
101
+ * ADMIN: Toggle redemption active (backward compatibility)
102
+ *
103
+ * Deprecated: Use toggleRedemptionStatus() instead
104
+ */
105
+ toggleRedemptionActive(redemptionId: string): Promise<RedemptionDTO>;
106
+ /**
107
+ * ADMIN: Delete redemption
108
+ *
109
+ * Updated: /redemption/admin/:id → /redemptions/:id
110
+ */
111
+ deleteRedemption(id: string): Promise<boolean>;
112
+ /**
113
+ * ADMIN: Create redemption type
114
+ *
115
+ * Updated: /redemption/admin/type → /redemptions/types
116
+ */
117
+ createRedemptionType(redemptionType: RedemptionTypeCreateRequestDTO): Promise<RedemptionTypeDTO>;
118
+ /**
119
+ * ADMIN: Create redemption token unit
120
+ *
121
+ * Updated: /redemption/admin/:id/token-units → /redemptions/:id/token-units
122
+ */
123
+ createRedemptionTokenUnit(redemptionId: string, redemptionTokenUnit: TokenUnitCreateRequestDTO): Promise<RedemptionDTO>;
124
+ /**
125
+ * ADMIN: Update redemption token unit
126
+ *
127
+ * Updated: /redemption/admin/:id/token-units/:tokenUnitId → /redemptions/:id/token-units/:tokenUnitId
128
+ */
129
+ updateRedemptionTokenUnit(redemptionId: string, tokenUnitId: string, redemptionTokenUnit: TokenUnitCreateRequestDTO): Promise<RedemptionDTO>;
130
+ /**
131
+ * ADMIN: Delete redemption token unit
132
+ *
133
+ * Updated: /redemption/admin/:id/token-units/:tokenUnitId → /redemptions/:id/token-units/:tokenUnitId
134
+ */
135
+ deleteRedemptionTokenUnit(redemptionId: string, redemptionTokenUnitId: string): Promise<RedemptionDTO>;
136
+ /**
137
+ * @deprecated Use getRedemptions() instead
138
+ * Backward compatibility for old admin endpoint
139
+ */
140
+ getRedemptionsAdmin(active?: boolean): Promise<RedemptionDTO[]>;
141
+ /**
142
+ * @deprecated Use redeemRedemption() instead
143
+ * Backward compatibility for old redeem method
144
+ */
145
+ redeem(redemptionId: string): Promise<RedemptionUserRedeemDetailedDTO>;
146
+ }
147
+ //# sourceMappingURL=redemption-api.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"redemption-api.d.ts","sourceRoot":"","sources":["../../../src/redemption/api/redemption-api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,8BAA8B,EAAE,MAAM,oDAAoD,CAAC;AAC/H,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EACL,aAAa,EACb,0BAA0B,EAE1B,iBAAiB,EACjB,uBAAuB,EACvB,+BAA+B,EAChC,MAAM,oDAAoD,CAAC;AAE5D;;;;;;;;;;;;GAYG;AACH,qBAAa,aAAa;IACZ,OAAO,CAAC,SAAS;gBAAT,SAAS,EAAE,aAAa;IAE5C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAkB;IAM3C;;;;;;;;OAQG;IACG,cAAc,CAAC,MAAM,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IAQhE;;;;OAIG;IACG,oBAAoB,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;IAItD;;;;OAIG;IACG,kBAAkB,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAIxD;;;;OAIG;IACG,iBAAiB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAI3D;;;;OAIG;IACG,4BAA4B,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAQ/D;;;;;OAKG;IACG,gBAAgB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,+BAA+B,CAAC;IAOtF;;;;OAIG;IACG,wBAAwB,IAAI,OAAO,CAAC,uBAAuB,EAAE,CAAC;IAIpE;;;;OAIG;IACG,cAAc,IAAI,OAAO,CAAC,uBAAuB,EAAE,CAAC;IAQ1D;;;;;OAKG;IACG,qBAAqB,CAAC,MAAM,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IAIvE;;;;OAIG;IACG,gBAAgB,CAAC,UAAU,EAAE,0BAA0B,GAAG,OAAO,CAAC,aAAa,CAAC;IAItF;;;;OAIG;IACG,gBAAgB,CAAC,EAAE,EAAE,MAAM,EAAE,uBAAuB,EAAE,0BAA0B,GAAG,OAAO,CAAC,aAAa,CAAC;IAI/G;;;;;OAKG;IACG,sBAAsB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAI1E;;;;OAIG;IACG,sBAAsB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAI1E;;;;OAIG;IACG,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAIpD;;;;OAIG;IACG,oBAAoB,CAAC,cAAc,EAAE,8BAA8B,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAQtG;;;;OAIG;IACG,yBAAyB,CAAC,YAAY,EAAE,MAAM,EAAE,mBAAmB,EAAE,yBAAyB,GAAG,OAAO,CAAC,aAAa,CAAC;IAI7H;;;;OAIG;IACG,yBAAyB,CAAC,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,mBAAmB,EAAE,yBAAyB,GAAG,OAAO,CAAC,aAAa,CAAC;IAIlJ;;;;OAIG;IACG,yBAAyB,CAAC,YAAY,EAAE,MAAM,EAAE,qBAAqB,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAQ5G;;;OAGG;IACG,mBAAmB,CAAC,MAAM,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IAIrE;;;OAGG;IACG,MAAM,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,+BAA+B,CAAC;CAG7E"}
@@ -0,0 +1,35 @@
1
+ /**
2
+ * @explorins/pers-sdk-redemption
3
+ *
4
+ * Platform-agnostic Redemption Domain SDK for PERS ecosystem
5
+ * Handles redemption operations across different authorization levels
6
+ */
7
+ export { RedemptionApi } from './api/redemption-api';
8
+ export { RedemptionService } from './services/redemption-service';
9
+ export * from '../shared/interfaces/pers-shared-lib.interfaces';
10
+ import { RedemptionCreateRequestDTO, TokenUnitCreateRequestDTO } from '../shared/interfaces/pers-shared-lib.interfaces';
11
+ import { PersApiClient } from '../core/pers-api-client';
12
+ import { RedemptionApi } from './api/redemption-api';
13
+ import { RedemptionService } from './services/redemption-service';
14
+ /**
15
+ * Create a complete Redemption SDK instance
16
+ *
17
+ * @param apiClient - Configured PERS API client
18
+ * @returns Redemption SDK with flattened structure for better DX
19
+ */
20
+ export declare function createRedemptionSDK(apiClient: PersApiClient): {
21
+ getActiveRedemptions: () => Promise<import("@explorins/pers-shared/dist/cjs/dto/redemption/redemption.dto").RedemptionDTO[]>;
22
+ getRedemptionTypes: () => Promise<import("@explorins/pers-shared/dist/cjs/dto/redemption/redemptionType.dto").RedemptionTypeDTO[]>;
23
+ redeemRedemption: (redemptionId: string) => Promise<import("@explorins/pers-shared/dist/cjs/dto/redemption/redemptionUserRedeem.dto").RedemptionUserRedeemDetailedDTO>;
24
+ getUserRedeems: () => Promise<import("@explorins/pers-shared/dist/cjs/dto/redemption/redemptionUserRedeem.dto").RedemptionUserRedeemDTO[]>;
25
+ getRedemptionsAsAdmin: (active?: boolean) => Promise<import("@explorins/pers-shared/dist/cjs/dto/redemption/redemption.dto").RedemptionDTO[]>;
26
+ createRedemption: (redemption: RedemptionCreateRequestDTO) => Promise<import("@explorins/pers-shared/dist/cjs/dto/redemption/redemption.dto").RedemptionDTO>;
27
+ updateRedemption: (id: string, redemptionCreateRequest: RedemptionCreateRequestDTO) => Promise<import("@explorins/pers-shared/dist/cjs/dto/redemption/redemption.dto").RedemptionDTO>;
28
+ toggleRedemptionActive: (redemptionId: string) => Promise<import("@explorins/pers-shared/dist/cjs/dto/redemption/redemption.dto").RedemptionDTO>;
29
+ createRedemptionTokenUnit: (redemptionId: string, redemptionTokenUnit: TokenUnitCreateRequestDTO) => Promise<import("@explorins/pers-shared/dist/cjs/dto/redemption/redemption.dto").RedemptionDTO>;
30
+ deleteRedemptionTokenUnit: (redemptionId: string, redemptionTokenUnitId: string) => Promise<import("@explorins/pers-shared/dist/cjs/dto/redemption/redemption.dto").RedemptionDTO>;
31
+ api: RedemptionApi;
32
+ service: RedemptionService;
33
+ };
34
+ export type RedemptionSDK = ReturnType<typeof createRedemptionSDK>;
35
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/redemption/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAGrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAGlE,cAAc,iDAAiD,CAAC;AAIhE,OAAO,EAAE,0BAA0B,EAAE,yBAAyB,EAAE,MAAM,iDAAiD,CAAC;AAExH,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAElE;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,aAAa;;;qCAYvB,MAAM;;qCAIN,OAAO;mCACT,0BAA0B;2BAClC,MAAM,2BAA2B,0BAA0B;2CAC3C,MAAM;8CACH,MAAM,uBAAuB,yBAAyB;8CACtD,MAAM,yBAAyB,MAAM;;;EAMlF;AAED,MAAM,MAAM,aAAa,GAAG,UAAU,CAAC,OAAO,mBAAmB,CAAC,CAAC"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Redemption Domain Models
3
+ *
4
+ * Re-exports from centralized pers-shared interfaces for consistency with backend
5
+ * and to provide a single import source for redemption-related types.
6
+ */
7
+ export type { RedemptionDTO, RedemptionCreateRequestDTO, RedemptionRedeemRequestDTO, RedemptionTypeDTO, RedemptionTypeCreateRequestDTO, RedemptionUserRedeemDTO, RedemptionUserRedeemDetailedDTO } from '../../shared/interfaces/pers-shared-lib.interfaces';
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/redemption/models/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,YAAY,EACV,aAAa,EACb,0BAA0B,EAC1B,0BAA0B,EAC1B,iBAAiB,EACjB,8BAA8B,EAC9B,uBAAuB,EACvB,+BAA+B,EAChC,MAAM,oDAAoD,CAAC"}
@@ -0,0 +1,56 @@
1
+ import { RedemptionApi } from '../api/redemption-api';
2
+ import { RedemptionCreateRequestDTO, RedemptionDTO, RedemptionTypeDTO, RedemptionUserRedeemDetailedDTO, RedemptionUserRedeemDTO } from '@explorins/pers-shared';
3
+ import { TokenUnitCreateRequestDTO } from '../../campaign';
4
+ /**
5
+ * Platform-Agnostic Redemption Service
6
+ *
7
+ * Contains redemption business logic and operations that work across platforms.
8
+ * No framework dependencies - pure TypeScript business logic.
9
+ *
10
+ * Focuses only on actual backend capabilities.
11
+ */
12
+ export declare class RedemptionService {
13
+ private redemptionApi;
14
+ constructor(redemptionApi: RedemptionApi);
15
+ /**
16
+ * PUBLIC: Get active redemptions
17
+ */
18
+ getActiveRedemptions(): Promise<RedemptionDTO[]>;
19
+ /**
20
+ * PUBLIC: Get redemption types
21
+ */
22
+ getRedemptionTypes(): Promise<RedemptionTypeDTO[]>;
23
+ /**
24
+ * AUTH: Redeem a redemption
25
+ */
26
+ redeemRedemption(redemptionId: string): Promise<RedemptionUserRedeemDetailedDTO>;
27
+ /**
28
+ * AUTH: Get user redemptions
29
+ */
30
+ getUserRedeems(): Promise<RedemptionUserRedeemDTO[]>;
31
+ /**
32
+ * ADMIN: Get redemptions with optional active filter
33
+ */
34
+ getRedemptionsAsAdmin(active?: boolean): Promise<RedemptionDTO[]>;
35
+ /**
36
+ * ADMIN: Create redemption
37
+ */
38
+ createRedemption(redemption: RedemptionCreateRequestDTO): Promise<RedemptionDTO>;
39
+ /**
40
+ * ADMIN: Update redemption
41
+ */
42
+ updateRedemption(id: string, redemptionCreateRequest: RedemptionCreateRequestDTO): Promise<RedemptionDTO>;
43
+ /**
44
+ * ADMIN: Toggle redemption active status
45
+ */
46
+ toggleRedemptionActive(redemptionId: string): Promise<RedemptionDTO>;
47
+ /**
48
+ * ADMIN: Create redemption token unit
49
+ */
50
+ createRedemptionTokenUnit(redemptionId: string, redemptionTokenUnit: TokenUnitCreateRequestDTO): Promise<RedemptionDTO>;
51
+ /**
52
+ * ADMIN: Delete redemption token unit
53
+ */
54
+ deleteRedemptionTokenUnit(redemptionId: string, redemptionTokenUnitId: string): Promise<RedemptionDTO>;
55
+ }
56
+ //# sourceMappingURL=redemption-service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"redemption-service.d.ts","sourceRoot":"","sources":["../../../src/redemption/services/redemption-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EACL,0BAA0B,EAC1B,aAAa,EACb,iBAAiB,EACjB,+BAA+B,EAC/B,uBAAuB,EACxB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAE3D;;;;;;;GAOG;AACH,qBAAa,iBAAiB;IAChB,OAAO,CAAC,aAAa;gBAAb,aAAa,EAAE,aAAa;IAMhD;;OAEG;IACG,oBAAoB,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;IAItD;;OAEG;IACG,kBAAkB,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAQxD;;OAEG;IACG,gBAAgB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,+BAA+B,CAAC;IAItF;;OAEG;IACG,cAAc,IAAI,OAAO,CAAC,uBAAuB,EAAE,CAAC;IAQ1D;;OAEG;IACG,qBAAqB,CAAC,MAAM,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IAIvE;;OAEG;IACG,gBAAgB,CAAC,UAAU,EAAE,0BAA0B,GAAG,OAAO,CAAC,aAAa,CAAC;IAItF;;OAEG;IACG,gBAAgB,CAAC,EAAE,EAAE,MAAM,EAAE,uBAAuB,EAAE,0BAA0B,GAAG,OAAO,CAAC,aAAa,CAAC;IAI/G;;OAEG;IACG,sBAAsB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAI1E;;OAEG;IACG,yBAAyB,CAAC,YAAY,EAAE,MAAM,EAAE,mBAAmB,EAAE,yBAAyB,GAAG,OAAO,CAAC,aAAa,CAAC;IAI7H;;OAEG;IACG,yBAAyB,CAAC,YAAY,EAAE,MAAM,EAAE,qBAAqB,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;CAG7G"}
@@ -0,0 +1,333 @@
1
+ 'use strict';
2
+
3
+ /**
4
+ * Platform-Agnostic Redemption API Client (UPDATED - RESTful Design)
5
+ *
6
+ * Updated to work with the new RESTful /redemptions endpoints.
7
+ * Handles redemption operations using the PERS backend with intelligent access detection.
8
+ * Uses @explorins/pers-shared DTOs for consistency with backend.
9
+ *
10
+ * Migration Update: Updated all endpoints from /redemption to /redemptions
11
+ * - Removed role revelation from URLs (no more /admin, /auth paths)
12
+ * - Added intelligent access detection for unified endpoints
13
+ * - Updated toggle endpoint to follow /status pattern
14
+ * - Enhanced redemption process with path-based IDs
15
+ */
16
+ class RedemptionApi {
17
+ constructor(apiClient) {
18
+ this.apiClient = apiClient;
19
+ this.basePath = '/redemptions';
20
+ }
21
+ // ==========================================
22
+ // PUBLIC OPERATIONS (Project Key)
23
+ // ==========================================
24
+ /**
25
+ * PUBLIC: Get redemptions (intelligent access)
26
+ *
27
+ * NEW: 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
+ * Replaces: getActiveRedemptions() + getRedemptionsAsAdmin()
32
+ */
33
+ async getRedemptions(active) {
34
+ let url = `${this.basePath}`;
35
+ if (active !== undefined) {
36
+ url += `?active=${active}`;
37
+ }
38
+ return this.apiClient.get(url);
39
+ }
40
+ /**
41
+ * PUBLIC: Get active redemptions
42
+ *
43
+ * Updated: Now uses unified endpoint (backward compatibility)
44
+ */
45
+ async getActiveRedemptions() {
46
+ return this.getRedemptions(); // Will return active only for public access
47
+ }
48
+ /**
49
+ * PUBLIC: Get redemption types
50
+ *
51
+ * Updated: /redemption/type → /redemptions/types
52
+ */
53
+ async getRedemptionTypes() {
54
+ return this.apiClient.get(`${this.basePath}/types`);
55
+ }
56
+ /**
57
+ * PUBLIC: Get redemption by ID
58
+ *
59
+ * Updated: /redemption/:id → /redemptions/:id
60
+ */
61
+ async getRedemptionById(id) {
62
+ return this.apiClient.get(`${this.basePath}/${id}`);
63
+ }
64
+ /**
65
+ * PUBLIC: Get available supply for redemption
66
+ *
67
+ * Updated: /redemption/:id/available-supply → /redemptions/:id/available-supply
68
+ */
69
+ async getRedemptionAvailableSupply(id) {
70
+ return this.apiClient.get(`${this.basePath}/${id}/available-supply`);
71
+ }
72
+ // ==========================================
73
+ // USER OPERATIONS (JWT + Project Key)
74
+ // ==========================================
75
+ /**
76
+ * USER: Redeem a redemption
77
+ *
78
+ * Updated: /redemption/auth/redeem → /redemptions/:id/redeem
79
+ * Enhanced: Path-based redemption ID for better RESTful design
80
+ */
81
+ async redeemRedemption(redemptionId) {
82
+ const body = {
83
+ redemptionId: redemptionId,
84
+ };
85
+ return this.apiClient.post(`${this.basePath}/${redemptionId}/redeem`, body);
86
+ }
87
+ /**
88
+ * USER: Get user redemption history
89
+ *
90
+ * Updated: /redemption/auth/redeem → /redemptions/me/history
91
+ */
92
+ async getUserRedemptionHistory() {
93
+ return this.apiClient.get(`${this.basePath}/me/history`);
94
+ }
95
+ /**
96
+ * USER: Get user redemptions (backward compatibility)
97
+ *
98
+ * Deprecated: Use getUserRedemptionHistory() instead
99
+ */
100
+ async getUserRedeems() {
101
+ return this.getUserRedemptionHistory();
102
+ }
103
+ // ==========================================
104
+ // ADMIN OPERATIONS (Tenant Admin JWT)
105
+ // ==========================================
106
+ /**
107
+ * ADMIN: Get redemptions with filtering (using intelligent endpoint)
108
+ *
109
+ * Updated: /redemption/admin → /redemptions (intelligent access detection)
110
+ * The unified endpoint will detect admin privileges and allow filtering
111
+ */
112
+ async getRedemptionsAsAdmin(active) {
113
+ return this.getRedemptions(active); // Uses intelligent endpoint
114
+ }
115
+ /**
116
+ * ADMIN: Create redemption
117
+ *
118
+ * Updated: /redemption/admin → /redemptions
119
+ */
120
+ async createRedemption(redemption) {
121
+ return this.apiClient.post(`${this.basePath}`, redemption);
122
+ }
123
+ /**
124
+ * ADMIN: Update redemption
125
+ *
126
+ * Updated: /redemption/admin/:id → /redemptions/:id
127
+ */
128
+ async updateRedemption(id, redemptionCreateRequest) {
129
+ return this.apiClient.put(`${this.basePath}/${id}`, redemptionCreateRequest);
130
+ }
131
+ /**
132
+ * ADMIN: Toggle redemption status
133
+ *
134
+ * Updated: /redemption/admin/:id/toggle-active → /redemptions/:id/status
135
+ * Following standard /status pattern used across domains
136
+ */
137
+ async toggleRedemptionStatus(redemptionId) {
138
+ return this.apiClient.put(`${this.basePath}/${redemptionId}/status`, {});
139
+ }
140
+ /**
141
+ * ADMIN: Toggle redemption active (backward compatibility)
142
+ *
143
+ * Deprecated: Use toggleRedemptionStatus() instead
144
+ */
145
+ async toggleRedemptionActive(redemptionId) {
146
+ return this.toggleRedemptionStatus(redemptionId);
147
+ }
148
+ /**
149
+ * ADMIN: Delete redemption
150
+ *
151
+ * Updated: /redemption/admin/:id → /redemptions/:id
152
+ */
153
+ async deleteRedemption(id) {
154
+ return this.apiClient.delete(`${this.basePath}/${id}`);
155
+ }
156
+ /**
157
+ * ADMIN: Create redemption type
158
+ *
159
+ * Updated: /redemption/admin/type → /redemptions/types
160
+ */
161
+ async createRedemptionType(redemptionType) {
162
+ return this.apiClient.post(`${this.basePath}/types`, redemptionType);
163
+ }
164
+ // ==========================================
165
+ // TOKEN UNIT MANAGEMENT (Admin)
166
+ // ==========================================
167
+ /**
168
+ * ADMIN: Create redemption token unit
169
+ *
170
+ * Updated: /redemption/admin/:id/token-units → /redemptions/:id/token-units
171
+ */
172
+ async createRedemptionTokenUnit(redemptionId, redemptionTokenUnit) {
173
+ return this.apiClient.post(`${this.basePath}/${redemptionId}/token-units`, redemptionTokenUnit);
174
+ }
175
+ /**
176
+ * ADMIN: Update redemption token unit
177
+ *
178
+ * Updated: /redemption/admin/:id/token-units/:tokenUnitId → /redemptions/:id/token-units/:tokenUnitId
179
+ */
180
+ async updateRedemptionTokenUnit(redemptionId, tokenUnitId, redemptionTokenUnit) {
181
+ return this.apiClient.put(`${this.basePath}/${redemptionId}/token-units/${tokenUnitId}`, redemptionTokenUnit);
182
+ }
183
+ /**
184
+ * ADMIN: Delete redemption token unit
185
+ *
186
+ * Updated: /redemption/admin/:id/token-units/:tokenUnitId → /redemptions/:id/token-units/:tokenUnitId
187
+ */
188
+ async deleteRedemptionTokenUnit(redemptionId, redemptionTokenUnitId) {
189
+ return this.apiClient.delete(`${this.basePath}/${redemptionId}/token-units/${redemptionTokenUnitId}`);
190
+ }
191
+ // ==========================================
192
+ // BACKWARD COMPATIBILITY METHODS
193
+ // ==========================================
194
+ /**
195
+ * @deprecated Use getRedemptions() instead
196
+ * Backward compatibility for old admin endpoint
197
+ */
198
+ async getRedemptionsAdmin(active) {
199
+ return this.getRedemptionsAsAdmin(active);
200
+ }
201
+ /**
202
+ * @deprecated Use redeemRedemption() instead
203
+ * Backward compatibility for old redeem method
204
+ */
205
+ async redeem(redemptionId) {
206
+ return this.redeemRedemption(redemptionId);
207
+ }
208
+ }
209
+
210
+ /**
211
+ * Platform-Agnostic Redemption Service
212
+ *
213
+ * Contains redemption business logic and operations that work across platforms.
214
+ * No framework dependencies - pure TypeScript business logic.
215
+ *
216
+ * Focuses only on actual backend capabilities.
217
+ */
218
+ class RedemptionService {
219
+ constructor(redemptionApi) {
220
+ this.redemptionApi = redemptionApi;
221
+ }
222
+ // ==========================================
223
+ // PUBLIC OPERATIONS
224
+ // ==========================================
225
+ /**
226
+ * PUBLIC: Get active redemptions
227
+ */
228
+ async getActiveRedemptions() {
229
+ return this.redemptionApi.getActiveRedemptions();
230
+ }
231
+ /**
232
+ * PUBLIC: Get redemption types
233
+ */
234
+ async getRedemptionTypes() {
235
+ return this.redemptionApi.getRedemptionTypes();
236
+ }
237
+ // ==========================================
238
+ // AUTHENTICATED OPERATIONS
239
+ // ==========================================
240
+ /**
241
+ * AUTH: Redeem a redemption
242
+ */
243
+ async redeemRedemption(redemptionId) {
244
+ return this.redemptionApi.redeemRedemption(redemptionId);
245
+ }
246
+ /**
247
+ * AUTH: Get user redemptions
248
+ */
249
+ async getUserRedeems() {
250
+ return this.redemptionApi.getUserRedeems();
251
+ }
252
+ // ==========================================
253
+ // ADMIN OPERATIONS
254
+ // ==========================================
255
+ /**
256
+ * ADMIN: Get redemptions with optional active filter
257
+ */
258
+ async getRedemptionsAsAdmin(active) {
259
+ return this.redemptionApi.getRedemptionsAsAdmin(active);
260
+ }
261
+ /**
262
+ * ADMIN: Create redemption
263
+ */
264
+ async createRedemption(redemption) {
265
+ return this.redemptionApi.createRedemption(redemption);
266
+ }
267
+ /**
268
+ * ADMIN: Update redemption
269
+ */
270
+ async updateRedemption(id, redemptionCreateRequest) {
271
+ return this.redemptionApi.updateRedemption(id, redemptionCreateRequest); // ✅ CORRECTED: Fixed parameter
272
+ }
273
+ /**
274
+ * ADMIN: Toggle redemption active status
275
+ */
276
+ async toggleRedemptionActive(redemptionId) {
277
+ return this.redemptionApi.toggleRedemptionActive(redemptionId);
278
+ }
279
+ /**
280
+ * ADMIN: Create redemption token unit
281
+ */
282
+ async createRedemptionTokenUnit(redemptionId, redemptionTokenUnit) {
283
+ return this.redemptionApi.createRedemptionTokenUnit(redemptionId, redemptionTokenUnit);
284
+ }
285
+ /**
286
+ * ADMIN: Delete redemption token unit
287
+ */
288
+ async deleteRedemptionTokenUnit(redemptionId, redemptionTokenUnitId) {
289
+ return this.redemptionApi.deleteRedemptionTokenUnit(redemptionId, redemptionTokenUnitId);
290
+ }
291
+ }
292
+
293
+ /**
294
+ * @explorins/pers-sdk-redemption
295
+ *
296
+ * Platform-agnostic Redemption Domain SDK for PERS ecosystem
297
+ * Handles redemption operations across different authorization levels
298
+ */
299
+ // API Layer
300
+ /**
301
+ * Create a complete Redemption SDK instance
302
+ *
303
+ * @param apiClient - Configured PERS API client
304
+ * @returns Redemption SDK with flattened structure for better DX
305
+ */
306
+ function createRedemptionSDK(apiClient) {
307
+ const redemptionApi = new RedemptionApi(apiClient);
308
+ const redemptionService = new RedemptionService(redemptionApi);
309
+ return {
310
+ // Direct access to service methods (primary interface)
311
+ // Public methods
312
+ getActiveRedemptions: () => redemptionService.getActiveRedemptions(),
313
+ getRedemptionTypes: () => redemptionService.getRedemptionTypes(),
314
+ // Auth methods
315
+ redeemRedemption: (redemptionId) => redemptionService.redeemRedemption(redemptionId),
316
+ getUserRedeems: () => redemptionService.getUserRedeems(),
317
+ // Admin methods
318
+ getRedemptionsAsAdmin: (active) => redemptionService.getRedemptionsAsAdmin(active),
319
+ createRedemption: (redemption) => redemptionService.createRedemption(redemption),
320
+ updateRedemption: (id, redemptionCreateRequest) => redemptionService.updateRedemption(id, redemptionCreateRequest),
321
+ toggleRedemptionActive: (redemptionId) => redemptionService.toggleRedemptionActive(redemptionId),
322
+ createRedemptionTokenUnit: (redemptionId, redemptionTokenUnit) => redemptionService.createRedemptionTokenUnit(redemptionId, redemptionTokenUnit),
323
+ deleteRedemptionTokenUnit: (redemptionId, redemptionTokenUnitId) => redemptionService.deleteRedemptionTokenUnit(redemptionId, redemptionTokenUnitId),
324
+ // Advanced access for edge cases
325
+ api: redemptionApi,
326
+ service: redemptionService
327
+ };
328
+ }
329
+
330
+ exports.RedemptionApi = RedemptionApi;
331
+ exports.RedemptionService = RedemptionService;
332
+ exports.createRedemptionSDK = createRedemptionSDK;
333
+ //# sourceMappingURL=redemption.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"redemption.cjs","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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"}
@@ -0,0 +1,35 @@
1
+ /**
2
+ * @explorins/pers-sdk-redemption
3
+ *
4
+ * Platform-agnostic Redemption Domain SDK for PERS ecosystem
5
+ * Handles redemption operations across different authorization levels
6
+ */
7
+ export { RedemptionApi } from './redemption/api/redemption-api';
8
+ export { RedemptionService } from './redemption/services/redemption-service';
9
+ export * from './shared/interfaces/pers-shared-lib.interfaces';
10
+ import { RedemptionCreateRequestDTO, TokenUnitCreateRequestDTO } from './shared/interfaces/pers-shared-lib.interfaces';
11
+ import { PersApiClient } from './core/pers-api-client';
12
+ import { RedemptionApi } from './redemption/api/redemption-api';
13
+ import { RedemptionService } from './redemption/services/redemption-service';
14
+ /**
15
+ * Create a complete Redemption SDK instance
16
+ *
17
+ * @param apiClient - Configured PERS API client
18
+ * @returns Redemption SDK with flattened structure for better DX
19
+ */
20
+ export declare function createRedemptionSDK(apiClient: PersApiClient): {
21
+ getActiveRedemptions: () => Promise<RedemptionDTO[]>;
22
+ getRedemptionTypes: () => Promise<RedemptionTypeDTO[]>;
23
+ redeemRedemption: (redemptionId: string) => Promise<RedemptionUserRedeemDetailedDTO>;
24
+ getUserRedeems: () => Promise<RedemptionUserRedeemDTO[]>;
25
+ getRedemptionsAsAdmin: (active?: boolean) => Promise<RedemptionDTO[]>;
26
+ createRedemption: (redemption: RedemptionCreateRequestDTO) => Promise<RedemptionDTO>;
27
+ updateRedemption: (id: string, redemptionCreateRequest: RedemptionCreateRequestDTO) => Promise<RedemptionDTO>;
28
+ toggleRedemptionActive: (redemptionId: string) => Promise<RedemptionDTO>;
29
+ createRedemptionTokenUnit: (redemptionId: string, redemptionTokenUnit: TokenUnitCreateRequestDTO) => Promise<RedemptionDTO>;
30
+ deleteRedemptionTokenUnit: (redemptionId: string, redemptionTokenUnitId: string) => Promise<RedemptionDTO>;
31
+ api: RedemptionApi;
32
+ service: RedemptionService;
33
+ };
34
+ export type RedemptionSDK = ReturnType<typeof createRedemptionSDK>;
35
+ //# sourceMappingURL=index.d.ts.map