@explorins/pers-sdk 1.1.2 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (276) 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/{src/analytics/index.ts → dist/analytics/index.d.ts} +28 -52
  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.js +72 -0
  12. package/dist/analytics.js.map +1 -0
  13. package/dist/auth-admin/api/auth-admin-api.d.ts +27 -0
  14. package/dist/auth-admin/api/auth-admin-api.d.ts.map +1 -0
  15. package/dist/auth-admin/index.d.ts +26 -0
  16. package/dist/auth-admin/index.d.ts.map +1 -0
  17. package/dist/auth-admin/services/auth-admin-service.d.ts +23 -0
  18. package/dist/auth-admin/services/auth-admin-service.d.ts.map +1 -0
  19. package/dist/auth-admin.cjs +96 -0
  20. package/dist/auth-admin.cjs.map +1 -0
  21. package/dist/auth-admin.js +92 -0
  22. package/dist/auth-admin.js.map +1 -0
  23. package/dist/business/api/business-api.d.ts +133 -0
  24. package/dist/business/api/business-api.d.ts.map +1 -0
  25. package/dist/business/index.d.ts +34 -0
  26. package/dist/business/index.d.ts.map +1 -0
  27. package/dist/business/models/index.d.ts +8 -0
  28. package/dist/business/models/index.d.ts.map +1 -0
  29. package/dist/business/services/business-service.d.ts +51 -0
  30. package/dist/business/services/business-service.d.ts.map +1 -0
  31. package/dist/business.cjs +303 -0
  32. package/dist/business.cjs.map +1 -0
  33. package/dist/business.js +299 -0
  34. package/dist/business.js.map +1 -0
  35. package/dist/campaign/api/campaign-api.d.ts +213 -0
  36. package/dist/campaign/api/campaign-api.d.ts.map +1 -0
  37. package/dist/campaign/index.d.ts +44 -0
  38. package/dist/campaign/index.d.ts.map +1 -0
  39. package/dist/campaign/services/campaign-service.d.ts +88 -0
  40. package/dist/campaign/services/campaign-service.d.ts.map +1 -0
  41. package/dist/campaign.cjs +506 -0
  42. package/dist/campaign.cjs.map +1 -0
  43. package/dist/campaign.js +502 -0
  44. package/dist/campaign.js.map +1 -0
  45. package/dist/core/abstractions/http-client.d.ts +22 -0
  46. package/dist/core/abstractions/http-client.d.ts.map +1 -0
  47. package/dist/core/auth/auth-provider.interface.d.ts +12 -0
  48. package/dist/core/auth/auth-provider.interface.d.ts.map +1 -0
  49. package/dist/core/auth/create-auth-provider.d.ts +27 -0
  50. package/dist/core/auth/create-auth-provider.d.ts.map +1 -0
  51. package/dist/core/auth/simple-auth-config.interface.d.ts +15 -0
  52. package/dist/core/auth/simple-auth-config.interface.d.ts.map +1 -0
  53. package/dist/core/index.d.ts +13 -0
  54. package/dist/core/index.d.ts.map +1 -0
  55. package/dist/core/pers-api-client.d.ts +54 -0
  56. package/dist/core/pers-api-client.d.ts.map +1 -0
  57. package/dist/core/pers-config.d.ts +38 -0
  58. package/dist/core/pers-config.d.ts.map +1 -0
  59. package/dist/core/utils/jwt.function.d.ts +2 -0
  60. package/dist/core/utils/jwt.function.d.ts.map +1 -0
  61. package/dist/core.cjs +506 -0
  62. package/dist/core.cjs.map +1 -0
  63. package/dist/core.js +497 -0
  64. package/dist/core.js.map +1 -0
  65. package/dist/donation/api/donation-api.d.ts +18 -0
  66. package/dist/donation/api/donation-api.d.ts.map +1 -0
  67. package/dist/donation/index.d.ts +25 -0
  68. package/dist/donation/index.d.ts.map +1 -0
  69. package/{src/donation/models/index.ts → dist/donation/models/index.d.ts} +8 -11
  70. package/dist/donation/models/index.d.ts.map +1 -0
  71. package/dist/donation/services/donation-service.d.ts +19 -0
  72. package/dist/donation/services/donation-service.d.ts.map +1 -0
  73. package/dist/donation.cjs +78 -0
  74. package/dist/donation.cjs.map +1 -0
  75. package/dist/donation.js +74 -0
  76. package/dist/donation.js.map +1 -0
  77. package/dist/index.cjs +4217 -0
  78. package/dist/index.cjs.map +1 -0
  79. package/dist/index.d.ts +21 -0
  80. package/dist/index.d.ts.map +1 -0
  81. package/dist/index.js +4164 -0
  82. package/dist/index.js.map +1 -0
  83. package/dist/package.json +129 -0
  84. package/dist/payment/api/payment-api.d.ts +105 -0
  85. package/dist/payment/api/payment-api.d.ts.map +1 -0
  86. package/dist/payment/index.d.ts +36 -0
  87. package/dist/payment/index.d.ts.map +1 -0
  88. package/dist/payment/models/index.d.ts +12 -0
  89. package/dist/payment/models/index.d.ts.map +1 -0
  90. package/dist/payment/services/payment-service.d.ts +40 -0
  91. package/dist/payment/services/payment-service.d.ts.map +1 -0
  92. package/dist/payment.cjs +258 -0
  93. package/dist/payment.cjs.map +1 -0
  94. package/dist/payment.js +254 -0
  95. package/dist/payment.js.map +1 -0
  96. package/dist/pers-sdk.d.ts +29 -0
  97. package/dist/pers-sdk.d.ts.map +1 -0
  98. package/dist/redemption/api/redemption-api.d.ts +147 -0
  99. package/dist/redemption/api/redemption-api.d.ts.map +1 -0
  100. package/dist/redemption/index.d.ts +35 -0
  101. package/dist/redemption/index.d.ts.map +1 -0
  102. package/dist/redemption/models/index.d.ts +8 -0
  103. package/dist/redemption/models/index.d.ts.map +1 -0
  104. package/dist/redemption/services/redemption-service.d.ts +56 -0
  105. package/dist/redemption/services/redemption-service.d.ts.map +1 -0
  106. package/dist/redemption.cjs +333 -0
  107. package/dist/redemption.cjs.map +1 -0
  108. package/dist/redemption.js +329 -0
  109. package/dist/redemption.js.map +1 -0
  110. package/dist/shared/interfaces/pers-shared-lib.interfaces.d.ts +18 -0
  111. package/dist/shared/interfaces/pers-shared-lib.interfaces.d.ts.map +1 -0
  112. package/dist/tenant/api/tenant-api.d.ts +56 -0
  113. package/dist/tenant/api/tenant-api.d.ts.map +1 -0
  114. package/dist/tenant/index.d.ts +34 -0
  115. package/dist/tenant/index.d.ts.map +1 -0
  116. package/dist/tenant/models/index.d.ts +11 -0
  117. package/dist/tenant/models/index.d.ts.map +1 -0
  118. package/dist/tenant/services/tenant-service.d.ts +46 -0
  119. package/dist/tenant/services/tenant-service.d.ts.map +1 -0
  120. package/dist/tenant.cjs +177 -0
  121. package/dist/tenant.cjs.map +1 -0
  122. package/dist/tenant.js +173 -0
  123. package/dist/tenant.js.map +1 -0
  124. package/dist/token/api/token-api.d.ts +64 -0
  125. package/dist/token/api/token-api.d.ts.map +1 -0
  126. package/dist/token/base/base-token-service.d.ts +87 -0
  127. package/dist/token/base/base-token-service.d.ts.map +1 -0
  128. package/dist/token/index.d.ts +13 -0
  129. package/dist/token/index.d.ts.map +1 -0
  130. package/dist/token/models/index.d.ts +18 -0
  131. package/dist/token/models/index.d.ts.map +1 -0
  132. package/dist/token/services/token-service.d.ts +68 -0
  133. package/dist/token/services/token-service.d.ts.map +1 -0
  134. package/dist/token/token-sdk.d.ts +140 -0
  135. package/dist/token/token-sdk.d.ts.map +1 -0
  136. package/dist/token.cjs +537 -0
  137. package/dist/token.cjs.map +1 -0
  138. package/dist/token.js +532 -0
  139. package/dist/token.js.map +1 -0
  140. package/dist/transaction/api/transaction-api.d.ts +133 -0
  141. package/dist/transaction/api/transaction-api.d.ts.map +1 -0
  142. package/dist/transaction/index.d.ts +38 -0
  143. package/dist/transaction/index.d.ts.map +1 -0
  144. package/dist/transaction/models/index.d.ts +42 -0
  145. package/dist/transaction/models/index.d.ts.map +1 -0
  146. package/dist/transaction/services/transaction-service.d.ts +56 -0
  147. package/dist/transaction/services/transaction-service.d.ts.map +1 -0
  148. package/dist/transaction.cjs +394 -0
  149. package/dist/transaction.cjs.map +1 -0
  150. package/dist/transaction.js +390 -0
  151. package/dist/transaction.js.map +1 -0
  152. package/dist/user/api/user-api.d.ts +56 -0
  153. package/dist/user/api/user-api.d.ts.map +1 -0
  154. package/dist/user/index.d.ts +36 -0
  155. package/dist/user/index.d.ts.map +1 -0
  156. package/{src/user/models/index.ts → dist/user/models/index.d.ts} +12 -10
  157. package/dist/user/models/index.d.ts.map +1 -0
  158. package/dist/user/services/user-service.d.ts +46 -0
  159. package/dist/user/services/user-service.d.ts.map +1 -0
  160. package/dist/user-status/api/user-status-api.d.ts +37 -0
  161. package/dist/user-status/api/user-status-api.d.ts.map +1 -0
  162. package/dist/user-status/index.d.ts +28 -0
  163. package/dist/user-status/index.d.ts.map +1 -0
  164. package/{src/user-status/models/index.ts → dist/user-status/models/index.d.ts} +8 -11
  165. package/dist/user-status/models/index.d.ts.map +1 -0
  166. package/dist/user-status/services/user-status-service.d.ts +26 -0
  167. package/dist/user-status/services/user-status-service.d.ts.map +1 -0
  168. package/dist/user-status.cjs +147 -0
  169. package/dist/user-status.cjs.map +1 -0
  170. package/dist/user-status.js +143 -0
  171. package/dist/user-status.js.map +1 -0
  172. package/dist/user.cjs +188 -0
  173. package/dist/user.cjs.map +1 -0
  174. package/dist/user.js +184 -0
  175. package/dist/user.js.map +1 -0
  176. package/dist/web3/api/web3-api.d.ts +27 -0
  177. package/dist/web3/api/web3-api.d.ts.map +1 -0
  178. package/dist/web3/index.d.ts +16 -0
  179. package/dist/web3/index.d.ts.map +1 -0
  180. package/dist/web3/models/index.d.ts +92 -0
  181. package/dist/web3/models/index.d.ts.map +1 -0
  182. package/dist/web3/services/web3-service.d.ts +21 -0
  183. package/dist/web3/services/web3-service.d.ts.map +1 -0
  184. package/dist/web3-chain/api/web3-chain-api.d.ts +19 -0
  185. package/dist/web3-chain/api/web3-chain-api.d.ts.map +1 -0
  186. package/dist/web3-chain/index.d.ts +17 -0
  187. package/dist/web3-chain/index.d.ts.map +1 -0
  188. package/{src/web3-chain/models/index.ts → dist/web3-chain/models/index.d.ts} +38 -45
  189. package/dist/web3-chain/models/index.d.ts.map +1 -0
  190. package/dist/web3-chain/services/getWeb3FCD.service.d.ts +8 -0
  191. package/dist/web3-chain/services/getWeb3FCD.service.d.ts.map +1 -0
  192. package/dist/web3-chain/services/provider.service.d.ts +15 -0
  193. package/dist/web3-chain/services/provider.service.d.ts.map +1 -0
  194. package/dist/web3-chain/services/public-http-provider.service.d.ts +8 -0
  195. package/dist/web3-chain/services/public-http-provider.service.d.ts.map +1 -0
  196. package/dist/web3-chain/services/web3-chain-service.d.ts +17 -0
  197. package/dist/web3-chain/services/web3-chain-service.d.ts.map +1 -0
  198. package/dist/web3-chain.cjs +316 -0
  199. package/dist/web3-chain.cjs.map +1 -0
  200. package/dist/web3-chain.js +310 -0
  201. package/dist/web3-chain.js.map +1 -0
  202. package/dist/web3.cjs +516 -0
  203. package/dist/web3.cjs.map +1 -0
  204. package/dist/web3.js +513 -0
  205. package/dist/web3.js.map +1 -0
  206. package/package.json +56 -72
  207. package/config/domains.js +0 -22
  208. package/explorins-pers-sdk-1.0.0-alpha.1.tgz +0 -0
  209. package/rollup.config.js +0 -74
  210. package/scripts/copy-declarations.js +0 -147
  211. package/src/analytics/api/analytics-api.ts +0 -24
  212. package/src/analytics/models/index.ts +0 -74
  213. package/src/analytics/services/analytics-service.ts +0 -28
  214. package/src/auth-admin/api/auth-admin-api.ts +0 -42
  215. package/src/auth-admin/index.ts +0 -47
  216. package/src/auth-admin/services/auth-admin-service.ts +0 -36
  217. package/src/business/api/business-api.ts +0 -234
  218. package/src/business/index.ts +0 -53
  219. package/src/business/models/index.ts +0 -13
  220. package/src/business/services/business-service.ts +0 -88
  221. package/src/campaign/api/campaign-api.ts +0 -376
  222. package/src/campaign/index.ts +0 -67
  223. package/src/campaign/services/campaign-service.ts +0 -164
  224. package/src/core/abstractions/http-client.ts +0 -24
  225. package/src/core/auth/auth-provider.interface.ts +0 -16
  226. package/src/core/auth/create-auth-provider.ts +0 -136
  227. package/src/core/auth/simple-auth-config.interface.ts +0 -15
  228. package/src/core/index.ts +0 -33
  229. package/src/core/pers-api-client.ts +0 -343
  230. package/src/core/pers-config.ts +0 -65
  231. package/src/core/utils/jwt.function.ts +0 -24
  232. package/src/donation/api/donation-api.ts +0 -24
  233. package/src/donation/index.ts +0 -47
  234. package/src/donation/services/donation-service.ts +0 -25
  235. package/src/index.ts +0 -55
  236. package/src/payment/api/payment-api.ts +0 -185
  237. package/src/payment/index.ts +0 -64
  238. package/src/payment/models/index.ts +0 -29
  239. package/src/payment/services/payment-service.ts +0 -70
  240. package/src/pers-sdk.ts +0 -45
  241. package/src/redemption/api/redemption-api.ts +0 -241
  242. package/src/redemption/index.ts +0 -60
  243. package/src/redemption/models/index.ts +0 -17
  244. package/src/redemption/services/redemption-service.ts +0 -103
  245. package/src/shared/interfaces/pers-shared-lib.interfaces.ts +0 -99
  246. package/src/tenant/api/tenant-api.ts +0 -92
  247. package/src/tenant/index.ts +0 -61
  248. package/src/tenant/models/index.ts +0 -20
  249. package/src/tenant/services/tenant-service.ts +0 -78
  250. package/src/token/api/token-api.ts +0 -129
  251. package/src/token/base/base-token-service.ts +0 -167
  252. package/src/token/index.ts +0 -38
  253. package/src/token/models/index.ts +0 -30
  254. package/src/token/services/token-service.ts +0 -125
  255. package/src/token/token-sdk.ts +0 -231
  256. package/src/transaction/api/transaction-api.ts +0 -296
  257. package/src/transaction/index.ts +0 -65
  258. package/src/transaction/models/index.ts +0 -60
  259. package/src/transaction/services/transaction-service.ts +0 -104
  260. package/src/user/api/user-api.ts +0 -98
  261. package/src/user/index.ts +0 -62
  262. package/src/user/services/user-service.ts +0 -75
  263. package/src/user-status/api/user-status-api.ts +0 -78
  264. package/src/user-status/index.ts +0 -55
  265. package/src/user-status/services/user-status-service.ts +0 -51
  266. package/src/web3/api/web3-api.ts +0 -68
  267. package/src/web3/index.ts +0 -38
  268. package/src/web3/models/index.ts +0 -150
  269. package/src/web3/services/web3-service.ts +0 -338
  270. package/src/web3-chain/api/web3-chain-api.ts +0 -42
  271. package/src/web3-chain/index.ts +0 -27
  272. package/src/web3-chain/services/getWeb3FCD.service.ts +0 -47
  273. package/src/web3-chain/services/provider.service.ts +0 -123
  274. package/src/web3-chain/services/public-http-provider.service.ts +0 -26
  275. package/src/web3-chain/services/web3-chain-service.ts +0 -131
  276. package/tsconfig.json +0 -28
