@explorins/pers-sdk 1.1.2 → 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 (291) 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.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/dist/business/models/index.d.ts +8 -0
  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/{src/donation/models/index.ts → dist/donation/models/index.d.ts} +8 -11
  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/{src/user/models/index.ts → dist/user/models/index.d.ts} +12 -10
  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/{src/user-status/models/index.ts → dist/user-status/models/index.d.ts} +8 -11
  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/{src/web3-chain/models/index.ts → dist/web3-chain/models/index.d.ts} +38 -45
  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 +70 -67
  222. package/config/domains.js +0 -22
  223. package/explorins-pers-sdk-1.0.0-alpha.1.tgz +0 -0
  224. package/rollup.config.js +0 -74
  225. package/scripts/copy-declarations.js +0 -147
  226. package/src/analytics/api/analytics-api.ts +0 -24
  227. package/src/analytics/models/index.ts +0 -74
  228. package/src/analytics/services/analytics-service.ts +0 -28
  229. package/src/auth-admin/api/auth-admin-api.ts +0 -42
  230. package/src/auth-admin/index.ts +0 -47
  231. package/src/auth-admin/services/auth-admin-service.ts +0 -36
  232. package/src/business/api/business-api.ts +0 -234
  233. package/src/business/index.ts +0 -53
  234. package/src/business/models/index.ts +0 -13
  235. package/src/business/services/business-service.ts +0 -88
  236. package/src/campaign/api/campaign-api.ts +0 -376
  237. package/src/campaign/index.ts +0 -67
  238. package/src/campaign/services/campaign-service.ts +0 -164
  239. package/src/core/abstractions/http-client.ts +0 -24
  240. package/src/core/auth/auth-provider.interface.ts +0 -16
  241. package/src/core/auth/create-auth-provider.ts +0 -136
  242. package/src/core/auth/simple-auth-config.interface.ts +0 -15
  243. package/src/core/index.ts +0 -33
  244. package/src/core/pers-api-client.ts +0 -343
  245. package/src/core/pers-config.ts +0 -65
  246. package/src/core/utils/jwt.function.ts +0 -24
  247. package/src/donation/api/donation-api.ts +0 -24
  248. package/src/donation/index.ts +0 -47
  249. package/src/donation/services/donation-service.ts +0 -25
  250. package/src/index.ts +0 -55
  251. package/src/payment/api/payment-api.ts +0 -185
  252. package/src/payment/index.ts +0 -64
  253. package/src/payment/models/index.ts +0 -29
  254. package/src/payment/services/payment-service.ts +0 -70
  255. package/src/pers-sdk.ts +0 -45
  256. package/src/redemption/api/redemption-api.ts +0 -241
  257. package/src/redemption/index.ts +0 -60
  258. package/src/redemption/models/index.ts +0 -17
  259. package/src/redemption/services/redemption-service.ts +0 -103
  260. package/src/shared/interfaces/pers-shared-lib.interfaces.ts +0 -99
  261. package/src/tenant/api/tenant-api.ts +0 -92
  262. package/src/tenant/index.ts +0 -61
  263. package/src/tenant/models/index.ts +0 -20
  264. package/src/tenant/services/tenant-service.ts +0 -78
  265. package/src/token/api/token-api.ts +0 -129
  266. package/src/token/base/base-token-service.ts +0 -167
  267. package/src/token/index.ts +0 -38
  268. package/src/token/models/index.ts +0 -30
  269. package/src/token/services/token-service.ts +0 -125
  270. package/src/token/token-sdk.ts +0 -231
  271. package/src/transaction/api/transaction-api.ts +0 -296
  272. package/src/transaction/index.ts +0 -65
  273. package/src/transaction/models/index.ts +0 -60
  274. package/src/transaction/services/transaction-service.ts +0 -104
  275. package/src/user/api/user-api.ts +0 -98
  276. package/src/user/index.ts +0 -62
  277. package/src/user/services/user-service.ts +0 -75
  278. package/src/user-status/api/user-status-api.ts +0 -78
  279. package/src/user-status/index.ts +0 -55
  280. package/src/user-status/services/user-status-service.ts +0 -51
  281. package/src/web3/api/web3-api.ts +0 -68
  282. package/src/web3/index.ts +0 -38
  283. package/src/web3/models/index.ts +0 -150
  284. package/src/web3/services/web3-service.ts +0 -338
  285. package/src/web3-chain/api/web3-chain-api.ts +0 -42
  286. package/src/web3-chain/index.ts +0 -27
  287. package/src/web3-chain/services/getWeb3FCD.service.ts +0 -47
  288. package/src/web3-chain/services/provider.service.ts +0 -123
  289. package/src/web3-chain/services/public-http-provider.service.ts +0 -26
  290. package/src/web3-chain/services/web3-chain-service.ts +0 -131
  291. package/tsconfig.json +0 -28
