@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
@@ -1,36 +0,0 @@
1
- import { AuthAdminApi } from '../api/auth-admin-api';
2
- import {
3
- AdminDTO,
4
- SessionAuthResponseDTO as TokenRefreshResponse,
5
- SessionAuthResponseDTO as AdminLoginResponseDTO
6
- } from '../../shared/interfaces/pers-shared-lib.interfaces';
7
-
8
- /**
9
- * Platform-Agnostic Auth Admin Service
10
- *
11
- * Contains auth admin business logic and operations that work across platforms.
12
- * No framework dependencies - pure TypeScript business logic.
13
- *
14
- * Focuses only on actual backend capabilities.
15
- */
16
- export class AuthAdminService {
17
- constructor(private authAdminApi: AuthAdminApi) {}
18
-
19
- // ==========================================
20
- // ADMIN AUTHENTICATION OPERATIONS
21
- // ==========================================
22
-
23
- /**
24
- * ADMIN: Login tenant admin with JWT
25
- */
26
- async loginTenantAdmin(jwt: string): Promise<AdminLoginResponseDTO> {
27
- return this.authAdminApi.loginTenantAdmin(jwt);
28
- }
29
-
30
- /**
31
- * ADMIN: Refresh access token
32
- */
33
- async refreshAccessToken(refreshToken: string): Promise<TokenRefreshResponse> {
34
- return this.authAdminApi.refreshAccessToken(refreshToken);
35
- }
36
- }
@@ -1,234 +0,0 @@
1
- import { PersApiClient } from '../../core/pers-api-client';
2
- import {
3
- BusinessDTO,
4
- BusinessTypeDTO,
5
- BusinessUpdateRequestDTO,
6
- BusinessCreateRequestDTO,
7
- BusinessToggleActiveRequestDTO,
8
- BusinessApiKeyDTO,
9
- BusinessTokenBalancesDTO,
10
- BusinessTypeCreateRequestDTO
11
- } from '../../shared/interfaces/pers-shared-lib.interfaces';
12
-
13
- /**
14
- * Platform-Agnostic Business API Client
15
- *
16
- * Updated to match the new RESTful /businesses endpoints.
17
- * Uses @explorins/pers-shared DTOs for full type safety and consistency with backend.
18
- */
19
- export class BusinessApi {
20
- constructor(private apiClient: PersApiClient) {}
21
-
22
- private readonly basePath = '/businesses';
23
-
24
- // ==========================================
25
- // 🌐 BUSINESS TYPES MANAGEMENT
26
- // ==========================================
27
-
28
- /**
29
- * Get all business types (project key required)
30
- *
31
- * Endpoint: GET /businesses/types
32
- * Auth: @ApiSecurity('projectKey')
33
- */
34
- async getAllBusinessTypes(): Promise<BusinessTypeDTO[]> {
35
- return this.apiClient.get<BusinessTypeDTO[]>(`${this.basePath}/types`);
36
- }
37
-
38
- /**
39
- * ADMIN: Create business type
40
- *
41
- * Endpoint: POST /businesses/types
42
- * Auth: @TenantAdmin()
43
- */
44
- async createBusinessType(dto: BusinessTypeCreateRequestDTO): Promise<BusinessTypeDTO> {
45
- return this.apiClient.post<BusinessTypeDTO>(`${this.basePath}/types`, dto);
46
- }
47
-
48
- /**
49
- * ADMIN: Update business type
50
- *
51
- * Endpoint: PUT /businesses/types
52
- * Auth: @TenantAdmin()
53
- */
54
- async updateBusinessType(dto: BusinessTypeDTO): Promise<BusinessTypeDTO> {
55
- return this.apiClient.put<BusinessTypeDTO>(`${this.basePath}/types`, dto);
56
- }
57
-
58
- /**
59
- * ADMIN: Delete business type
60
- *
61
- * Endpoint: DELETE /businesses/types/{id}
62
- * Auth: @TenantAdmin()
63
- */
64
- async deleteBusinessType(id: number): Promise<boolean> {
65
- return this.apiClient.delete<boolean>(`${this.basePath}/types/${id}`);
66
- }
67
-
68
- // ==========================================
69
- // 🏢 BUSINESS MANAGEMENT
70
- // ==========================================
71
-
72
- /**
73
- * Get current business info (business authentication required)
74
- *
75
- * Endpoint: GET /businesses/me
76
- * Auth: @Business()
77
- */
78
- async getCurrentBusiness(): Promise<BusinessTokenBalancesDTO> {
79
- return this.apiClient.get<BusinessTokenBalancesDTO>(`${this.basePath}/me`);
80
- }
81
-
82
- /**
83
- * Get all active businesses (project key required)
84
- *
85
- * Endpoint: GET /businesses
86
- * Auth: @ApiSecurity('projectKey')
87
- * Note: Regular users automatically get active businesses only
88
- */
89
- async getActiveBusinesses(): Promise<BusinessDTO[]> {
90
- return this.apiClient.get<BusinessDTO[]>(`${this.basePath}`);
91
- }
92
-
93
- /**
94
- * Get all businesses with filtering (admin users can access inactive)
95
- *
96
- * Endpoint: GET /businesses?active={boolean}&sanitize={mode}
97
- * Auth: @ApiSecurity('projectKey') (enhanced with role-based filtering)
98
- */
99
- async getAllBusinesses(options?: {
100
- active?: boolean;
101
- sanitize?: 'soft' | 'hard';
102
- }): Promise<BusinessDTO[]> {
103
- const params = new URLSearchParams();
104
-
105
- if (options?.active !== undefined) {
106
- params.append('active', String(options.active));
107
- }
108
-
109
- if (options?.sanitize) {
110
- params.append('sanitize', options.sanitize);
111
- }
112
-
113
- const queryString = params.toString();
114
- const url = queryString ? `${this.basePath}?${queryString}` : this.basePath;
115
-
116
- return this.apiClient.get<BusinessDTO[]>(url);
117
- }
118
-
119
- /**
120
- * ADMIN: Get all businesses (admin endpoint with full access)
121
- *
122
- * Endpoint: GET /businesses/admin
123
- * Auth: @TenantAdmin()
124
- */
125
- async getAllBusinessesAdmin(options?: {
126
- active?: boolean;
127
- sanitize?: 'soft' | 'hard';
128
- }): Promise<BusinessDTO[]> {
129
- const params = new URLSearchParams();
130
-
131
- if (options?.active !== undefined) {
132
- params.append('active', String(options.active));
133
- }
134
-
135
- if (options?.sanitize) {
136
- params.append('sanitize', options.sanitize);
137
- }
138
-
139
- const queryString = params.toString();
140
- const url = queryString ? `${this.basePath}?${queryString}` : this.basePath;
141
-
142
- return this.apiClient.get<BusinessDTO[]>(url);
143
- }
144
-
145
- /**
146
- * Get business by ID
147
- *
148
- * Endpoint: GET /businesses/{id}
149
- * Auth: @ApiSecurity('projectKey')
150
- */
151
- async getBusinessById(businessId: string): Promise<BusinessDTO> {
152
- return this.apiClient.get<BusinessDTO>(`${this.basePath}/${businessId}`);
153
- }
154
-
155
- /**
156
- * Get business by account address
157
- *
158
- * Endpoint: GET /businesses/account/{accountAddress}
159
- * Auth: @ApiSecurity('projectKey')
160
- */
161
- async getBusinessByAccount(accountAddress: string): Promise<BusinessDTO> {
162
- return this.apiClient.get<BusinessDTO>(`${this.basePath}/account/${accountAddress}`);
163
- }
164
-
165
- // ==========================================
166
- // 🔧 ADMIN OPERATIONS
167
- // ==========================================
168
-
169
- /**
170
- * ADMIN: Create business
171
- *
172
- * Endpoint: POST /businesses
173
- * Auth: @TenantAdmin()
174
- * Returns: BusinessApiKeyDTO | BusinessTokenBalancesDTO
175
- */
176
- async createBusiness(dto: BusinessCreateRequestDTO): Promise<BusinessApiKeyDTO | BusinessTokenBalancesDTO> {
177
- return this.apiClient.post<BusinessApiKeyDTO | BusinessTokenBalancesDTO>(`${this.basePath}`, dto);
178
- }
179
-
180
- /**
181
- * ADMIN: Create business by display name (convenience method)
182
- *
183
- * This is a convenience wrapper that creates the proper DTO structure
184
- */
185
- async createBusinessByDisplayName(displayName: string): Promise<BusinessApiKeyDTO | BusinessTokenBalancesDTO> {
186
- const dto: BusinessCreateRequestDTO = {
187
- displayName,
188
- // Add other required fields based on BusinessCreateRequestDTO structure
189
- // You may need to check the DTO definition for required fields
190
- };
191
- return this.createBusiness(dto);
192
- }
193
-
194
- /**
195
- * ADMIN: Create businesses from URL
196
- *
197
- * Endpoint: POST /businesses/bulk/url
198
- * Auth: @TenantAdmin()
199
- */
200
- async createBusinessesFromUrl(url: string): Promise<BusinessDTO[]> {
201
- return this.apiClient.post<BusinessDTO[]>(`${this.basePath}/bulk/url`, { url });
202
- }
203
-
204
- /**
205
- * ADMIN: Update business
206
- *
207
- * Endpoint: PUT /businesses/{id}
208
- * Auth: @TenantAdmin()
209
- */
210
- async updateBusiness(id: string, businessData: BusinessUpdateRequestDTO): Promise<BusinessDTO> {
211
- return this.apiClient.put<BusinessDTO>(`${this.basePath}/${id}`, businessData);
212
- }
213
-
214
- /**
215
- * ADMIN: Toggle business active status
216
- *
217
- * Endpoint: PUT /businesses/{id}/activate
218
- * Auth: @TenantAdmin()
219
- */
220
- async toggleBusinessActive(id: string, isActive: boolean): Promise<BusinessDTO> {
221
- const dto: BusinessToggleActiveRequestDTO = { isActive };
222
- return this.apiClient.put<BusinessDTO>(`${this.basePath}/${id}/status`, dto);
223
- }
224
-
225
- /**
226
- * ADMIN: Generate new business API key
227
- *
228
- * Endpoint: PUT /businesses/{id}/api-key
229
- * Auth: @TenantAdmin()
230
- */
231
- async generateNewBusinessApiKey(id: string): Promise<string> {
232
- return this.apiClient.put<string>(`${this.basePath}/${id}/api-key`, {});
233
- }
234
- }
@@ -1,53 +0,0 @@
1
- /**
2
- * @explorins/pers-sdk-business
3
- *
4
- * Platform-agnostic Business Domain SDK for PERS ecosystem
5
- * Focuses on non-admin business operations
6
- */
7
-
8
- // API Layer
9
- export { BusinessApi } from './api/business-api';
10
-
11
- // Service Layer
12
- export { BusinessService } from './services/business-service';
13
-
14
- // Models & Types - re-export all centralized interfaces
15
- export * from '../shared/interfaces/pers-shared-lib.interfaces';
16
-
17
- import { BusinessUpdateRequestDTO } from '../shared/interfaces/pers-shared-lib.interfaces';
18
- // Factory function for creating business SDK instance
19
- import { PersApiClient } from '../core/pers-api-client';
20
- import { BusinessApi } from './api/business-api';
21
- import { BusinessService } from './services/business-service';
22
-
23
- /**
24
- * Create a complete Business SDK instance
25
- *
26
- * @param apiClient - Configured PERS API client
27
- * @returns Business SDK with flattened structure for better DX
28
- */
29
- export function createBusinessSDK(apiClient: PersApiClient) {
30
- const businessApi = new BusinessApi(apiClient);
31
- const businessService = new BusinessService(businessApi);
32
-
33
- return {
34
- // Direct access to service methods (primary interface)
35
- getActiveBusinesses: () => businessService.getActiveBusinesses(),
36
- getAllBusinessTypes: () => businessService.getAllBusinessTypes(),
37
- getBusinessById: (businessId: string) => businessService.getBusinessById(businessId),
38
- getBusinessByAccount: (accountAddress: string) => businessService.getBusinessByAccount(accountAddress),
39
- getBusinessesByType: (typeId: string) => businessService.getBusinessesByType(typeId),
40
-
41
- // Admin methods
42
- getAllBusinesses: () => businessService.getAllBusinesses(),
43
- createBusinessByDisplayName: (displayName: string) => businessService.createBusinessByDisplayName(displayName),
44
- updateBusiness: (id: string, businessData: BusinessUpdateRequestDTO) => businessService.updateBusiness(id, businessData),
45
- toggleBusinessActive: (id: string, isActive: boolean) => businessService.toggleBusinessActive(id, isActive),
46
-
47
- // Advanced access for edge cases
48
- api: businessApi,
49
- service: businessService
50
- };
51
- }
52
-
53
- export type BusinessSDK = ReturnType<typeof createBusinessSDK>;
@@ -1,13 +0,0 @@
1
- /**
2
- * Business Domain Models
3
- *
4
- * Re-exports from @explorins/pers-shared for consistency with backend
5
- * and to provide a single import source for business-related types.
6
- */
7
-
8
- // Core business entities from centralized pers-shared interfaces
9
- export type {
10
- BusinessDTO,
11
- BusinessTypeDTO,
12
- BusinessUpdateRequestDTO
13
- } from '../../shared/interfaces/pers-shared-lib.interfaces';
@@ -1,88 +0,0 @@
1
- import { BusinessApi } from '../api/business-api';
2
- import {
3
- BusinessDTO,
4
- BusinessTypeDTO,
5
- BusinessUpdateRequestDTO
6
- } from '../../shared/interfaces/pers-shared-lib.interfaces';
7
-
8
- /**
9
- * Platform-Agnostic Business Service
10
- *
11
- * Contains business logic and operations that work across platforms.
12
- * No framework dependencies - pure TypeScript business logic.
13
- *
14
- * Focuses only on actual backend capabilities.
15
- */
16
- export class BusinessService {
17
- constructor(private businessApi: BusinessApi) {}
18
-
19
- /**
20
- * Get all active businesses
21
- */
22
- async getActiveBusinesses(): Promise<BusinessDTO[]> {
23
- return this.businessApi.getActiveBusinesses();
24
- }
25
-
26
- /**
27
- * Get all business types
28
- */
29
- async getAllBusinessTypes(): Promise<BusinessTypeDTO[]> {
30
- return this.businessApi.getAllBusinessTypes();
31
- }
32
-
33
- /**
34
- * Get business by ID
35
- */
36
- async getBusinessById(businessId: string): Promise<BusinessDTO> {
37
- return this.businessApi.getBusinessById(businessId);
38
- }
39
-
40
- /**
41
- * Get business by account address
42
- */
43
- async getBusinessByAccount(accountAddress: string): Promise<BusinessDTO> {
44
- return this.businessApi.getBusinessByAccount(accountAddress);
45
- }
46
-
47
- /**
48
- * Get businesses by type (client-side filtering)
49
- */
50
- async getBusinessesByType(typeId: string): Promise<BusinessDTO[]> {
51
- const businesses = await this.getActiveBusinesses();
52
- return businesses.filter(business =>
53
- business.businessType && business.businessType.id === parseInt(typeId)
54
- );
55
- }
56
-
57
- // ==========================================
58
- // ADMIN OPERATIONS
59
- // ==========================================
60
-
61
- /**
62
- * ADMIN: Get all businesses (active and inactive)
63
- */
64
- async getAllBusinesses(): Promise<BusinessDTO[]> {
65
- return this.businessApi.getAllBusinesses();
66
- }
67
-
68
- /**
69
- * ADMIN: Create business by display name
70
- */
71
- async createBusinessByDisplayName(displayName: string): Promise<BusinessDTO> {
72
- return this.businessApi.createBusinessByDisplayName(displayName);
73
- }
74
-
75
- /**
76
- * ADMIN: Update business
77
- */
78
- async updateBusiness(id: string, businessData: BusinessUpdateRequestDTO): Promise<BusinessDTO> {
79
- return this.businessApi.updateBusiness(id, businessData);
80
- }
81
-
82
- /**
83
- * ADMIN: Toggle business active status
84
- */
85
- async toggleBusinessActive(id: string, isActive: boolean): Promise<BusinessDTO> {
86
- return this.businessApi.toggleBusinessActive(id, isActive);
87
- }
88
- }