@@ -0,0 +1,329 @@
1
+ /**
2
+ * Platform-Agnostic Redemption API Client (UPDATED - RESTful Design)
3
+ *
4
+ * Updated to work with the new RESTful /redemptions endpoints.
5
+ * Handles redemption operations using the PERS backend with intelligent access detection.
6
+ * Uses @explorins/pers-shared DTOs for consistency with backend.
7
+ *
8
+ * Migration Update: Updated all endpoints from /redemption to /redemptions
9
+ * - Removed role revelation from URLs (no more /admin, /auth paths)
10
+ * - Added intelligent access detection for unified endpoints
11
+ * - Updated toggle endpoint to follow /status pattern
12
+ * - Enhanced redemption process with path-based IDs
13
+ */
14
+ class RedemptionApi {
15
+ constructor(apiClient) {
16
+ this.apiClient = apiClient;
17
+ this.basePath = '/redemptions';
18
+ }
19
+ // ==========================================
20
+ // PUBLIC OPERATIONS (Project Key)
21
+ // ==========================================
22
+ /**
23
+ * PUBLIC: Get redemptions (intelligent access)
24
+ *
25
+ * NEW: Intelligent endpoint that adapts based on authentication
26
+ * - Public users: Get active redemptions only
27
+ * - Admin users: Get all redemptions with optional filtering
28
+ *
29
+ * Replaces: getActiveRedemptions() + getRedemptionsAsAdmin()
30
+ */
31
+ async getRedemptions(active) {
32
+ let url = `${this.basePath}`;
33
+ if (active !== undefined) {
34
+ url += `?active=${active}`;
35
+ }
36
+ return this.apiClient.get(url);
37
+ }
38
+ /**
39
+ * PUBLIC: Get active redemptions
40
+ *
41
+ * Updated: Now uses unified endpoint (backward compatibility)
42
+ */
43
+ async getActiveRedemptions() {
44
+ return this.getRedemptions(); // Will return active only for public access
45
+ }
46
+ /**
47
+ * PUBLIC: Get redemption types
48
+ *
49
+ * Updated: /redemption/type → /redemptions/types
50
+ */
51
+ async getRedemptionTypes() {
52
+ return this.apiClient.get(`${this.basePath}/types`);
53
+ }
54
+ /**
55
+ * PUBLIC: Get redemption by ID
56
+ *
57
+ * Updated: /redemption/:id → /redemptions/:id
58
+ */
59
+ async getRedemptionById(id) {
60
+ return this.apiClient.get(`${this.basePath}/${id}`);
61
+ }
62
+ /**
63
+ * PUBLIC: Get available supply for redemption
64
+ *
65
+ * Updated: /redemption/:id/available-supply → /redemptions/:id/available-supply
66
+ */
67
+ async getRedemptionAvailableSupply(id) {
68
+ return this.apiClient.get(`${this.basePath}/${id}/available-supply`);
69
+ }
70
+ // ==========================================
71
+ // USER OPERATIONS (JWT + Project Key)
72
+ // ==========================================
73
+ /**
74
+ * USER: Redeem a redemption
75
+ *
76
+ * Updated: /redemption/auth/redeem → /redemptions/:id/redeem
77
+ * Enhanced: Path-based redemption ID for better RESTful design
78
+ */
79
+ async redeemRedemption(redemptionId) {
80
+ const body = {
81
+ redemptionId: redemptionId,
82
+ };
83
+ return this.apiClient.post(`${this.basePath}/${redemptionId}/redeem`, body);
84
+ }
85
+ /**
86
+ * USER: Get user redemption history
87
+ *
88
+ * Updated: /redemption/auth/redeem → /redemptions/me/history
89
+ */
90
+ async getUserRedemptionHistory() {
91
+ return this.apiClient.get(`${this.basePath}/me/history`);
92
+ }
93
+ /**
94
+ * USER: Get user redemptions (backward compatibility)
95
+ *
96
+ * Deprecated: Use getUserRedemptionHistory() instead
97
+ */
98
+ async getUserRedeems() {
99
+ return this.getUserRedemptionHistory();
100
+ }
101
+ // ==========================================
102
+ // ADMIN OPERATIONS (Tenant Admin JWT)
103
+ // ==========================================
104
+ /**
105
+ * ADMIN: Get redemptions with filtering (using intelligent endpoint)
106
+ *
107
+ * Updated: /redemption/admin → /redemptions (intelligent access detection)
108
+ * The unified endpoint will detect admin privileges and allow filtering
109
+ */
110
+ async getRedemptionsAsAdmin(active) {
111
+ return this.getRedemptions(active); // Uses intelligent endpoint
112
+ }
113
+ /**
114
+ * ADMIN: Create redemption
115
+ *
116
+ * Updated: /redemption/admin → /redemptions
117
+ */
118
+ async createRedemption(redemption) {
119
+ return this.apiClient.post(`${this.basePath}`, redemption);
120
+ }
121
+ /**
122
+ * ADMIN: Update redemption
123
+ *
124
+ * Updated: /redemption/admin/:id → /redemptions/:id
125
+ */
126
+ async updateRedemption(id, redemptionCreateRequest) {
127
+ return this.apiClient.put(`${this.basePath}/${id}`, redemptionCreateRequest);
128
+ }
129
+ /**
130
+ * ADMIN: Toggle redemption status
131
+ *
132
+ * Updated: /redemption/admin/:id/toggle-active → /redemptions/:id/status
133
+ * Following standard /status pattern used across domains
134
+ */
135
+ async toggleRedemptionStatus(redemptionId) {
136
+ return this.apiClient.put(`${this.basePath}/${redemptionId}/status`, {});
137
+ }
138
+ /**
139
+ * ADMIN: Toggle redemption active (backward compatibility)
140
+ *
141
+ * Deprecated: Use toggleRedemptionStatus() instead
142
+ */
143
+ async toggleRedemptionActive(redemptionId) {
144
+ return this.toggleRedemptionStatus(redemptionId);
145
+ }
146
+ /**
147
+ * ADMIN: Delete redemption
148
+ *
149
+ * Updated: /redemption/admin/:id → /redemptions/:id
150
+ */
151
+ async deleteRedemption(id) {
152
+ return this.apiClient.delete(`${this.basePath}/${id}`);
153
+ }
154
+ /**
155
+ * ADMIN: Create redemption type
156
+ *
157
+ * Updated: /redemption/admin/type → /redemptions/types
158
+ */
159
+ async createRedemptionType(redemptionType) {
160
+ return this.apiClient.post(`${this.basePath}/types`, redemptionType);
161
+ }
162
+ // ==========================================
163
+ // TOKEN UNIT MANAGEMENT (Admin)
164
+ // ==========================================
165
+ /**
166
+ * ADMIN: Create redemption token unit
167
+ *
168
+ * Updated: /redemption/admin/:id/token-units → /redemptions/:id/token-units
169
+ */
170
+ async createRedemptionTokenUnit(redemptionId, redemptionTokenUnit) {
171
+ return this.apiClient.post(`${this.basePath}/${redemptionId}/token-units`, redemptionTokenUnit);
172
+ }
173
+ /**
174
+ * ADMIN: Update redemption token unit
175
+ *
176
+ * Updated: /redemption/admin/:id/token-units/:tokenUnitId → /redemptions/:id/token-units/:tokenUnitId
177
+ */
178
+ async updateRedemptionTokenUnit(redemptionId, tokenUnitId, redemptionTokenUnit) {
179
+ return this.apiClient.put(`${this.basePath}/${redemptionId}/token-units/${tokenUnitId}`, redemptionTokenUnit);
180
+ }
181
+ /**
182
+ * ADMIN: Delete redemption token unit
183
+ *
184
+ * Updated: /redemption/admin/:id/token-units/:tokenUnitId → /redemptions/:id/token-units/:tokenUnitId
185
+ */
186
+ async deleteRedemptionTokenUnit(redemptionId, redemptionTokenUnitId) {
187
+ return this.apiClient.delete(`${this.basePath}/${redemptionId}/token-units/${redemptionTokenUnitId}`);
188
+ }
189
+ // ==========================================
190
+ // BACKWARD COMPATIBILITY METHODS
191
+ // ==========================================
192
+ /**
193
+ * @deprecated Use getRedemptions() instead
194
+ * Backward compatibility for old admin endpoint
195
+ */
196
+ async getRedemptionsAdmin(active) {
197
+ return this.getRedemptionsAsAdmin(active);
198
+ }
199
+ /**
200
+ * @deprecated Use redeemRedemption() instead
201
+ * Backward compatibility for old redeem method
202
+ */
203
+ async redeem(redemptionId) {
204
+ return this.redeemRedemption(redemptionId);
205
+ }
206
+ }
207
+
208
+ /**
209
+ * Platform-Agnostic Redemption Service
210
+ *
211
+ * Contains redemption business logic and operations that work across platforms.
212
+ * No framework dependencies - pure TypeScript business logic.
213
+ *
214
+ * Focuses only on actual backend capabilities.
215
+ */
216
+ class RedemptionService {
217
+ constructor(redemptionApi) {
218
+ this.redemptionApi = redemptionApi;
219
+ }
220
+ // ==========================================
221
+ // PUBLIC OPERATIONS
222
+ // ==========================================
223
+ /**
224
+ * PUBLIC: Get active redemptions
225
+ */
226
+ async getActiveRedemptions() {
227
+ return this.redemptionApi.getActiveRedemptions();
228
+ }
229
+ /**
230
+ * PUBLIC: Get redemption types
231
+ */
232
+ async getRedemptionTypes() {
233
+ return this.redemptionApi.getRedemptionTypes();
234
+ }
235
+ // ==========================================
236
+ // AUTHENTICATED OPERATIONS
237
+ // ==========================================
238
+ /**
239
+ * AUTH: Redeem a redemption
240
+ */
241
+ async redeemRedemption(redemptionId) {
242
+ return this.redemptionApi.redeemRedemption(redemptionId);
243
+ }
244
+ /**
245
+ * AUTH: Get user redemptions
246
+ */
247
+ async getUserRedeems() {
248
+ return this.redemptionApi.getUserRedeems();
249
+ }
250
+ // ==========================================
251
+ // ADMIN OPERATIONS
252
+ // ==========================================
253
+ /**
254
+ * ADMIN: Get redemptions with optional active filter
255
+ */
256
+ async getRedemptionsAsAdmin(active) {
257
+ return this.redemptionApi.getRedemptionsAsAdmin(active);
258
+ }
259
+ /**
260
+ * ADMIN: Create redemption
261
+ */
262
+ async createRedemption(redemption) {
263
+ return this.redemptionApi.createRedemption(redemption);
264
+ }
265
+ /**
266
+ * ADMIN: Update redemption
267
+ */
268
+ async updateRedemption(id, redemptionCreateRequest) {
269
+ return this.redemptionApi.updateRedemption(id, redemptionCreateRequest); // ✅ CORRECTED: Fixed parameter
270
+ }
271
+ /**
272
+ * ADMIN: Toggle redemption active status
273
+ */
274
+ async toggleRedemptionActive(redemptionId) {
275
+ return this.redemptionApi.toggleRedemptionActive(redemptionId);
276
+ }
277
+ /**
278
+ * ADMIN: Create redemption token unit
279
+ */
280
+ async createRedemptionTokenUnit(redemptionId, redemptionTokenUnit) {
281
+ return this.redemptionApi.createRedemptionTokenUnit(redemptionId, redemptionTokenUnit);
282
+ }
283
+ /**
284
+ * ADMIN: Delete redemption token unit
285
+ */
286
+ async deleteRedemptionTokenUnit(redemptionId, redemptionTokenUnitId) {
287
+ return this.redemptionApi.deleteRedemptionTokenUnit(redemptionId, redemptionTokenUnitId);
288
+ }
289
+ }
290
+
291
+ /**
292
+ * @explorins/pers-sdk-redemption
293
+ *
294
+ * Platform-agnostic Redemption Domain SDK for PERS ecosystem
295
+ * Handles redemption operations across different authorization levels
296
+ */
297
+ // API Layer
298
+ /**
299
+ * Create a complete Redemption SDK instance
300
+ *
301
+ * @param apiClient - Configured PERS API client
302
+ * @returns Redemption SDK with flattened structure for better DX
303
+ */
304
+ function createRedemptionSDK(apiClient) {
305
+ const redemptionApi = new RedemptionApi(apiClient);
306
+ const redemptionService = new RedemptionService(redemptionApi);
307
+ return {
308
+ // Direct access to service methods (primary interface)
309
+ // Public methods
310
+ getActiveRedemptions: () => redemptionService.getActiveRedemptions(),
311
+ getRedemptionTypes: () => redemptionService.getRedemptionTypes(),
312
+ // Auth methods
313
+ redeemRedemption: (redemptionId) => redemptionService.redeemRedemption(redemptionId),
314
+ getUserRedeems: () => redemptionService.getUserRedeems(),
315
+ // Admin methods
316
+ getRedemptionsAsAdmin: (active) => redemptionService.getRedemptionsAsAdmin(active),
317
+ createRedemption: (redemption) => redemptionService.createRedemption(redemption),
318
+ updateRedemption: (id, redemptionCreateRequest) => redemptionService.updateRedemption(id, redemptionCreateRequest),
319
+ toggleRedemptionActive: (redemptionId) => redemptionService.toggleRedemptionActive(redemptionId),
320
+ createRedemptionTokenUnit: (redemptionId, redemptionTokenUnit) => redemptionService.createRedemptionTokenUnit(redemptionId, redemptionTokenUnit),
321
+ deleteRedemptionTokenUnit: (redemptionId, redemptionTokenUnitId) => redemptionService.deleteRedemptionTokenUnit(redemptionId, redemptionTokenUnitId),
322
+ // Advanced access for edge cases
323
+ api: redemptionApi,
324
+ service: redemptionService
325
+ };
326
+ }
327
+
328
+ export { RedemptionApi, RedemptionService, createRedemptionSDK };
329
+ //# sourceMappingURL=redemption.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"redemption.js","sources":["../src/redemption/api/redemption-api.ts","../src/redemption/services/redemption-service.ts","../src/redemption/index.ts"],"sourcesContent":[null,null,null],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Centralized PERS Shared Library Interfaces
3
+ *
4
+ * Single source of truth for all @explorins/pers-shared type exports
5
+ * used throughout the PERS SDK. This ensures consistent type usage
6
+ * and makes it easier to manage dependencies.
7
+ */
8
+ export { type AdminDTO, type SessionAuthResponseDTO } from '@explorins/pers-shared';
9
+ export { type BusinessDTO, type BusinessTypeDTO, type BusinessUpdateRequestDTO, type BusinessCreateRequestDTO, type BusinessToggleActiveRequestDTO, type BusinessApiKeyDTO, type BusinessTokenBalancesDTO, type BusinessTypeCreateRequestDTO } from '@explorins/pers-shared';
10
+ export { type CampaignDTO, type CampaignCreateRequestDTO, type CampaignUserClaimDTO, type CampaignClaimRequestDTO, type CampaignTriggerDTO, type CampaignBusinessEngagementCreateRequestDTO, type TokenUnitCreateRequestDTO, type CampaignTriggerType } from '@explorins/pers-shared';
11
+ export { type DonationTypeDTO } from '@explorins/pers-shared';
12
+ export { type UserDTO, type PurchaseDTO, type PurchaseTokenDTO, type PurchaseTypeDTO, type PaymentIntentDTO, type PurchaseCreateRequestDTO, type PurchaseCreateResponseDTO, type PaymentIntentCreateDTO, type PurchaseCurrency } from '@explorins/pers-shared';
13
+ export { type RedemptionDTO, type RedemptionCreateRequestDTO, type RedemptionRedeemRequestDTO, type RedemptionTypeDTO, type RedemptionTypeCreateRequestDTO, type RedemptionUserRedeemDTO, type RedemptionUserRedeemDetailedDTO } from '@explorins/pers-shared';
14
+ export { type TenantClientConfigDTO, type TenantDTO, type TenantPublicDTO } from '@explorins/pers-shared';
15
+ export { type TokenMetadataDTO, type TokenDTO, type TokenCreateRequestDTO, type TokenUpdateRequestDTO, type TokenStorageData, type TokenTypeDTO } from '@explorins/pers-shared';
16
+ export { type TransactionDTO, type TransactionRequestDTO, type ClientTransactionRequestDTO, type ClientTransactionRequestResponseDto, type UserToBusinessTokenTransactionCreateRequestDTO, type AccountSelectorDTO } from '@explorins/pers-shared';
17
+ export { type UserCreateRequestDTO, type UserStatusTypeDTO } from '@explorins/pers-shared';
18
+ //# sourceMappingURL=pers-shared-lib.interfaces.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pers-shared-lib.interfaces.d.ts","sourceRoot":"","sources":["../../../src/shared/interfaces/pers-shared-lib.interfaces.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EACL,KAAK,QAAQ,EACb,KAAK,sBAAsB,EAC5B,MAAM,wBAAwB,CAAC;AAGhC,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,eAAe,EACpB,KAAK,wBAAwB,EAC7B,KAAK,wBAAwB,EAC7B,KAAK,8BAA8B,EACnC,KAAK,iBAAiB,EACtB,KAAK,wBAAwB,EAC7B,KAAK,4BAA4B,EAClC,MAAM,wBAAwB,CAAC;AAGhC,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,wBAAwB,EAC7B,KAAK,oBAAoB,EACzB,KAAK,uBAAuB,EAC5B,KAAK,kBAAkB,EACvB,KAAK,0CAA0C,EAC/C,KAAK,yBAAyB,EAC9B,KAAK,mBAAmB,EACzB,MAAM,wBAAwB,CAAC;AAGhC,OAAO,EACL,KAAK,eAAe,EACrB,MAAM,wBAAwB,CAAC;AAGhC,OAAO,EACL,KAAK,OAAO,EACZ,KAAK,WAAW,EAChB,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,wBAAwB,EAC7B,KAAK,yBAAyB,EAC9B,KAAK,sBAAsB,EAC3B,KAAK,gBAAgB,EACtB,MAAM,wBAAwB,CAAC;AAGhC,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,0BAA0B,EAC/B,KAAK,0BAA0B,EAC/B,KAAK,iBAAiB,EACtB,KAAK,8BAA8B,EACnC,KAAK,uBAAuB,EAC5B,KAAK,+BAA+B,EACrC,MAAM,wBAAwB,CAAC;AAGhC,OAAO,EACL,KAAK,qBAAqB,EAC1B,KAAK,SAAS,EACd,KAAK,eAAe,EACrB,MAAM,wBAAwB,CAAC;AAGhC,OAAO,EACL,KAAK,gBAAgB,EACrB,KAAK,QAAQ,EACb,KAAK,qBAAqB,EAC1B,KAAK,qBAAqB,EAC1B,KAAK,gBAAgB,EACrB,KAAK,YAAY,EAClB,MAAM,wBAAwB,CAAC;AAGhC,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,qBAAqB,EAC1B,KAAK,2BAA2B,EAChC,KAAK,mCAAmC,EACxC,KAAK,8CAA8C,EACnD,KAAK,kBAAkB,EACxB,MAAM,wBAAwB,CAAC;AAGhC,OAAO,EACL,KAAK,oBAAoB,EACzB,KAAK,iBAAiB,EACvB,MAAM,wBAAwB,CAAC"}
@@ -0,0 +1,56 @@
1
+ import { AdminDTO, TenantPublicDTO, TenantClientConfigDTO } from '../../shared/interfaces/pers-shared-lib.interfaces';
2
+ import { PersApiClient } from '../../core/pers-api-client';
3
+ interface AdminCreateRequestDTO {
4
+ [key: string]: any;
5
+ }
6
+ /**
7
+ * Platform-Agnostic Tenant API Client
8
+ *
9
+ * Handles tenant and admin operations using the PERS backend.
10
+ * Matches framework TenantApiService methods exactly.
11
+ *
12
+ * Note: Special header handling (bypass-auth-interceptor) should be handled by PersApiClient internally
13
+ * or through endpoint-specific configuration.
14
+ */
15
+ export declare class TenantApi {
16
+ private apiClient;
17
+ constructor(apiClient: PersApiClient);
18
+ private basePath;
19
+ private adminPath;
20
+ /**
21
+ * PUBLIC: Get tenant public information
22
+ * ✅ FIXED: Matches framework cache busting pattern exactly
23
+ */
24
+ getRemoteTenant(): Promise<TenantPublicDTO>;
25
+ /**
26
+ * PUBLIC: Get remote login token
27
+ */
28
+ getRemoteLoginToken(): Promise<string>;
29
+ /**
30
+ * PUBLIC: Get remote client configuration
31
+ * ✅ FIXED: Removed second parameter - PersApiClient handles bypass auth internally
32
+ * Note: The /tenants/client-config endpoint should be configured to bypass auth at the API client level
33
+ */
34
+ getRemoteClientConfig(): Promise<TenantClientConfigDTO>;
35
+ /**
36
+ * ADMIN: Update tenant information
37
+ * ✅ FIXED: Uses TenantPublicDTO directly like framework
38
+ */
39
+ updateRemoteTenant(tenantData: TenantPublicDTO): Promise<TenantPublicDTO>;
40
+ /**
41
+ * ADMIN: Get all tenant admins
42
+ */
43
+ getAdmins(): Promise<AdminDTO[]>;
44
+ /**
45
+ * ADMIN: Create new admin
46
+ * ✅ FIXED: Renamed to match framework postAdmin method
47
+ */
48
+ postAdmin(adminData: AdminCreateRequestDTO): Promise<AdminDTO>;
49
+ /**
50
+ * ADMIN: Update admin (toggle tenant association)
51
+ * ✅ FIXED: Renamed to match framework putAdmin method
52
+ */
53
+ putAdmin(adminId: string, adminData: AdminCreateRequestDTO): Promise<AdminDTO>;
54
+ }
55
+ export {};
56
+ //# sourceMappingURL=tenant-api.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tenant-api.d.ts","sourceRoot":"","sources":["../../../src/tenant/api/tenant-api.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EACR,eAAe,EACf,qBAAqB,EACtB,MAAM,oDAAoD,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAG3D,UAAU,qBAAqB;IAC7B,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAED;;;;;;;;GAQG;AACH,qBAAa,SAAS;IACR,OAAO,CAAC,SAAS;gBAAT,SAAS,EAAE,aAAa;IAE5C,OAAO,CAAC,QAAQ,CAAc;IAC9B,OAAO,CAAC,SAAS,CAAa;IAM9B;;;OAGG;IACG,eAAe,IAAI,OAAO,CAAC,eAAe,CAAC;IAMjD;;OAEG;IACG,mBAAmB,IAAI,OAAO,CAAC,MAAM,CAAC;IAI5C;;;;OAIG;IACG,qBAAqB,IAAI,OAAO,CAAC,qBAAqB,CAAC;IAQ7D;;;OAGG;IACG,kBAAkB,CAAC,UAAU,EAAE,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC;IAI/E;;OAEG;IACG,SAAS,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;IAItC;;;OAGG;IACG,SAAS,CAAC,SAAS,EAAE,qBAAqB,GAAG,OAAO,CAAC,QAAQ,CAAC;IAIpE;;;OAGG;IACG,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,qBAAqB,GAAG,OAAO,CAAC,QAAQ,CAAC;CAGrF"}
@@ -0,0 +1,34 @@
1
+ /**
2
+ * @explorins/pers-sdk-tenant
3
+ *
4
+ * Platform-agnostic Tenant Domain SDK for PERS ecosystem
5
+ * Handles tenant management and admin operations for multi-tenant architecture
6
+ */
7
+ export { TenantApi } from './api/tenant-api';
8
+ export { TenantService } from './services/tenant-service';
9
+ export * from './models';
10
+ export * from '../shared/interfaces/pers-shared-lib.interfaces';
11
+ export * from './models';
12
+ import { PersApiClient } from '../core/pers-api-client';
13
+ import { TenantApi } from './api/tenant-api';
14
+ import { TenantService } from './services/tenant-service';
15
+ import { TenantPublicDTO, AdminCreateRequestDTO } from './models';
16
+ /**
17
+ * Create a complete Tenant SDK instance
18
+ *
19
+ * @param apiClient - Configured PERS API client
20
+ * @returns Tenant SDK with flattened structure for better DX
21
+ */
22
+ export declare function createTenantSDK(apiClient: PersApiClient): {
23
+ getRemoteTenant: () => Promise<TenantPublicDTO>;
24
+ getRemoteLoginToken: () => Promise<string>;
25
+ getRemoteClientConfig: () => Promise<import("@explorins/pers-shared/dist/cjs/dto/tenant-client-config.dto").TenantClientConfigDTO>;
26
+ updateRemoteTenant: (tenantData: TenantPublicDTO) => Promise<TenantPublicDTO>;
27
+ getAdmins: () => Promise<import("@explorins/pers-shared/dist/cjs/dto/admin.dto").AdminDTO[]>;
28
+ postAdmin: (adminData: AdminCreateRequestDTO) => Promise<import("@explorins/pers-shared/dist/cjs/dto/admin.dto").AdminDTO>;
29
+ putAdmin: (adminId: string, adminData: AdminCreateRequestDTO) => Promise<import("@explorins/pers-shared/dist/cjs/dto/admin.dto").AdminDTO>;
30
+ api: TenantApi;
31
+ service: TenantService;
32
+ };
33
+ export type TenantSDK = ReturnType<typeof createTenantSDK>;
34
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tenant/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAG7C,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAG1D,cAAc,UAAU,CAAC;AACzB,cAAc,iDAAiD,CAAC;AAGhE,cAAc,UAAU,CAAC;AAGzB,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AAElE;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,SAAS,EAAE,aAAa;;;;qCAcnB,eAAe;;2BAGzB,qBAAqB;wBAExB,MAAM,aAAa,qBAAqB;;;EAO/D;AAED,MAAM,MAAM,SAAS,GAAG,UAAU,CAAC,OAAO,eAAe,CAAC,CAAC"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Tenant Domain Models
3
+ *
4
+ * Re-exports from centralized pers-shared interfaces for consistency with backend
5
+ * and to provide a single import source for tenant-related types.
6
+ */
7
+ export type { TenantClientConfigDTO, TenantDTO, TenantPublicDTO, AdminDTO } from '../../shared/interfaces/pers-shared-lib.interfaces';
8
+ export interface AdminCreateRequestDTO {
9
+ [key: string]: any;
10
+ }
11
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tenant/models/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,YAAY,EACV,qBAAqB,EACrB,SAAS,EACT,eAAe,EACf,QAAQ,EACT,MAAM,oDAAoD,CAAC;AAG5D,MAAM,WAAW,qBAAqB;IAEpC,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB"}
@@ -0,0 +1,46 @@
1
+ import { AdminDTO } from '../../shared/interfaces/pers-shared-lib.interfaces';
2
+ import { TenantApi } from '../api/tenant-api';
3
+ import { TenantPublicDTO, TenantClientConfigDTO, AdminCreateRequestDTO } from '../models';
4
+ /**
5
+ * Platform-Agnostic Tenant Service
6
+ *
7
+ * Contains tenant business logic and operations that work across platforms.
8
+ * No framework dependencies - pure TypeScript business logic.
9
+ * Matches framework TenantApiService capabilities exactly.
10
+ */
11
+ export declare class TenantService {
12
+ private tenantApi;
13
+ constructor(tenantApi: TenantApi);
14
+ /**
15
+ * PUBLIC: Get tenant public information
16
+ */
17
+ getRemoteTenant(): Promise<TenantPublicDTO>;
18
+ /**
19
+ * PUBLIC: Get remote login token
20
+ */
21
+ getRemoteLoginToken(): Promise<string>;
22
+ /**
23
+ * PUBLIC: Get remote client configuration
24
+ */
25
+ getRemoteClientConfig(): Promise<TenantClientConfigDTO>;
26
+ /**
27
+ * ADMIN: Update tenant information
28
+ * ✅ FIXED: Uses TenantPublicDTO directly like framework
29
+ */
30
+ updateRemoteTenant(tenantData: TenantPublicDTO): Promise<TenantPublicDTO>;
31
+ /**
32
+ * ADMIN: Get all tenant admins
33
+ */
34
+ getAdmins(): Promise<AdminDTO[]>;
35
+ /**
36
+ * ADMIN: Create new admin
37
+ * ✅ FIXED: Renamed to match framework postAdmin method
38
+ */
39
+ postAdmin(adminData: AdminCreateRequestDTO): Promise<AdminDTO>;
40
+ /**
41
+ * ADMIN: Update admin (toggle tenant association)
42
+ * ✅ FIXED: Renamed to match framework putAdmin method
43
+ */
44
+ putAdmin(adminId: string, adminData: AdminCreateRequestDTO): Promise<AdminDTO>;
45
+ }
46
+ //# sourceMappingURL=tenant-service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tenant-service.d.ts","sourceRoot":"","sources":["../../../src/tenant/services/tenant-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oDAAoD,CAAC;AAC9E,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EACL,eAAe,EACf,qBAAqB,EACrB,qBAAqB,EACtB,MAAM,WAAW,CAAC;AAEnB;;;;;;GAMG;AACH,qBAAa,aAAa;IACZ,OAAO,CAAC,SAAS;gBAAT,SAAS,EAAE,SAAS;IAMxC;;OAEG;IACG,eAAe,IAAI,OAAO,CAAC,eAAe,CAAC;IAIjD;;OAEG;IACG,mBAAmB,IAAI,OAAO,CAAC,MAAM,CAAC;IAI5C;;OAEG;IACG,qBAAqB,IAAI,OAAO,CAAC,qBAAqB,CAAC;IAQ7D;;;OAGG;IACG,kBAAkB,CAAC,UAAU,EAAE,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC;IAI/E;;OAEG;IACG,SAAS,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;IAItC;;;OAGG;IACG,SAAS,CAAC,SAAS,EAAE,qBAAqB,GAAG,OAAO,CAAC,QAAQ,CAAC;IAIpE;;;OAGG;IACG,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,qBAAqB,GAAG,OAAO,CAAC,QAAQ,CAAC;CAGrF"}