@@ -0,0 +1,390 @@
1
+ /**
2
+ * Platform-Agnostic Transaction API Client (UPDATED FOR NEW RESTful ENDPOINTS)
3
+ *
4
+ * Handles transaction operations using the PERS backend.
5
+ * Uses @explorins/pers-shared DTOs for consistency with backend.
6
+ *
7
+ * MIGRATION NOTES:
8
+ * - All endpoints changed from /transaction to /transactions
9
+ * - Role-based paths removed (no more /auth, /admin, /business in URLs)
10
+ * - New RESTful resource-based structure
11
+ * - Added new client-side transaction flow methods
12
+ * - Enhanced admin query capabilities
13
+ */
14
+ class TransactionApi {
15
+ constructor(apiClient) {
16
+ this.apiClient = apiClient;
17
+ this.basePath = '/transactions';
18
+ }
19
+ /**
20
+ * Get transaction by ID (public endpoint)
21
+ *
22
+ * UPDATED: /transaction/{id} → /transactions/{id}
23
+ */
24
+ async getTransactionById(transactionId) {
25
+ return this.apiClient.get(`${this.basePath}/${transactionId}`);
26
+ }
27
+ // ==========================================
28
+ // AUTHENTICATED USER OPERATIONS
29
+ // ==========================================
30
+ /**
31
+ * AUTH: Create authenticated user transaction
32
+ *
33
+ * UPDATED: /transaction/auth/transaction → /transactions/user
34
+ */
35
+ async createAuthTransaction(request) {
36
+ return this.apiClient.post(`${this.basePath}/user`, request);
37
+ }
38
+ /**
39
+ * AUTH: Get user's sent transactions
40
+ *
41
+ * UPDATED: /transaction/auth/sender → /transactions/me/sent
42
+ */
43
+ async getUserSentTransactions() {
44
+ const params = new URLSearchParams({
45
+ timestamp: Date.now().toString()
46
+ });
47
+ return this.apiClient.get(`${this.basePath}/me/sent?${params.toString()}`);
48
+ }
49
+ /**
50
+ * AUTH: Get user's received transactions
51
+ *
52
+ * UPDATED: /transaction/auth/recipient → /transactions/me/received
53
+ */
54
+ async getUserReceivedTransactions() {
55
+ const params = new URLSearchParams({
56
+ timestamp: Date.now().toString()
57
+ });
58
+ return this.apiClient.get(`${this.basePath}/me/received?${params.toString()}`);
59
+ }
60
+ /**
61
+ * AUTH: Get user transaction history by type (backwards compatibility)
62
+ *
63
+ * UPDATED: Maps to appropriate /transactions/me/* endpoints
64
+ */
65
+ async getUserTransactionHistory(type) {
66
+ const params = new URLSearchParams({
67
+ timestamp: Date.now().toString()
68
+ });
69
+ // Map legacy type parameter to new endpoints
70
+ switch (type.toLowerCase()) {
71
+ case 'sender':
72
+ case 'sent':
73
+ return this.apiClient.get(`${this.basePath}/me/sent?${params.toString()}`);
74
+ case 'recipient':
75
+ case 'received':
76
+ return this.apiClient.get(`${this.basePath}/me/received?${params.toString()}`);
77
+ default:
78
+ // Default to sent transactions for backwards compatibility
79
+ return this.apiClient.get(`${this.basePath}/me/sent?${params.toString()}`);
80
+ }
81
+ }
82
+ /**
83
+ * AUTH: Prepare client signed transaction
84
+ *
85
+ * UPDATED: /transaction/auth/prepare-signing → /transactions/prepare
86
+ */
87
+ async prepareClientSignedTransaction(request) {
88
+ return this.apiClient.post(`${this.basePath}/prepare`, request);
89
+ }
90
+ /**
91
+ * AUTH: Prepare existing transaction for client-side signing
92
+ *
93
+ * NEW ENDPOINT: GET /transactions/{id}/prepare
94
+ */
95
+ async prepareExistingTransaction(transactionId) {
96
+ return this.apiClient.get(`${this.basePath}/${transactionId}/prepare`);
97
+ }
98
+ /**
99
+ * AUTH: Submit client-side signed transaction
100
+ *
101
+ * NEW ENDPOINT: POST /transactions/{id}/submit
102
+ */
103
+ async submitSignedTransaction(transactionId, signedData) {
104
+ return this.apiClient.post(`${this.basePath}/${transactionId}/submit`, signedData);
105
+ }
106
+ /**
107
+ * AUTH: Burn user tokens
108
+ *
109
+ * UPDATED: Uses new user transaction endpoint with burn-specific parameters
110
+ * Note: This might need backend confirmation on burn functionality implementation
111
+ */
112
+ async burnUserTokens(request) {
113
+ // Map burn request to TransactionRequestDTO format for new endpoint
114
+ const transactionRequest = {
115
+ ...request,
116
+ // Add any specific burn transaction parameters here
117
+ };
118
+ return this.apiClient.post(`${this.basePath}/user`, transactionRequest);
119
+ }
120
+ // ==========================================
121
+ // BUSINESS OPERATIONS
122
+ // ==========================================
123
+ /**
124
+ * BUSINESS: Create business transaction
125
+ *
126
+ * UPDATED: /transaction/business/transaction → /transactions/business
127
+ */
128
+ async createBusinessTransaction(request) {
129
+ return this.apiClient.post(`${this.basePath}/business`, request);
130
+ }
131
+ // ==========================================
132
+ // ADMIN OPERATIONS
133
+ // ==========================================
134
+ /**
135
+ * ADMIN: Create admin transaction
136
+ *
137
+ * UPDATED: /transaction/admin/transaction → /transactions/admin
138
+ */
139
+ async createAdminTransaction(request) {
140
+ return this.apiClient.post(`${this.basePath}/system`, request);
141
+ }
142
+ /**
143
+ * ADMIN: Get all tenant transactions
144
+ *
145
+ * UPDATED: /transaction/admin → /transactions
146
+ */
147
+ async getTenantTransactions() {
148
+ const result = await this.apiClient.get(`${this.basePath}`);
149
+ // If the new endpoint returns paginated response, extract the data array
150
+ if ('data' in result) {
151
+ return result.data;
152
+ }
153
+ // Fallback for direct array response
154
+ return result;
155
+ }
156
+ /**
157
+ * ADMIN: Get paginated transactions with filtering and sorting
158
+ *
159
+ * UPDATED: /transaction/admin → /transactions (same endpoint, better structure)
160
+ */
161
+ async getPaginatedTransactions(params) {
162
+ // Build query parameters
163
+ const queryParams = {
164
+ page: params.page.toString(),
165
+ limit: params.limit.toString()
166
+ };
167
+ // Add sorting parameters if provided
168
+ if (params.sortBy) {
169
+ queryParams['sortBy'] = params.sortBy;
170
+ }
171
+ if (params.sortOrder) {
172
+ queryParams['sortOrder'] = params.sortOrder;
173
+ }
174
+ // Add user-specific filtering if provided
175
+ if (params.participantId) {
176
+ queryParams['participantId'] = params.participantId;
177
+ }
178
+ // Add status filtering if provided
179
+ if (params.status) {
180
+ queryParams['status'] = params.status;
181
+ }
182
+ // Add additional filters if provided
183
+ if (params.filters) {
184
+ if (params.filters.startDate) {
185
+ queryParams['startDate'] = params.filters.startDate;
186
+ }
187
+ if (params.filters.endDate) {
188
+ queryParams['endDate'] = params.filters.endDate;
189
+ }
190
+ if (params.filters.type && params.filters.type.length > 0) {
191
+ queryParams['type'] = params.filters.type.join(',');
192
+ }
193
+ if (params.filters.tokenType && params.filters.tokenType.length > 0) {
194
+ queryParams['tokenType'] = params.filters.tokenType.join(',');
195
+ }
196
+ }
197
+ // Build query string
198
+ const queryString = Object.entries(queryParams)
199
+ .map(([key, value]) => `${key}=${encodeURIComponent(value)}`)
200
+ .join('&');
201
+ return this.apiClient.get(`${this.basePath}?${queryString}`);
202
+ }
203
+ /**
204
+ * ADMIN: Export transactions to CSV
205
+ *
206
+ * UPDATED: /transaction/admin/export/csv → /transactions/export/csv
207
+ */
208
+ async exportTransactionsCSV() {
209
+ return this.apiClient.get(`${this.basePath}/export/csv`, 'blob');
210
+ }
211
+ // ==========================================
212
+ // NEW ADMIN QUERY METHODS
213
+ // ==========================================
214
+ /**
215
+ * ADMIN: Query transactions by sender
216
+ *
217
+ * NEW ENDPOINT: POST /transactions/query-sender
218
+ */
219
+ async queryTransactionsBySender(accountSelector) {
220
+ return this.apiClient.post(`${this.basePath}/query-sender`, accountSelector);
221
+ }
222
+ /**
223
+ * ADMIN: Query transactions by recipient
224
+ *
225
+ * NEW ENDPOINT: POST /transactions/query-recipient
226
+ */
227
+ async queryTransactionsByRecipient(accountSelector) {
228
+ return this.apiClient.post(`${this.basePath}/query-recipient`, accountSelector);
229
+ }
230
+ /**
231
+ * ADMIN: Get transaction analytics
232
+ *
233
+ * NEW ENDPOINT: POST /transactions/analytics
234
+ */
235
+ async getTransactionAnalytics(analyticsRequest) {
236
+ return this.apiClient.post(`${this.basePath}/analytics`, analyticsRequest);
237
+ }
238
+ // ==========================================
239
+ // CONVENIENCE METHODS (BACKWARDS COMPATIBILITY)
240
+ // ==========================================
241
+ /**
242
+ * Convenience method: Get user sent transactions (alias)
243
+ */
244
+ async getUserSenderTransactions() {
245
+ return this.getUserSentTransactions();
246
+ }
247
+ /**
248
+ * Convenience method: Get user received transactions (alias)
249
+ */
250
+ async getUserRecipientTransactions() {
251
+ return this.getUserReceivedTransactions();
252
+ }
253
+ }
254
+
255
+ /**
256
+ * Platform-Agnostic Transaction Service
257
+ *
258
+ * Contains transaction business logic and operations that work across platforms.
259
+ * No framework dependencies - pure TypeScript business logic.
260
+ *
261
+ * Focuses only on actual backend capabilities.
262
+ */
263
+ class TransactionService {
264
+ constructor(transactionApi) {
265
+ this.transactionApi = transactionApi;
266
+ }
267
+ /**
268
+ * Get transaction by ID
269
+ */
270
+ async getTransactionById(transactionId) {
271
+ return this.transactionApi.getTransactionById(transactionId);
272
+ }
273
+ // ==========================================
274
+ // AUTHENTICATED OPERATIONS
275
+ // ==========================================
276
+ /**
277
+ * AUTH: Create authenticated transaction
278
+ */
279
+ async createAuthTransaction(request) {
280
+ return this.transactionApi.createAuthTransaction(request);
281
+ }
282
+ /**
283
+ * AUTH: Get user transaction history by type
284
+ */
285
+ async getUserTransactionHistory(type) {
286
+ return this.transactionApi.getUserTransactionHistory(type);
287
+ }
288
+ /**
289
+ * AUTH: Prepare client signed transaction
290
+ */
291
+ async prepareClientSignedTransaction(request) {
292
+ return this.transactionApi.prepareClientSignedTransaction(request);
293
+ }
294
+ /**
295
+ * AUTH: Burn user tokens
296
+ */
297
+ async burnUserTokens(request) {
298
+ return this.transactionApi.burnUserTokens(request);
299
+ }
300
+ // ==========================================
301
+ // BUSINESS OPERATIONS
302
+ // ==========================================
303
+ /**
304
+ * BUSINESS: Create business transaction
305
+ */
306
+ async createBusinessTransaction(request) {
307
+ return this.transactionApi.createBusinessTransaction(request);
308
+ }
309
+ // ==========================================
310
+ // ADMIN OPERATIONS
311
+ // ==========================================
312
+ /**
313
+ * ADMIN: Create admin transaction
314
+ */
315
+ async createAdminTransaction(request) {
316
+ return this.transactionApi.createAdminTransaction(request);
317
+ }
318
+ /**
319
+ * ADMIN: Get all tenant transactions
320
+ */
321
+ async getTenantTransactions() {
322
+ return this.transactionApi.getTenantTransactions();
323
+ }
324
+ /**
325
+ * ADMIN: Get paginated transactions with filtering and sorting
326
+ */
327
+ async getPaginatedTransactions(params) {
328
+ return this.transactionApi.getPaginatedTransactions(params);
329
+ }
330
+ /**
331
+ * ADMIN: Export transactions to CSV
332
+ */
333
+ async exportTransactionsCSV() {
334
+ return this.transactionApi.exportTransactionsCSV();
335
+ }
336
+ }
337
+
338
+ /**
339
+ * Transaction Domain Models
340
+ *
341
+ * Re-exports from @explorins/pers-shared for consistency with backend
342
+ * and to provide a single import source for transaction-related types.
343
+ */
344
+ // Transaction account types (domain-specific enum)
345
+ var TransactionAccountType;
346
+ (function (TransactionAccountType) {
347
+ // Add specific transaction account types as needed
348
+ // This should match the enum used in the infrastructure layer
349
+ })(TransactionAccountType || (TransactionAccountType = {}));
350
+
351
+ /**
352
+ * @explorins/pers-sdk-transaction
353
+ *
354
+ * Platform-agnostic Transaction Domain SDK for PERS ecosystem
355
+ * Handles transaction operations across different authorization levels
356
+ */
357
+ // API Layer
358
+ /**
359
+ * Create a complete Transaction SDK instance
360
+ *
361
+ * @param apiClient - Configured PERS API client
362
+ * @returns Transaction SDK with flattened structure for better DX
363
+ */
364
+ function createTransactionSDK(apiClient) {
365
+ const transactionApi = new TransactionApi(apiClient);
366
+ const transactionService = new TransactionService(transactionApi);
367
+ return {
368
+ // Direct access to service methods (primary interface)
369
+ // Public methods
370
+ getTransactionById: (transactionId) => transactionService.getTransactionById(transactionId),
371
+ // Auth methods
372
+ createAuthTransaction: (request) => transactionService.createAuthTransaction(request),
373
+ getUserTransactionHistory: (type) => transactionService.getUserTransactionHistory(type),
374
+ prepareClientSignedTransaction: (request) => transactionService.prepareClientSignedTransaction(request),
375
+ burnUserTokens: (request) => transactionService.burnUserTokens(request),
376
+ // Business methods
377
+ createBusinessTransaction: (request) => transactionService.createBusinessTransaction(request),
378
+ // Admin methods
379
+ createAdminTransaction: (request) => transactionService.createAdminTransaction(request),
380
+ getTenantTransactions: () => transactionService.getTenantTransactions(),
381
+ getPaginatedTransactions: (params) => transactionService.getPaginatedTransactions(params),
382
+ exportTransactionsCSV: () => transactionService.exportTransactionsCSV(),
383
+ // Advanced access for edge cases
384
+ api: transactionApi,
385
+ service: transactionService
386
+ };
387
+ }
388
+
389
+ export { TransactionAccountType, TransactionApi, TransactionService, createTransactionSDK };
390
+ //# sourceMappingURL=transaction.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transaction.js","sources":["../../src/transaction/api/transaction-api.ts","../../src/transaction/services/transaction-service.ts","../../src/transaction/models/index.ts","../../src/transaction/index.ts"],"sourcesContent":[null,null,null,null],"names":[],"mappings":"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"}
@@ -0,0 +1,56 @@
1
+ import { UserDTO, UserCreateRequestDTO } from '../../shared/interfaces/pers-shared-lib.interfaces';
2
+ import { PersApiClient } from '../../core/pers-api-client';
3
+ import { UserPublicProfileDTO } from '../models';
4
+ /**
5
+ * Platform-Agnostic User API Client
6
+ *
7
+ * Handles user operations using the PERS backend RESTful API.
8
+ * Updated to use new /users endpoints with enhanced security and consistency.
9
+ * Maintains framework UserApiService method compatibility.
10
+ */
11
+ export declare class UserApi {
12
+ private apiClient;
13
+ constructor(apiClient: PersApiClient);
14
+ private readonly basePath;
15
+ /**
16
+ * PUBLIC: Get all users public profiles with optional filtering
17
+ * ✅ UPDATED: Uses new RESTful /users/public endpoint
18
+ */
19
+ getAllUsersPublicProfiles(filter?: {
20
+ key: string;
21
+ value: string;
22
+ } | null): Promise<UserPublicProfileDTO[]>;
23
+ /**
24
+ * AUTH: Get current authenticated user
25
+ * ✅ UPDATED: Uses new RESTful /users/me endpoint
26
+ */
27
+ getRemoteUser(): Promise<UserDTO>;
28
+ /**
29
+ * AUTH: Update current authenticated user
30
+ * ✅ UPDATED: Uses new RESTful /users/me endpoint
31
+ */
32
+ updateRemoteUser(updateRequest: UserCreateRequestDTO): Promise<UserDTO>;
33
+ /**
34
+ * ADMIN: Get all remote users with query parameters
35
+ * ✅ UPDATED: Uses new RESTful /users endpoint with role-based access
36
+ * Note: Admin users get full data, non-admin users get public profiles only
37
+ */
38
+ getAllRemoteUsers(): Promise<UserDTO[]>;
39
+ /**
40
+ * ADMIN: Update user as admin
41
+ * ✅ UPDATED: Uses new RESTful /users/{id} endpoint
42
+ */
43
+ updateUserAsAdmin(id: string, userData: UserCreateRequestDTO): Promise<UserDTO>;
44
+ /**
45
+ * ADMIN: Toggle user active status
46
+ * ✅ UPDATED: Uses new consistent /users/{id}/status endpoint
47
+ * Enhanced: Follows RESTful status management pattern across all domains
48
+ */
49
+ toggleUserActiveStatusByUser(user: UserDTO): Promise<UserDTO>;
50
+ /**
51
+ * ADMIN: Get user by unique identifier
52
+ * ✅ UPDATED: Uses new RESTful /users/{id} endpoint
53
+ */
54
+ getUserByUniqueIdentifier(id: string): Promise<UserDTO>;
55
+ }
56
+ //# sourceMappingURL=user-api.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user-api.d.ts","sourceRoot":"","sources":["../../../src/user/api/user-api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,oBAAoB,EAAE,MAAM,oDAAoD,CAAC;AACnG,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AAEjD;;;;;;GAMG;AACH,qBAAa,OAAO;IACN,OAAO,CAAC,SAAS;gBAAT,SAAS,EAAE,aAAa;IAE5C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAY;IAMrC;;;OAGG;IACG,yBAAyB,CAAC,MAAM,GAAE;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAC,GAAG,IAAW,GAAG,OAAO,CAAC,oBAAoB,EAAE,CAAC;IAkBpH;;;OAGG;IACG,aAAa,IAAI,OAAO,CAAC,OAAO,CAAC;IAIvC;;;OAGG;IACG,gBAAgB,CAAC,aAAa,EAAE,oBAAoB,GAAG,OAAO,CAAC,OAAO,CAAC;IAQ7E;;;;OAIG;IACG,iBAAiB,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IAM7C;;;OAGG;IACG,iBAAiB,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,oBAAoB,GAAG,OAAO,CAAC,OAAO,CAAC;IAIrF;;;;OAIG;IACG,4BAA4B,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAInE;;;OAGG;IACG,yBAAyB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;CAG9D"}
@@ -0,0 +1,36 @@
1
+ /**
2
+ * @explorins/pers-sdk-user
3
+ *
4
+ * Platform-agnostic User Domain SDK for PERS ecosystem
5
+ * Handles user management, profiles, and authentication operations
6
+ */
7
+ export { UserApi } from './api/user-api';
8
+ export { UserService } from './services/user-service';
9
+ export * from './models';
10
+ export * from '../shared/interfaces/pers-shared-lib.interfaces';
11
+ import { PersApiClient } from '../core/pers-api-client';
12
+ import { UserApi } from './api/user-api';
13
+ import { UserService } from './services/user-service';
14
+ import { UserDTO, UserCreateRequestDTO } from '../shared/interfaces/pers-shared-lib.interfaces';
15
+ /**
16
+ * Create a complete User SDK instance
17
+ *
18
+ * @param apiClient - Configured PERS API client
19
+ * @returns User SDK with flattened structure for better DX
20
+ */
21
+ export declare function createUserSDK(apiClient: PersApiClient): {
22
+ getAllUsersPublicProfiles: (filter?: {
23
+ key: string;
24
+ value: string;
25
+ } | null) => Promise<import("./models").UserPublicProfileDTO[]>;
26
+ getRemoteUser: () => Promise<UserDTO>;
27
+ updateRemoteUser: (updateRequest: UserCreateRequestDTO) => Promise<UserDTO>;
28
+ getAllRemoteUsers: () => Promise<UserDTO[]>;
29
+ updateUserAsAdmin: (id: string, userData: UserCreateRequestDTO) => Promise<UserDTO>;
30
+ toggleUserActiveStatusByUser: (user: UserDTO) => Promise<UserDTO>;
31
+ getUserByUniqueIdentifier: (id: string) => Promise<UserDTO>;
32
+ api: UserApi;
33
+ service: UserService;
34
+ };
35
+ export type UserSDK = ReturnType<typeof createUserSDK>;
36
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/user/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAGzC,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAGtD,cAAc,UAAU,CAAC;AACzB,cAAc,iDAAiD,CAAC;AAGhE,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,OAAO,EAAE,oBAAoB,EAAE,MAAM,iDAAiD,CAAC;AAEhG;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,SAAS,EAAE,aAAa;yCAQd;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAC,GAAG,IAAI;;sCAKrC,oBAAoB;;4BAK9B,MAAM,YAAY,oBAAoB;yCAEzB,OAAO;oCAGZ,MAAM;;;EAOzC;AAED,MAAM,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,aAAa,CAAC,CAAC"}
@@ -1,10 +1,12 @@
1
- /**
2
- * User Domain Models
3
- *
4
- * Local user interfaces - TODO: Move these to @explorins/pers-shared when standardized
5
- */
6
-
7
- export interface UserPublicProfileDTO {
8
- id: string,
9
- publicProfile: {[key: string]: any}
10
- }
1
+ /**
2
+ * User Domain Models
3
+ *
4
+ * Local user interfaces - TODO: Move these to @explorins/pers-shared when standardized
5
+ */
6
+ export interface UserPublicProfileDTO {
7
+ id: string;
8
+ publicProfile: {
9
+ [key: string]: any;
10
+ };
11
+ }
12
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/user/models/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,aAAa,EAAE;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAC,CAAA;CACpC"}
@@ -0,0 +1,46 @@
1
+ import { UserDTO, UserCreateRequestDTO } from '../../shared/interfaces/pers-shared-lib.interfaces';
2
+ import { UserApi } from '../api/user-api';
3
+ import { UserPublicProfileDTO } from '../models';
4
+ /**
5
+ * Platform-Agnostic User Service
6
+ *
7
+ * Contains user business logic and operations that work across platforms.
8
+ * No framework dependencies - pure TypeScript business logic.
9
+ * Matches framework UserApiService capabilities exactly.
10
+ */
11
+ export declare class UserService {
12
+ private userApi;
13
+ constructor(userApi: UserApi);
14
+ /**
15
+ * PUBLIC: Get all users public profiles with optional filtering
16
+ * ✅ FIXED: Uses framework-compatible inline filter type
17
+ */
18
+ getAllUsersPublicProfiles(filter?: {
19
+ key: string;
20
+ value: string;
21
+ } | null): Promise<UserPublicProfileDTO[]>;
22
+ /**
23
+ * AUTH: Get current authenticated user
24
+ */
25
+ getRemoteUser(): Promise<UserDTO>;
26
+ /**
27
+ * AUTH: Update current authenticated user
28
+ */
29
+ updateRemoteUser(updateRequest: UserCreateRequestDTO): Promise<UserDTO>;
30
+ /**
31
+ * ADMIN: Get all remote users
32
+ * ✅ FIXED: Matches API method signature (no parameters needed)
33
+ */
34
+ getAllRemoteUsers(): Promise<UserDTO[]>;
35
+ /**
36
+ * ADMIN: Update user as admin
37
+ */
38
+ updateUserAsAdmin(id: string, userData: UserCreateRequestDTO): Promise<UserDTO>;
39
+ getUserByUniqueIdentifier(id: string): Promise<UserDTO>;
40
+ /**
41
+ * ADMIN: Toggle user active status by user object
42
+ * ✅ FIXED: Matches API method signature exactly
43
+ */
44
+ toggleUserActiveStatusByUser(user: UserDTO): Promise<UserDTO>;
45
+ }
46
+ //# sourceMappingURL=user-service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user-service.d.ts","sourceRoot":"","sources":["../../../src/user/services/user-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,oBAAoB,EAAE,MAAM,oDAAoD,CAAC;AACnG,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC1C,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AAEjD;;;;;;GAMG;AACH,qBAAa,WAAW;IACV,OAAO,CAAC,OAAO;gBAAP,OAAO,EAAE,OAAO;IAMpC;;;OAGG;IACG,yBAAyB,CAAC,MAAM,GAAE;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAC,GAAG,IAAW,GAAG,OAAO,CAAC,oBAAoB,EAAE,CAAC;IAQpH;;OAEG;IACG,aAAa,IAAI,OAAO,CAAC,OAAO,CAAC;IAIvC;;OAEG;IACG,gBAAgB,CAAC,aAAa,EAAE,oBAAoB,GAAG,OAAO,CAAC,OAAO,CAAC;IAQ7E;;;OAGG;IACG,iBAAiB,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IAI7C;;OAEG;IACG,iBAAiB,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,oBAAoB,GAAG,OAAO,CAAC,OAAO,CAAC;IAI/E,yBAAyB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAI7D;;;OAGG;IACG,4BAA4B,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;CAGpE"}
@@ -0,0 +1,37 @@
1
+ import { PersApiClient } from '../../core/pers-api-client';
2
+ import { UserStatusTypeDTO } from '../../shared/interfaces/pers-shared-lib.interfaces';
3
+ /**
4
+ * Platform-Agnostic User Status API Client
5
+ *
6
+ * Handles user status operations using the PERS backend.
7
+ * Matches framework UserStatusApiService methods exactly.
8
+ *
9
+ * ✅ UPDATED: All endpoints updated to new RESTful /users patterns
10
+ *
11
+ * Error handling patterns follow framework implementation:
12
+ * - getRemoteEarnedUserStatus() uses silent fallback (empty array)
13
+ * - Other operations throw errors for proper error handling
14
+ */
15
+ export declare class UserStatusApi {
16
+ private apiClient;
17
+ constructor(apiClient: PersApiClient);
18
+ private readonly basePath;
19
+ /**
20
+ * PUBLIC: Get remote user status types
21
+ * ✅ UPDATED: /user/status-type → /users/status-types
22
+ */
23
+ getRemoteUserStatusTypes(): Promise<UserStatusTypeDTO[]>;
24
+ /**
25
+ * AUTH: Get earned user status for authenticated user
26
+ * ✅ UPDATED: /user/auth/status → /users/me/status
27
+ * ✅ FIXED: Returns UserStatusTypeDTO[] to match framework exactly
28
+ * Note: Uses silent fallback pattern from framework - returns empty array on error
29
+ */
30
+ getRemoteEarnedUserStatus(): Promise<UserStatusTypeDTO[]>;
31
+ /**
32
+ * ADMIN: Create user status type
33
+ * ✅ UPDATED: /user/admin/status-type → /users/status-types
34
+ */
35
+ createUserStatusType(userStatusType: UserStatusTypeDTO): Promise<UserStatusTypeDTO>;
36
+ }
37
+ //# sourceMappingURL=user-status-api.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user-status-api.d.ts","sourceRoot":"","sources":["../../../src/user-status/api/user-status-api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,oDAAoD,CAAC;AAEvF;;;;;;;;;;;GAWG;AACH,qBAAa,aAAa;IACZ,OAAO,CAAC,SAAS;gBAAT,SAAS,EAAE,aAAa;IAE5C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAY;IAMrC;;;OAGG;IACG,wBAAwB,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAa9D;;;;;OAKG;IACG,yBAAyB,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAc/D;;;OAGG;IACG,oBAAoB,CAAC,cAAc,EAAE,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC;CAY1F"}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * @explorins/pers-sdk-user-status
3
+ *
4
+ * Platform-agnostic User Status Domain SDK for PERS ecosystem
5
+ * Handles user status management and type operations
6
+ */
7
+ export { UserStatusApi } from './api/user-status-api';
8
+ export { UserStatusService } from './services/user-status-service';
9
+ export * from '../shared/interfaces/pers-shared-lib.interfaces';
10
+ import { PersApiClient } from '../core/pers-api-client';
11
+ import { UserStatusApi } from './api/user-status-api';
12
+ import { UserStatusService } from './services/user-status-service';
13
+ import { UserStatusTypeDTO } from '../shared/interfaces/pers-shared-lib.interfaces';
14
+ /**
15
+ * Create a complete User Status SDK instance
16
+ *
17
+ * @param apiClient - Configured PERS API client
18
+ * @returns User Status SDK with flattened structure for better DX
19
+ */
20
+ export declare function createUserStatusSDK(apiClient: PersApiClient): {
21
+ getRemoteUserStatusTypes: () => Promise<UserStatusTypeDTO[]>;
22
+ getRemoteEarnedUserStatus: () => Promise<UserStatusTypeDTO[]>;
23
+ createUserStatusType: (userStatusType: UserStatusTypeDTO) => Promise<UserStatusTypeDTO>;
24
+ api: UserStatusApi;
25
+ service: UserStatusService;
26
+ };
27
+ export type UserStatusSDK = ReturnType<typeof createUserStatusSDK>;
28
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/user-status/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAGtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAGnE,cAAc,iDAAiD,CAAC;AAKhE,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,iDAAiD,CAAC;AAEpF;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,aAAa;;;2CAejB,iBAAiB;;;EAO3D;AAED,MAAM,MAAM,aAAa,GAAG,UAAU,CAAC,OAAO,mBAAmB,CAAC,CAAC"}