@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,38 @@
1
+ /**
2
+ * @explorins/pers-sdk-transaction
3
+ *
4
+ * Platform-agnostic Transaction Domain SDK for PERS ecosystem
5
+ * Handles transaction operations across different authorization levels
6
+ */
7
+ export { TransactionApi } from './api/transaction-api';
8
+ export { TransactionService } from './services/transaction-service';
9
+ export * from './models';
10
+ export * from '../shared/interfaces/pers-shared-lib.interfaces';
11
+ export * from './models';
12
+ import { ClientTransactionRequestDTO, TransactionRequestDTO } from '../shared/interfaces/pers-shared-lib.interfaces';
13
+ import { PersApiClient } from '../core/pers-api-client';
14
+ import { TransactionApi } from './api/transaction-api';
15
+ import { TransactionService } from './services/transaction-service';
16
+ import { TransactionPaginationParams, UserBurnTokenRequestDTO } from './models';
17
+ /**
18
+ * Create a complete Transaction SDK instance
19
+ *
20
+ * @param apiClient - Configured PERS API client
21
+ * @returns Transaction SDK with flattened structure for better DX
22
+ */
23
+ export declare function createTransactionSDK(apiClient: PersApiClient): {
24
+ getTransactionById: (transactionId: string) => Promise<import("@explorins/pers-shared/dist/cjs/dto/transaction/transaction.dto").TransactionDTO>;
25
+ createAuthTransaction: (request: TransactionRequestDTO) => Promise<import("@explorins/pers-shared/dist/cjs/dto/transaction/transaction.dto").TransactionDTO>;
26
+ getUserTransactionHistory: (type: string) => Promise<import("@explorins/pers-shared/dist/cjs/dto/transaction/transaction.dto").TransactionDTO[]>;
27
+ prepareClientSignedTransaction: (request: ClientTransactionRequestDTO) => Promise<import("@explorins/pers-shared/dist/cjs/dto/transaction/transaction-client.request.dto").ClientTransactionRequestResponseDto>;
28
+ burnUserTokens: (request: UserBurnTokenRequestDTO) => Promise<import("@explorins/pers-shared/dist/cjs/dto/transaction/transaction.dto").TransactionDTO>;
29
+ createBusinessTransaction: (request: TransactionRequestDTO) => Promise<import("@explorins/pers-shared/dist/cjs/dto/transaction/transaction.dto").TransactionDTO>;
30
+ createAdminTransaction: (request: TransactionRequestDTO) => Promise<import("@explorins/pers-shared/dist/cjs/dto/transaction/transaction.dto").TransactionDTO>;
31
+ getTenantTransactions: () => Promise<import("@explorins/pers-shared/dist/cjs/dto/transaction/transaction.dto").TransactionDTO[]>;
32
+ getPaginatedTransactions: (params: TransactionPaginationParams) => Promise<import("./models").TransactionPaginationResponse>;
33
+ exportTransactionsCSV: () => Promise<Blob>;
34
+ api: TransactionApi;
35
+ service: TransactionService;
36
+ };
37
+ export type TransactionSDK = ReturnType<typeof createTransactionSDK>;
38
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/transaction/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAGvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAGpE,cAAc,UAAU,CAAC;AACzB,cAAc,iDAAiD,CAAC;AAGhE,cAAc,UAAU,CAAC;AAEzB,OAAO,EAAE,2BAA2B,EAAE,qBAAqB,EAAE,MAAM,iDAAiD,CAAC;AAErH,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAE,2BAA2B,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAC;AAEhF;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,aAAa;wCAQrB,MAAM;qCAGT,qBAAqB;sCACpB,MAAM;8CACE,2BAA2B;8BAC3C,uBAAuB;yCAGZ,qBAAqB;sCAGxB,qBAAqB;;uCAEpB,2BAA2B;;;;EAOjE;AAED,MAAM,MAAM,cAAc,GAAG,UAAU,CAAC,OAAO,oBAAoB,CAAC,CAAC"}
@@ -0,0 +1,42 @@
1
+ /**
2
+ * Transaction Domain Models
3
+ *
4
+ * Re-exports from @explorins/pers-shared for consistency with backend
5
+ * and to provide a single import source for transaction-related types.
6
+ */
7
+ export type { TransactionDTO, TransactionRequestDTO, ClientTransactionRequestDTO, ClientTransactionRequestResponseDto, UserToBusinessTokenTransactionCreateRequestDTO } from '../../shared/interfaces/pers-shared-lib.interfaces';
8
+ import { TransactionDTO } from '../../shared/interfaces/pers-shared-lib.interfaces';
9
+ export interface TransactionPaginationParams {
10
+ page: number;
11
+ limit: number;
12
+ participantId?: string;
13
+ status?: string;
14
+ sortBy?: string;
15
+ sortOrder?: 'ASC' | 'DESC';
16
+ filters?: {
17
+ startDate?: string;
18
+ endDate?: string;
19
+ type?: string[];
20
+ tokenType?: string[];
21
+ };
22
+ }
23
+ export interface TransactionPaginationResponse {
24
+ data: TransactionDTO[];
25
+ pagination: {
26
+ page: string;
27
+ limit: string;
28
+ total: number;
29
+ pages: number;
30
+ hasNext: boolean;
31
+ hasPrev: boolean;
32
+ };
33
+ }
34
+ export interface UserBurnTokenRequestDTO {
35
+ tokenAddress: string;
36
+ tokenMetadataIncrementalId: string;
37
+ chainId: number;
38
+ amount: number;
39
+ }
40
+ export declare enum TransactionAccountType {
41
+ }
42
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/transaction/models/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,YAAY,EACV,cAAc,EACd,qBAAqB,EACrB,2BAA2B,EAC3B,mCAAmC,EACnC,8CAA8C,EAC/C,MAAM,oDAAoD,CAAC;AAG5D,OAAO,EAAE,cAAc,EAAE,MAAM,oDAAoD,CAAC;AAIpF,MAAM,WAAW,2BAA2B;IAC1C,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;IAC3B,OAAO,CAAC,EAAE;QACR,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;QAChB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;KACtB,CAAC;CACH;AAED,MAAM,WAAW,6BAA6B;IAC5C,IAAI,EAAE,cAAc,EAAE,CAAC;IACvB,UAAU,EAAE;QACV,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,OAAO,CAAC;QACjB,OAAO,EAAE,OAAO,CAAC;KAClB,CAAC;CACH;AAED,MAAM,WAAW,uBAAuB;IACtC,YAAY,EAAE,MAAM,CAAC;IACrB,0BAA0B,EAAE,MAAM,CAAC;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;CAChB;AAGD,oBAAY,sBAAsB;CAGjC"}
@@ -0,0 +1,56 @@
1
+ import { TransactionDTO } from '../../shared/interfaces/pers-shared-lib.interfaces';
2
+ import { TransactionApi } from '../api/transaction-api';
3
+ import { TransactionRequestDTO, ClientTransactionRequestDTO, ClientTransactionRequestResponseDto, TransactionPaginationParams, TransactionPaginationResponse, UserBurnTokenRequestDTO } from '../models';
4
+ /**
5
+ * Platform-Agnostic Transaction Service
6
+ *
7
+ * Contains transaction 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 TransactionService {
13
+ private transactionApi;
14
+ constructor(transactionApi: TransactionApi);
15
+ /**
16
+ * Get transaction by ID
17
+ */
18
+ getTransactionById(transactionId: string): Promise<TransactionDTO>;
19
+ /**
20
+ * AUTH: Create authenticated transaction
21
+ */
22
+ createAuthTransaction(request: TransactionRequestDTO): Promise<TransactionDTO>;
23
+ /**
24
+ * AUTH: Get user transaction history by type
25
+ */
26
+ getUserTransactionHistory(type: string): Promise<TransactionDTO[]>;
27
+ /**
28
+ * AUTH: Prepare client signed transaction
29
+ */
30
+ prepareClientSignedTransaction(request: ClientTransactionRequestDTO): Promise<ClientTransactionRequestResponseDto>;
31
+ /**
32
+ * AUTH: Burn user tokens
33
+ */
34
+ burnUserTokens(request: UserBurnTokenRequestDTO): Promise<TransactionDTO>;
35
+ /**
36
+ * BUSINESS: Create business transaction
37
+ */
38
+ createBusinessTransaction(request: TransactionRequestDTO): Promise<TransactionDTO>;
39
+ /**
40
+ * ADMIN: Create admin transaction
41
+ */
42
+ createAdminTransaction(request: TransactionRequestDTO): Promise<TransactionDTO>;
43
+ /**
44
+ * ADMIN: Get all tenant transactions
45
+ */
46
+ getTenantTransactions(): Promise<TransactionDTO[]>;
47
+ /**
48
+ * ADMIN: Get paginated transactions with filtering and sorting
49
+ */
50
+ getPaginatedTransactions(params: TransactionPaginationParams): Promise<TransactionPaginationResponse>;
51
+ /**
52
+ * ADMIN: Export transactions to CSV
53
+ */
54
+ exportTransactionsCSV(): Promise<Blob>;
55
+ }
56
+ //# sourceMappingURL=transaction-service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transaction-service.d.ts","sourceRoot":"","sources":["../../../src/transaction/services/transaction-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,oDAAoD,CAAC;AACpF,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EACL,qBAAqB,EACrB,2BAA2B,EAC3B,mCAAmC,EACnC,2BAA2B,EAC3B,6BAA6B,EAC7B,uBAAuB,EACxB,MAAM,WAAW,CAAC;AAEnB;;;;;;;GAOG;AACH,qBAAa,kBAAkB;IACjB,OAAO,CAAC,cAAc;gBAAd,cAAc,EAAE,cAAc;IAElD;;OAEG;IACG,kBAAkB,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAQxE;;OAEG;IACG,qBAAqB,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,cAAc,CAAC;IAIpF;;OAEG;IACG,yBAAyB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAIxE;;OAEG;IACG,8BAA8B,CAAC,OAAO,EAAE,2BAA2B,GAAG,OAAO,CAAC,mCAAmC,CAAC;IAIxH;;OAEG;IACG,cAAc,CAAC,OAAO,EAAE,uBAAuB,GAAG,OAAO,CAAC,cAAc,CAAC;IAQ/E;;OAEG;IACG,yBAAyB,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,cAAc,CAAC;IAQxF;;OAEG;IACG,sBAAsB,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,cAAc,CAAC;IAIrF;;OAEG;IACG,qBAAqB,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;IAIxD;;OAEG;IACG,wBAAwB,CAAC,MAAM,EAAE,2BAA2B,GAAG,OAAO,CAAC,6BAA6B,CAAC;IAI3G;;OAEG;IACG,qBAAqB,IAAI,OAAO,CAAC,IAAI,CAAC;CAG7C"}
@@ -0,0 +1,394 @@
1
+ 'use strict';
2
+
3
+ /**
4
+ * Platform-Agnostic Transaction API Client (UPDATED FOR NEW RESTful ENDPOINTS)
5
+ *
6
+ * Handles transaction operations using the PERS backend.
7
+ * Uses @explorins/pers-shared DTOs for consistency with backend.
8
+ *
9
+ * MIGRATION NOTES:
10
+ * - All endpoints changed from /transaction to /transactions
11
+ * - Role-based paths removed (no more /auth, /admin, /business in URLs)
12
+ * - New RESTful resource-based structure
13
+ * - Added new client-side transaction flow methods
14
+ * - Enhanced admin query capabilities
15
+ */
16
+ class TransactionApi {
17
+ constructor(apiClient) {
18
+ this.apiClient = apiClient;
19
+ this.basePath = '/transactions';
20
+ }
21
+ /**
22
+ * Get transaction by ID (public endpoint)
23
+ *
24
+ * UPDATED: /transaction/{id} → /transactions/{id}
25
+ */
26
+ async getTransactionById(transactionId) {
27
+ return this.apiClient.get(`${this.basePath}/${transactionId}`);
28
+ }
29
+ // ==========================================
30
+ // AUTHENTICATED USER OPERATIONS
31
+ // ==========================================
32
+ /**
33
+ * AUTH: Create authenticated user transaction
34
+ *
35
+ * UPDATED: /transaction/auth/transaction → /transactions/user
36
+ */
37
+ async createAuthTransaction(request) {
38
+ return this.apiClient.post(`${this.basePath}/user`, request);
39
+ }
40
+ /**
41
+ * AUTH: Get user's sent transactions
42
+ *
43
+ * UPDATED: /transaction/auth/sender → /transactions/me/sent
44
+ */
45
+ async getUserSentTransactions() {
46
+ const params = new URLSearchParams({
47
+ timestamp: Date.now().toString()
48
+ });
49
+ return this.apiClient.get(`${this.basePath}/me/sent?${params.toString()}`);
50
+ }
51
+ /**
52
+ * AUTH: Get user's received transactions
53
+ *
54
+ * UPDATED: /transaction/auth/recipient → /transactions/me/received
55
+ */
56
+ async getUserReceivedTransactions() {
57
+ const params = new URLSearchParams({
58
+ timestamp: Date.now().toString()
59
+ });
60
+ return this.apiClient.get(`${this.basePath}/me/received?${params.toString()}`);
61
+ }
62
+ /**
63
+ * AUTH: Get user transaction history by type (backwards compatibility)
64
+ *
65
+ * UPDATED: Maps to appropriate /transactions/me/* endpoints
66
+ */
67
+ async getUserTransactionHistory(type) {
68
+ const params = new URLSearchParams({
69
+ timestamp: Date.now().toString()
70
+ });
71
+ // Map legacy type parameter to new endpoints
72
+ switch (type.toLowerCase()) {
73
+ case 'sender':
74
+ case 'sent':
75
+ return this.apiClient.get(`${this.basePath}/me/sent?${params.toString()}`);
76
+ case 'recipient':
77
+ case 'received':
78
+ return this.apiClient.get(`${this.basePath}/me/received?${params.toString()}`);
79
+ default:
80
+ // Default to sent transactions for backwards compatibility
81
+ return this.apiClient.get(`${this.basePath}/me/sent?${params.toString()}`);
82
+ }
83
+ }
84
+ /**
85
+ * AUTH: Prepare client signed transaction
86
+ *
87
+ * UPDATED: /transaction/auth/prepare-signing → /transactions/prepare
88
+ */
89
+ async prepareClientSignedTransaction(request) {
90
+ return this.apiClient.post(`${this.basePath}/prepare`, request);
91
+ }
92
+ /**
93
+ * AUTH: Prepare existing transaction for client-side signing
94
+ *
95
+ * NEW ENDPOINT: GET /transactions/{id}/prepare
96
+ */
97
+ async prepareExistingTransaction(transactionId) {
98
+ return this.apiClient.get(`${this.basePath}/${transactionId}/prepare`);
99
+ }
100
+ /**
101
+ * AUTH: Submit client-side signed transaction
102
+ *
103
+ * NEW ENDPOINT: POST /transactions/{id}/submit
104
+ */
105
+ async submitSignedTransaction(transactionId, signedData) {
106
+ return this.apiClient.post(`${this.basePath}/${transactionId}/submit`, signedData);
107
+ }
108
+ /**
109
+ * AUTH: Burn user tokens
110
+ *
111
+ * UPDATED: Uses new user transaction endpoint with burn-specific parameters
112
+ * Note: This might need backend confirmation on burn functionality implementation
113
+ */
114
+ async burnUserTokens(request) {
115
+ // Map burn request to TransactionRequestDTO format for new endpoint
116
+ const transactionRequest = {
117
+ ...request,
118
+ // Add any specific burn transaction parameters here
119
+ };
120
+ return this.apiClient.post(`${this.basePath}/user`, transactionRequest);
121
+ }
122
+ // ==========================================
123
+ // BUSINESS OPERATIONS
124
+ // ==========================================
125
+ /**
126
+ * BUSINESS: Create business transaction
127
+ *
128
+ * UPDATED: /transaction/business/transaction → /transactions/business
129
+ */
130
+ async createBusinessTransaction(request) {
131
+ return this.apiClient.post(`${this.basePath}/business`, request);
132
+ }
133
+ // ==========================================
134
+ // ADMIN OPERATIONS
135
+ // ==========================================
136
+ /**
137
+ * ADMIN: Create admin transaction
138
+ *
139
+ * UPDATED: /transaction/admin/transaction → /transactions/admin
140
+ */
141
+ async createAdminTransaction(request) {
142
+ return this.apiClient.post(`${this.basePath}/system`, request);
143
+ }
144
+ /**
145
+ * ADMIN: Get all tenant transactions
146
+ *
147
+ * UPDATED: /transaction/admin → /transactions
148
+ */
149
+ async getTenantTransactions() {
150
+ const result = await this.apiClient.get(`${this.basePath}`);
151
+ // If the new endpoint returns paginated response, extract the data array
152
+ if ('data' in result) {
153
+ return result.data;
154
+ }
155
+ // Fallback for direct array response
156
+ return result;
157
+ }
158
+ /**
159
+ * ADMIN: Get paginated transactions with filtering and sorting
160
+ *
161
+ * UPDATED: /transaction/admin → /transactions (same endpoint, better structure)
162
+ */
163
+ async getPaginatedTransactions(params) {
164
+ // Build query parameters
165
+ const queryParams = {
166
+ page: params.page.toString(),
167
+ limit: params.limit.toString()
168
+ };
169
+ // Add sorting parameters if provided
170
+ if (params.sortBy) {
171
+ queryParams['sortBy'] = params.sortBy;
172
+ }
173
+ if (params.sortOrder) {
174
+ queryParams['sortOrder'] = params.sortOrder;
175
+ }
176
+ // Add user-specific filtering if provided
177
+ if (params.participantId) {
178
+ queryParams['participantId'] = params.participantId;
179
+ }
180
+ // Add status filtering if provided
181
+ if (params.status) {
182
+ queryParams['status'] = params.status;
183
+ }
184
+ // Add additional filters if provided
185
+ if (params.filters) {
186
+ if (params.filters.startDate) {
187
+ queryParams['startDate'] = params.filters.startDate;
188
+ }
189
+ if (params.filters.endDate) {
190
+ queryParams['endDate'] = params.filters.endDate;
191
+ }
192
+ if (params.filters.type && params.filters.type.length > 0) {
193
+ queryParams['type'] = params.filters.type.join(',');
194
+ }
195
+ if (params.filters.tokenType && params.filters.tokenType.length > 0) {
196
+ queryParams['tokenType'] = params.filters.tokenType.join(',');
197
+ }
198
+ }
199
+ // Build query string
200
+ const queryString = Object.entries(queryParams)
201
+ .map(([key, value]) => `${key}=${encodeURIComponent(value)}`)
202
+ .join('&');
203
+ return this.apiClient.get(`${this.basePath}?${queryString}`);
204
+ }
205
+ /**
206
+ * ADMIN: Export transactions to CSV
207
+ *
208
+ * UPDATED: /transaction/admin/export/csv → /transactions/export/csv
209
+ */
210
+ async exportTransactionsCSV() {
211
+ return this.apiClient.get(`${this.basePath}/export/csv`, 'blob');
212
+ }
213
+ // ==========================================
214
+ // NEW ADMIN QUERY METHODS
215
+ // ==========================================
216
+ /**
217
+ * ADMIN: Query transactions by sender
218
+ *
219
+ * NEW ENDPOINT: POST /transactions/query-sender
220
+ */
221
+ async queryTransactionsBySender(accountSelector) {
222
+ return this.apiClient.post(`${this.basePath}/query-sender`, accountSelector);
223
+ }
224
+ /**
225
+ * ADMIN: Query transactions by recipient
226
+ *
227
+ * NEW ENDPOINT: POST /transactions/query-recipient
228
+ */
229
+ async queryTransactionsByRecipient(accountSelector) {
230
+ return this.apiClient.post(`${this.basePath}/query-recipient`, accountSelector);
231
+ }
232
+ /**
233
+ * ADMIN: Get transaction analytics
234
+ *
235
+ * NEW ENDPOINT: POST /transactions/analytics
236
+ */
237
+ async getTransactionAnalytics(analyticsRequest) {
238
+ return this.apiClient.post(`${this.basePath}/analytics`, analyticsRequest);
239
+ }
240
+ // ==========================================
241
+ // CONVENIENCE METHODS (BACKWARDS COMPATIBILITY)
242
+ // ==========================================
243
+ /**
244
+ * Convenience method: Get user sent transactions (alias)
245
+ */
246
+ async getUserSenderTransactions() {
247
+ return this.getUserSentTransactions();
248
+ }
249
+ /**
250
+ * Convenience method: Get user received transactions (alias)
251
+ */
252
+ async getUserRecipientTransactions() {
253
+ return this.getUserReceivedTransactions();
254
+ }
255
+ }
256
+
257
+ /**
258
+ * Platform-Agnostic Transaction Service
259
+ *
260
+ * Contains transaction business logic and operations that work across platforms.
261
+ * No framework dependencies - pure TypeScript business logic.
262
+ *
263
+ * Focuses only on actual backend capabilities.
264
+ */
265
+ class TransactionService {
266
+ constructor(transactionApi) {
267
+ this.transactionApi = transactionApi;
268
+ }
269
+ /**
270
+ * Get transaction by ID
271
+ */
272
+ async getTransactionById(transactionId) {
273
+ return this.transactionApi.getTransactionById(transactionId);
274
+ }
275
+ // ==========================================
276
+ // AUTHENTICATED OPERATIONS
277
+ // ==========================================
278
+ /**
279
+ * AUTH: Create authenticated transaction
280
+ */
281
+ async createAuthTransaction(request) {
282
+ return this.transactionApi.createAuthTransaction(request);
283
+ }
284
+ /**
285
+ * AUTH: Get user transaction history by type
286
+ */
287
+ async getUserTransactionHistory(type) {
288
+ return this.transactionApi.getUserTransactionHistory(type);
289
+ }
290
+ /**
291
+ * AUTH: Prepare client signed transaction
292
+ */
293
+ async prepareClientSignedTransaction(request) {
294
+ return this.transactionApi.prepareClientSignedTransaction(request);
295
+ }
296
+ /**
297
+ * AUTH: Burn user tokens
298
+ */
299
+ async burnUserTokens(request) {
300
+ return this.transactionApi.burnUserTokens(request);
301
+ }
302
+ // ==========================================
303
+ // BUSINESS OPERATIONS
304
+ // ==========================================
305
+ /**
306
+ * BUSINESS: Create business transaction
307
+ */
308
+ async createBusinessTransaction(request) {
309
+ return this.transactionApi.createBusinessTransaction(request);
310
+ }
311
+ // ==========================================
312
+ // ADMIN OPERATIONS
313
+ // ==========================================
314
+ /**
315
+ * ADMIN: Create admin transaction
316
+ */
317
+ async createAdminTransaction(request) {
318
+ return this.transactionApi.createAdminTransaction(request);
319
+ }
320
+ /**
321
+ * ADMIN: Get all tenant transactions
322
+ */
323
+ async getTenantTransactions() {
324
+ return this.transactionApi.getTenantTransactions();
325
+ }
326
+ /**
327
+ * ADMIN: Get paginated transactions with filtering and sorting
328
+ */
329
+ async getPaginatedTransactions(params) {
330
+ return this.transactionApi.getPaginatedTransactions(params);
331
+ }
332
+ /**
333
+ * ADMIN: Export transactions to CSV
334
+ */
335
+ async exportTransactionsCSV() {
336
+ return this.transactionApi.exportTransactionsCSV();
337
+ }
338
+ }
339
+
340
+ /**
341
+ * Transaction Domain Models
342
+ *
343
+ * Re-exports from @explorins/pers-shared for consistency with backend
344
+ * and to provide a single import source for transaction-related types.
345
+ */
346
+ // Transaction account types (domain-specific enum)
347
+ exports.TransactionAccountType = void 0;
348
+ (function (TransactionAccountType) {
349
+ // Add specific transaction account types as needed
350
+ // This should match the enum used in the infrastructure layer
351
+ })(exports.TransactionAccountType || (exports.TransactionAccountType = {}));
352
+
353
+ /**
354
+ * @explorins/pers-sdk-transaction
355
+ *
356
+ * Platform-agnostic Transaction Domain SDK for PERS ecosystem
357
+ * Handles transaction operations across different authorization levels
358
+ */
359
+ // API Layer
360
+ /**
361
+ * Create a complete Transaction SDK instance
362
+ *
363
+ * @param apiClient - Configured PERS API client
364
+ * @returns Transaction SDK with flattened structure for better DX
365
+ */
366
+ function createTransactionSDK(apiClient) {
367
+ const transactionApi = new TransactionApi(apiClient);
368
+ const transactionService = new TransactionService(transactionApi);
369
+ return {
370
+ // Direct access to service methods (primary interface)
371
+ // Public methods
372
+ getTransactionById: (transactionId) => transactionService.getTransactionById(transactionId),
373
+ // Auth methods
374
+ createAuthTransaction: (request) => transactionService.createAuthTransaction(request),
375
+ getUserTransactionHistory: (type) => transactionService.getUserTransactionHistory(type),
376
+ prepareClientSignedTransaction: (request) => transactionService.prepareClientSignedTransaction(request),
377
+ burnUserTokens: (request) => transactionService.burnUserTokens(request),
378
+ // Business methods
379
+ createBusinessTransaction: (request) => transactionService.createBusinessTransaction(request),
380
+ // Admin methods
381
+ createAdminTransaction: (request) => transactionService.createAdminTransaction(request),
382
+ getTenantTransactions: () => transactionService.getTenantTransactions(),
383
+ getPaginatedTransactions: (params) => transactionService.getPaginatedTransactions(params),
384
+ exportTransactionsCSV: () => transactionService.exportTransactionsCSV(),
385
+ // Advanced access for edge cases
386
+ api: transactionApi,
387
+ service: transactionService
388
+ };
389
+ }
390
+
391
+ exports.TransactionApi = TransactionApi;
392
+ exports.TransactionService = TransactionService;
393
+ exports.createTransactionSDK = createTransactionSDK;
394
+ //# sourceMappingURL=transaction.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transaction.cjs","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":["TransactionAccountType"],"mappings":"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"}