@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
@@ -1,11 +1,8 @@
1
- /**
2
- * User Status Domain Models
3
- *
4
- * Re-exports from centralized pers-shared interfaces for consistency with backend
5
- * and to provide a single import source for user-status-related types.
6
- */
7
-
8
- // Core user status entities from centralized pers-shared interfaces
9
- export type {
10
- UserStatusTypeDTO
11
- } from '../../shared/interfaces/pers-shared-lib.interfaces';
1
+ /**
2
+ * User Status Domain Models
3
+ *
4
+ * Re-exports from centralized pers-shared interfaces for consistency with backend
5
+ * and to provide a single import source for user-status-related types.
6
+ */
7
+ export type { UserStatusTypeDTO } from '../../shared/interfaces/pers-shared-lib.interfaces';
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/user-status/models/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,YAAY,EACV,iBAAiB,EAClB,MAAM,oDAAoD,CAAC"}
@@ -0,0 +1,26 @@
1
+ import { UserStatusApi } from '../api/user-status-api';
2
+ import { UserStatusTypeDTO } from '../../shared/interfaces/pers-shared-lib.interfaces';
3
+ /**
4
+ * Platform-Agnostic User Status Service
5
+ *
6
+ * Contains user status business logic and operations that work across platforms.
7
+ * No framework dependencies - pure TypeScript business logic.
8
+ * Matches framework UserStatusApiService capabilities exactly.
9
+ */
10
+ export declare class UserStatusService {
11
+ private userStatusApi;
12
+ constructor(userStatusApi: UserStatusApi);
13
+ /**
14
+ * PUBLIC: Get remote user status types
15
+ */
16
+ getRemoteUserStatusTypes(): Promise<UserStatusTypeDTO[]>;
17
+ /**
18
+ * AUTH: Get earned user status for authenticated user
19
+ */
20
+ getRemoteEarnedUserStatus(): Promise<UserStatusTypeDTO[]>;
21
+ /**
22
+ * ADMIN: Create user status type
23
+ */
24
+ createUserStatusType(userStatusType: UserStatusTypeDTO): Promise<UserStatusTypeDTO>;
25
+ }
26
+ //# sourceMappingURL=user-status-service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user-status-service.d.ts","sourceRoot":"","sources":["../../../src/user-status/services/user-status-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oDAAoD,CAAC;AAEvF;;;;;;GAMG;AACH,qBAAa,iBAAiB;IAChB,OAAO,CAAC,aAAa;gBAAb,aAAa,EAAE,aAAa;IAMhD;;OAEG;IACG,wBAAwB,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAQ9D;;OAEG;IACG,yBAAyB,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAQ/D;;OAEG;IACG,oBAAoB,CAAC,cAAc,EAAE,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC;CAQ1F"}
@@ -0,0 +1,147 @@
1
+ 'use strict';
2
+
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
+ class UserStatusApi {
16
+ constructor(apiClient) {
17
+ this.apiClient = apiClient;
18
+ this.basePath = '/users';
19
+ }
20
+ // ==========================================
21
+ // PUBLIC OPERATIONS
22
+ // ==========================================
23
+ /**
24
+ * PUBLIC: Get remote user status types
25
+ * ✅ UPDATED: /user/status-type → /users/status-types
26
+ */
27
+ async getRemoteUserStatusTypes() {
28
+ try {
29
+ return await this.apiClient.get(`${this.basePath}/status-types`);
30
+ }
31
+ catch (error) {
32
+ console.error('Error getting user status types', error);
33
+ throw error;
34
+ }
35
+ }
36
+ // ==========================================
37
+ // AUTHENTICATED OPERATIONS
38
+ // ==========================================
39
+ /**
40
+ * AUTH: Get earned user status for authenticated user
41
+ * ✅ UPDATED: /user/auth/status → /users/me/status
42
+ * ✅ FIXED: Returns UserStatusTypeDTO[] to match framework exactly
43
+ * Note: Uses silent fallback pattern from framework - returns empty array on error
44
+ */
45
+ async getRemoteEarnedUserStatus() {
46
+ try {
47
+ return await this.apiClient.get(`${this.basePath}/me/status`);
48
+ }
49
+ catch (error) {
50
+ console.error('Error getting user status', error);
51
+ // ✅ FIXED: Silent fallback pattern from framework implementation
52
+ return [];
53
+ }
54
+ }
55
+ // ==========================================
56
+ // ADMIN OPERATIONS
57
+ // ==========================================
58
+ /**
59
+ * ADMIN: Create user status type
60
+ * ✅ UPDATED: /user/admin/status-type → /users/status-types
61
+ */
62
+ async createUserStatusType(userStatusType) {
63
+ try {
64
+ return await this.apiClient.post(`${this.basePath}/status-types`, userStatusType);
65
+ }
66
+ catch (error) {
67
+ console.error('Error creating user status type', error);
68
+ throw error;
69
+ }
70
+ }
71
+ }
72
+
73
+ /**
74
+ * Platform-Agnostic User Status Service
75
+ *
76
+ * Contains user status business logic and operations that work across platforms.
77
+ * No framework dependencies - pure TypeScript business logic.
78
+ * Matches framework UserStatusApiService capabilities exactly.
79
+ */
80
+ class UserStatusService {
81
+ constructor(userStatusApi) {
82
+ this.userStatusApi = userStatusApi;
83
+ }
84
+ // ==========================================
85
+ // PUBLIC OPERATIONS
86
+ // ==========================================
87
+ /**
88
+ * PUBLIC: Get remote user status types
89
+ */
90
+ async getRemoteUserStatusTypes() {
91
+ return this.userStatusApi.getRemoteUserStatusTypes();
92
+ }
93
+ // ==========================================
94
+ // AUTHENTICATED OPERATIONS
95
+ // ==========================================
96
+ /**
97
+ * AUTH: Get earned user status for authenticated user
98
+ */
99
+ async getRemoteEarnedUserStatus() {
100
+ return this.userStatusApi.getRemoteEarnedUserStatus();
101
+ }
102
+ // ==========================================
103
+ // ADMIN OPERATIONS
104
+ // ==========================================
105
+ /**
106
+ * ADMIN: Create user status type
107
+ */
108
+ async createUserStatusType(userStatusType) {
109
+ return this.userStatusApi.createUserStatusType(userStatusType);
110
+ }
111
+ }
112
+
113
+ /**
114
+ * @explorins/pers-sdk-user-status
115
+ *
116
+ * Platform-agnostic User Status Domain SDK for PERS ecosystem
117
+ * Handles user status management and type operations
118
+ */
119
+ // API Layer
120
+ /**
121
+ * Create a complete User Status SDK instance
122
+ *
123
+ * @param apiClient - Configured PERS API client
124
+ * @returns User Status SDK with flattened structure for better DX
125
+ */
126
+ function createUserStatusSDK(apiClient) {
127
+ const userStatusApi = new UserStatusApi(apiClient);
128
+ const userStatusService = new UserStatusService(userStatusApi);
129
+ return {
130
+ // Direct access to service methods (primary interface)
131
+ // ✅ FRAMEWORK ALIGNED: Only methods actually used by framework
132
+ // Public methods
133
+ getRemoteUserStatusTypes: () => userStatusService.getRemoteUserStatusTypes(),
134
+ // Auth methods
135
+ getRemoteEarnedUserStatus: () => userStatusService.getRemoteEarnedUserStatus(),
136
+ // Admin methods
137
+ createUserStatusType: (userStatusType) => userStatusService.createUserStatusType(userStatusType),
138
+ // Advanced access for edge cases
139
+ api: userStatusApi,
140
+ service: userStatusService
141
+ };
142
+ }
143
+
144
+ exports.UserStatusApi = UserStatusApi;
145
+ exports.UserStatusService = UserStatusService;
146
+ exports.createUserStatusSDK = createUserStatusSDK;
147
+ //# sourceMappingURL=user-status.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user-status.cjs","sources":["../src/user-status/api/user-status-api.ts","../src/user-status/services/user-status-service.ts","../src/user-status/index.ts"],"sourcesContent":[null,null,null],"names":[],"mappings":";;AAGA;;;;;;;;;;;AAWG;MACU,aAAa,CAAA;AACxB,IAAA,WAAA,CAAoB,SAAwB,EAAA;QAAxB,IAAA,CAAA,SAAS,GAAT,SAAS;QAEZ,IAAA,CAAA,QAAQ,GAAG,QAAQ;IAFW;;;;AAQ/C;;;AAGG;AACH,IAAA,MAAM,wBAAwB,GAAA;AAC5B,QAAA,IAAI;AACF,YAAA,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,CAAsB,CAAA,EAAG,IAAI,CAAC,QAAQ,CAAA,aAAA,CAAe,CAAC;QACvF;QAAE,OAAO,KAAK,EAAE;AACd,YAAA,OAAO,CAAC,KAAK,CAAC,iCAAiC,EAAE,KAAK,CAAC;AACvD,YAAA,MAAM,KAAK;QACb;IACF;;;;AAMA;;;;;AAKG;AACH,IAAA,MAAM,yBAAyB,GAAA;AAC7B,QAAA,IAAI;AACF,YAAA,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,CAAsB,CAAA,EAAG,IAAI,CAAC,QAAQ,CAAA,UAAA,CAAY,CAAC;QACpF;QAAE,OAAO,KAAK,EAAE;AACd,YAAA,OAAO,CAAC,KAAK,CAAC,2BAA2B,EAAE,KAAK,CAAC;;AAEjD,YAAA,OAAO,EAAE;QACX;IACF;;;;AAMA;;;AAGG;IACH,MAAM,oBAAoB,CAAC,cAAiC,EAAA;AAC1D,QAAA,IAAI;AACF,YAAA,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAoB,CAAA,EAAG,IAAI,CAAC,QAAQ,CAAA,aAAA,CAAe,EAAE,cAAc,CAAC;QACtG;QAAE,OAAO,KAAK,EAAE;AACd,YAAA,OAAO,CAAC,KAAK,CAAC,iCAAiC,EAAE,KAAK,CAAC;AACvD,YAAA,MAAM,KAAK;QACb;IACF;AAKD;;AC1ED;;;;;;AAMG;MACU,iBAAiB,CAAA;AAC5B,IAAA,WAAA,CAAoB,aAA4B,EAAA;QAA5B,IAAA,CAAA,aAAa,GAAb,aAAa;IAAkB;;;;AAMnD;;AAEG;AACH,IAAA,MAAM,wBAAwB,GAAA;AAC5B,QAAA,OAAO,IAAI,CAAC,aAAa,CAAC,wBAAwB,EAAE;IACtD;;;;AAMA;;AAEG;AACH,IAAA,MAAM,yBAAyB,GAAA;AAC7B,QAAA,OAAO,IAAI,CAAC,aAAa,CAAC,yBAAyB,EAAE;IACvD;;;;AAMA;;AAEG;IACH,MAAM,oBAAoB,CAAC,cAAiC,EAAA;QAC1D,OAAO,IAAI,CAAC,aAAa,CAAC,oBAAoB,CAAC,cAAc,CAAC;IAChE;AAMD;;AClDD;;;;;AAKG;AAEH;AAiBA;;;;;AAKG;AACG,SAAU,mBAAmB,CAAC,SAAwB,EAAA;AAC1D,IAAA,MAAM,aAAa,GAAG,IAAI,aAAa,CAAC,SAAS,CAAC;AAClD,IAAA,MAAM,iBAAiB,GAAG,IAAI,iBAAiB,CAAC,aAAa,CAAC;IAE9D,OAAO;;;;AAKL,QAAA,wBAAwB,EAAE,MAAM,iBAAiB,CAAC,wBAAwB,EAAE;;AAG5E,QAAA,yBAAyB,EAAE,MAAM,iBAAiB,CAAC,yBAAyB,EAAE;;QAG9E,oBAAoB,EAAE,CAAC,cAAiC,KACtD,iBAAiB,CAAC,oBAAoB,CAAC,cAAc,CAAC;;AAGxD,QAAA,GAAG,EAAE,aAAa;AAClB,QAAA,OAAO,EAAE;KACV;AACH;;;;;;"}
@@ -0,0 +1,143 @@
1
+ /**
2
+ * Platform-Agnostic User Status API Client
3
+ *
4
+ * Handles user status operations using the PERS backend.
5
+ * Matches framework UserStatusApiService methods exactly.
6
+ *
7
+ * ✅ UPDATED: All endpoints updated to new RESTful /users patterns
8
+ *
9
+ * Error handling patterns follow framework implementation:
10
+ * - getRemoteEarnedUserStatus() uses silent fallback (empty array)
11
+ * - Other operations throw errors for proper error handling
12
+ */
13
+ class UserStatusApi {
14
+ constructor(apiClient) {
15
+ this.apiClient = apiClient;
16
+ this.basePath = '/users';
17
+ }
18
+ // ==========================================
19
+ // PUBLIC OPERATIONS
20
+ // ==========================================
21
+ /**
22
+ * PUBLIC: Get remote user status types
23
+ * ✅ UPDATED: /user/status-type → /users/status-types
24
+ */
25
+ async getRemoteUserStatusTypes() {
26
+ try {
27
+ return await this.apiClient.get(`${this.basePath}/status-types`);
28
+ }
29
+ catch (error) {
30
+ console.error('Error getting user status types', error);
31
+ throw error;
32
+ }
33
+ }
34
+ // ==========================================
35
+ // AUTHENTICATED OPERATIONS
36
+ // ==========================================
37
+ /**
38
+ * AUTH: Get earned user status for authenticated user
39
+ * ✅ UPDATED: /user/auth/status → /users/me/status
40
+ * ✅ FIXED: Returns UserStatusTypeDTO[] to match framework exactly
41
+ * Note: Uses silent fallback pattern from framework - returns empty array on error
42
+ */
43
+ async getRemoteEarnedUserStatus() {
44
+ try {
45
+ return await this.apiClient.get(`${this.basePath}/me/status`);
46
+ }
47
+ catch (error) {
48
+ console.error('Error getting user status', error);
49
+ // ✅ FIXED: Silent fallback pattern from framework implementation
50
+ return [];
51
+ }
52
+ }
53
+ // ==========================================
54
+ // ADMIN OPERATIONS
55
+ // ==========================================
56
+ /**
57
+ * ADMIN: Create user status type
58
+ * ✅ UPDATED: /user/admin/status-type → /users/status-types
59
+ */
60
+ async createUserStatusType(userStatusType) {
61
+ try {
62
+ return await this.apiClient.post(`${this.basePath}/status-types`, userStatusType);
63
+ }
64
+ catch (error) {
65
+ console.error('Error creating user status type', error);
66
+ throw error;
67
+ }
68
+ }
69
+ }
70
+
71
+ /**
72
+ * Platform-Agnostic User Status Service
73
+ *
74
+ * Contains user status business logic and operations that work across platforms.
75
+ * No framework dependencies - pure TypeScript business logic.
76
+ * Matches framework UserStatusApiService capabilities exactly.
77
+ */
78
+ class UserStatusService {
79
+ constructor(userStatusApi) {
80
+ this.userStatusApi = userStatusApi;
81
+ }
82
+ // ==========================================
83
+ // PUBLIC OPERATIONS
84
+ // ==========================================
85
+ /**
86
+ * PUBLIC: Get remote user status types
87
+ */
88
+ async getRemoteUserStatusTypes() {
89
+ return this.userStatusApi.getRemoteUserStatusTypes();
90
+ }
91
+ // ==========================================
92
+ // AUTHENTICATED OPERATIONS
93
+ // ==========================================
94
+ /**
95
+ * AUTH: Get earned user status for authenticated user
96
+ */
97
+ async getRemoteEarnedUserStatus() {
98
+ return this.userStatusApi.getRemoteEarnedUserStatus();
99
+ }
100
+ // ==========================================
101
+ // ADMIN OPERATIONS
102
+ // ==========================================
103
+ /**
104
+ * ADMIN: Create user status type
105
+ */
106
+ async createUserStatusType(userStatusType) {
107
+ return this.userStatusApi.createUserStatusType(userStatusType);
108
+ }
109
+ }
110
+
111
+ /**
112
+ * @explorins/pers-sdk-user-status
113
+ *
114
+ * Platform-agnostic User Status Domain SDK for PERS ecosystem
115
+ * Handles user status management and type operations
116
+ */
117
+ // API Layer
118
+ /**
119
+ * Create a complete User Status SDK instance
120
+ *
121
+ * @param apiClient - Configured PERS API client
122
+ * @returns User Status SDK with flattened structure for better DX
123
+ */
124
+ function createUserStatusSDK(apiClient) {
125
+ const userStatusApi = new UserStatusApi(apiClient);
126
+ const userStatusService = new UserStatusService(userStatusApi);
127
+ return {
128
+ // Direct access to service methods (primary interface)
129
+ // ✅ FRAMEWORK ALIGNED: Only methods actually used by framework
130
+ // Public methods
131
+ getRemoteUserStatusTypes: () => userStatusService.getRemoteUserStatusTypes(),
132
+ // Auth methods
133
+ getRemoteEarnedUserStatus: () => userStatusService.getRemoteEarnedUserStatus(),
134
+ // Admin methods
135
+ createUserStatusType: (userStatusType) => userStatusService.createUserStatusType(userStatusType),
136
+ // Advanced access for edge cases
137
+ api: userStatusApi,
138
+ service: userStatusService
139
+ };
140
+ }
141
+
142
+ export { UserStatusApi, UserStatusService, createUserStatusSDK };
143
+ //# sourceMappingURL=user-status.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user-status.js","sources":["../src/user-status/api/user-status-api.ts","../src/user-status/services/user-status-service.ts","../src/user-status/index.ts"],"sourcesContent":[null,null,null],"names":[],"mappings":"AAGA;;;;;;;;;;;AAWG;MACU,aAAa,CAAA;AACxB,IAAA,WAAA,CAAoB,SAAwB,EAAA;QAAxB,IAAA,CAAA,SAAS,GAAT,SAAS;QAEZ,IAAA,CAAA,QAAQ,GAAG,QAAQ;IAFW;;;;AAQ/C;;;AAGG;AACH,IAAA,MAAM,wBAAwB,GAAA;AAC5B,QAAA,IAAI;AACF,YAAA,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,CAAsB,CAAA,EAAG,IAAI,CAAC,QAAQ,CAAA,aAAA,CAAe,CAAC;QACvF;QAAE,OAAO,KAAK,EAAE;AACd,YAAA,OAAO,CAAC,KAAK,CAAC,iCAAiC,EAAE,KAAK,CAAC;AACvD,YAAA,MAAM,KAAK;QACb;IACF;;;;AAMA;;;;;AAKG;AACH,IAAA,MAAM,yBAAyB,GAAA;AAC7B,QAAA,IAAI;AACF,YAAA,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,CAAsB,CAAA,EAAG,IAAI,CAAC,QAAQ,CAAA,UAAA,CAAY,CAAC;QACpF;QAAE,OAAO,KAAK,EAAE;AACd,YAAA,OAAO,CAAC,KAAK,CAAC,2BAA2B,EAAE,KAAK,CAAC;;AAEjD,YAAA,OAAO,EAAE;QACX;IACF;;;;AAMA;;;AAGG;IACH,MAAM,oBAAoB,CAAC,cAAiC,EAAA;AAC1D,QAAA,IAAI;AACF,YAAA,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAoB,CAAA,EAAG,IAAI,CAAC,QAAQ,CAAA,aAAA,CAAe,EAAE,cAAc,CAAC;QACtG;QAAE,OAAO,KAAK,EAAE;AACd,YAAA,OAAO,CAAC,KAAK,CAAC,iCAAiC,EAAE,KAAK,CAAC;AACvD,YAAA,MAAM,KAAK;QACb;IACF;AAKD;;AC1ED;;;;;;AAMG;MACU,iBAAiB,CAAA;AAC5B,IAAA,WAAA,CAAoB,aAA4B,EAAA;QAA5B,IAAA,CAAA,aAAa,GAAb,aAAa;IAAkB;;;;AAMnD;;AAEG;AACH,IAAA,MAAM,wBAAwB,GAAA;AAC5B,QAAA,OAAO,IAAI,CAAC,aAAa,CAAC,wBAAwB,EAAE;IACtD;;;;AAMA;;AAEG;AACH,IAAA,MAAM,yBAAyB,GAAA;AAC7B,QAAA,OAAO,IAAI,CAAC,aAAa,CAAC,yBAAyB,EAAE;IACvD;;;;AAMA;;AAEG;IACH,MAAM,oBAAoB,CAAC,cAAiC,EAAA;QAC1D,OAAO,IAAI,CAAC,aAAa,CAAC,oBAAoB,CAAC,cAAc,CAAC;IAChE;AAMD;;AClDD;;;;;AAKG;AAEH;AAiBA;;;;;AAKG;AACG,SAAU,mBAAmB,CAAC,SAAwB,EAAA;AAC1D,IAAA,MAAM,aAAa,GAAG,IAAI,aAAa,CAAC,SAAS,CAAC;AAClD,IAAA,MAAM,iBAAiB,GAAG,IAAI,iBAAiB,CAAC,aAAa,CAAC;IAE9D,OAAO;;;;AAKL,QAAA,wBAAwB,EAAE,MAAM,iBAAiB,CAAC,wBAAwB,EAAE;;AAG5E,QAAA,yBAAyB,EAAE,MAAM,iBAAiB,CAAC,yBAAyB,EAAE;;QAG9E,oBAAoB,EAAE,CAAC,cAAiC,KACtD,iBAAiB,CAAC,oBAAoB,CAAC,cAAc,CAAC;;AAGxD,QAAA,GAAG,EAAE,aAAa;AAClB,QAAA,OAAO,EAAE;KACV;AACH;;;;"}
package/dist/user.cjs ADDED
@@ -0,0 +1,188 @@
1
+ 'use strict';
2
+
3
+ /**
4
+ * Platform-Agnostic User API Client
5
+ *
6
+ * Handles user operations using the PERS backend RESTful API.
7
+ * Updated to use new /users endpoints with enhanced security and consistency.
8
+ * Maintains framework UserApiService method compatibility.
9
+ */
10
+ class UserApi {
11
+ constructor(apiClient) {
12
+ this.apiClient = apiClient;
13
+ this.basePath = '/users';
14
+ }
15
+ // ==========================================
16
+ // PUBLIC OPERATIONS
17
+ // ==========================================
18
+ /**
19
+ * PUBLIC: Get all users public profiles with optional filtering
20
+ * ✅ UPDATED: Uses new RESTful /users/public endpoint
21
+ */
22
+ async getAllUsersPublicProfiles(filter = null) {
23
+ let url = `${this.basePath}/public`;
24
+ if (filter) {
25
+ // ✅ MAINTAINED: Same parameter pattern for compatibility
26
+ const params = new URLSearchParams();
27
+ params.set('filterKey', filter.key);
28
+ params.set('filterValue', filter.value);
29
+ url += `?${params.toString()}`;
30
+ }
31
+ return this.apiClient.get(url);
32
+ }
33
+ // ==========================================
34
+ // AUTHENTICATED OPERATIONS
35
+ // ==========================================
36
+ /**
37
+ * AUTH: Get current authenticated user
38
+ * ✅ UPDATED: Uses new RESTful /users/me endpoint
39
+ */
40
+ async getRemoteUser() {
41
+ return this.apiClient.get(`${this.basePath}/me`);
42
+ }
43
+ /**
44
+ * AUTH: Update current authenticated user
45
+ * ✅ UPDATED: Uses new RESTful /users/me endpoint
46
+ */
47
+ async updateRemoteUser(updateRequest) {
48
+ return this.apiClient.put(`${this.basePath}/me`, updateRequest);
49
+ }
50
+ // ==========================================
51
+ // ADMIN OPERATIONS
52
+ // ==========================================
53
+ /**
54
+ * ADMIN: Get all remote users with query parameters
55
+ * ✅ UPDATED: Uses new RESTful /users endpoint with role-based access
56
+ * Note: Admin users get full data, non-admin users get public profiles only
57
+ */
58
+ async getAllRemoteUsers() {
59
+ // ✅ MAINTAINED: Same merge=soft parameter for compatibility
60
+ const url = `${this.basePath}?merge=soft`;
61
+ return this.apiClient.get(url);
62
+ }
63
+ /**
64
+ * ADMIN: Update user as admin
65
+ * ✅ UPDATED: Uses new RESTful /users/{id} endpoint
66
+ */
67
+ async updateUserAsAdmin(id, userData) {
68
+ return this.apiClient.put(`${this.basePath}/${id}`, userData);
69
+ }
70
+ /**
71
+ * ADMIN: Toggle user active status
72
+ * ✅ UPDATED: Uses new consistent /users/{id}/status endpoint
73
+ * Enhanced: Follows RESTful status management pattern across all domains
74
+ */
75
+ async toggleUserActiveStatusByUser(user) {
76
+ return this.apiClient.put(`${this.basePath}/${user.id}/status`, {});
77
+ }
78
+ /**
79
+ * ADMIN: Get user by unique identifier
80
+ * ✅ UPDATED: Uses new RESTful /users/{id} endpoint
81
+ */
82
+ async getUserByUniqueIdentifier(id) {
83
+ return this.apiClient.get(`${this.basePath}/${id}`);
84
+ }
85
+ }
86
+
87
+ /**
88
+ * Platform-Agnostic User Service
89
+ *
90
+ * Contains user business logic and operations that work across platforms.
91
+ * No framework dependencies - pure TypeScript business logic.
92
+ * Matches framework UserApiService capabilities exactly.
93
+ */
94
+ class UserService {
95
+ constructor(userApi) {
96
+ this.userApi = userApi;
97
+ }
98
+ // ==========================================
99
+ // PUBLIC OPERATIONS
100
+ // ==========================================
101
+ /**
102
+ * PUBLIC: Get all users public profiles with optional filtering
103
+ * ✅ FIXED: Uses framework-compatible inline filter type
104
+ */
105
+ async getAllUsersPublicProfiles(filter = null) {
106
+ return this.userApi.getAllUsersPublicProfiles(filter);
107
+ }
108
+ // ==========================================
109
+ // AUTHENTICATED OPERATIONS
110
+ // ==========================================
111
+ /**
112
+ * AUTH: Get current authenticated user
113
+ */
114
+ async getRemoteUser() {
115
+ return this.userApi.getRemoteUser();
116
+ }
117
+ /**
118
+ * AUTH: Update current authenticated user
119
+ */
120
+ async updateRemoteUser(updateRequest) {
121
+ return this.userApi.updateRemoteUser(updateRequest);
122
+ }
123
+ // ==========================================
124
+ // ADMIN OPERATIONS
125
+ // ==========================================
126
+ /**
127
+ * ADMIN: Get all remote users
128
+ * ✅ FIXED: Matches API method signature (no parameters needed)
129
+ */
130
+ async getAllRemoteUsers() {
131
+ return this.userApi.getAllRemoteUsers();
132
+ }
133
+ /**
134
+ * ADMIN: Update user as admin
135
+ */
136
+ async updateUserAsAdmin(id, userData) {
137
+ return this.userApi.updateUserAsAdmin(id, userData);
138
+ }
139
+ async getUserByUniqueIdentifier(id) {
140
+ return this.userApi.getUserByUniqueIdentifier(id);
141
+ }
142
+ /**
143
+ * ADMIN: Toggle user active status by user object
144
+ * ✅ FIXED: Matches API method signature exactly
145
+ */
146
+ async toggleUserActiveStatusByUser(user) {
147
+ return this.userApi.toggleUserActiveStatusByUser(user);
148
+ }
149
+ }
150
+
151
+ /**
152
+ * @explorins/pers-sdk-user
153
+ *
154
+ * Platform-agnostic User Domain SDK for PERS ecosystem
155
+ * Handles user management, profiles, and authentication operations
156
+ */
157
+ // API Layer
158
+ /**
159
+ * Create a complete User SDK instance
160
+ *
161
+ * @param apiClient - Configured PERS API client
162
+ * @returns User SDK with flattened structure for better DX
163
+ */
164
+ function createUserSDK(apiClient) {
165
+ const userApi = new UserApi(apiClient);
166
+ const userService = new UserService(userApi);
167
+ return {
168
+ // Direct access to service methods (primary interface)
169
+ // Public methods - matches framework exactly
170
+ getAllUsersPublicProfiles: (filter = null) => userService.getAllUsersPublicProfiles(filter),
171
+ // Auth methods - matches framework exactly
172
+ getRemoteUser: () => userService.getRemoteUser(),
173
+ updateRemoteUser: (updateRequest) => userService.updateRemoteUser(updateRequest),
174
+ // Admin methods - matches framework exactly
175
+ getAllRemoteUsers: () => userService.getAllRemoteUsers(),
176
+ updateUserAsAdmin: (id, userData) => userService.updateUserAsAdmin(id, userData),
177
+ toggleUserActiveStatusByUser: (user) => userService.toggleUserActiveStatusByUser(user),
178
+ getUserByUniqueIdentifier: (id) => userService.getUserByUniqueIdentifier(id),
179
+ // Advanced access for edge cases
180
+ api: userApi,
181
+ service: userService
182
+ };
183
+ }
184
+
185
+ exports.UserApi = UserApi;
186
+ exports.UserService = UserService;
187
+ exports.createUserSDK = createUserSDK;
188
+ //# sourceMappingURL=user.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user.cjs","sources":["../src/user/api/user-api.ts","../src/user/services/user-service.ts","../src/user/index.ts"],"sourcesContent":[null,null,null],"names":[],"mappings":"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"}