@explorins/pers-sdk 1.6.47 → 2.0.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 (189) hide show
  1. package/README.md +103 -0
  2. package/dist/api-key/api/api-key-api.d.ts +5 -2
  3. package/dist/api-key/api/api-key-api.d.ts.map +1 -1
  4. package/dist/business/api/business-api.d.ts +30 -11
  5. package/dist/business/api/business-api.d.ts.map +1 -1
  6. package/dist/business/api/business-membership-api.d.ts +24 -5
  7. package/dist/business/api/business-membership-api.d.ts.map +1 -1
  8. package/dist/business/services/business-membership-service.d.ts +9 -15
  9. package/dist/business/services/business-membership-service.d.ts.map +1 -1
  10. package/dist/business/services/business-service.d.ts +11 -7
  11. package/dist/business/services/business-service.d.ts.map +1 -1
  12. package/dist/business.cjs +101 -61
  13. package/dist/business.cjs.map +1 -1
  14. package/dist/business.js +101 -61
  15. package/dist/business.js.map +1 -1
  16. package/dist/campaign/api/campaign-api.d.ts +50 -13
  17. package/dist/campaign/api/campaign-api.d.ts.map +1 -1
  18. package/dist/campaign/services/campaign-service.d.ts +13 -12
  19. package/dist/campaign/services/campaign-service.d.ts.map +1 -1
  20. package/dist/campaign.cjs +2 -1
  21. package/dist/campaign.cjs.map +1 -1
  22. package/dist/campaign.js +2 -1
  23. package/dist/campaign.js.map +1 -1
  24. package/dist/chunks/{base-token-service-BSXDwrcq.js → base-token-service-DsD6lSdq.js} +2 -48
  25. package/dist/chunks/base-token-service-DsD6lSdq.js.map +1 -0
  26. package/dist/chunks/{base-token-service-CYuqPPs0.cjs → base-token-service-_64IWVES.cjs} +2 -48
  27. package/dist/chunks/base-token-service-_64IWVES.cjs.map +1 -0
  28. package/dist/chunks/{campaign-service-D-v9ZlUB.cjs → campaign-service-Ae164xl8.cjs} +74 -46
  29. package/dist/chunks/campaign-service-Ae164xl8.cjs.map +1 -0
  30. package/dist/chunks/{campaign-service-CKwkiOLx.js → campaign-service-rlK4WeSY.js} +74 -46
  31. package/dist/chunks/campaign-service-rlK4WeSY.js.map +1 -0
  32. package/dist/chunks/{donation-service-D-xFrONi.cjs → donation-service--6cnTvWq.cjs} +9 -5
  33. package/dist/chunks/donation-service--6cnTvWq.cjs.map +1 -0
  34. package/dist/chunks/{donation-service-CyJS4DIZ.js → donation-service-xiXZ2Eto.js} +9 -5
  35. package/dist/chunks/donation-service-xiXZ2Eto.js.map +1 -0
  36. package/dist/chunks/pagination-utils-9vQ-Npkr.js +166 -0
  37. package/dist/chunks/pagination-utils-9vQ-Npkr.js.map +1 -0
  38. package/dist/chunks/pagination-utils-B2jRHMSO.cjs +173 -0
  39. package/dist/chunks/pagination-utils-B2jRHMSO.cjs.map +1 -0
  40. package/dist/chunks/{pers-sdk-DULFjOW2.cjs → pers-sdk-CrffRkya.cjs} +242 -234
  41. package/dist/chunks/pers-sdk-CrffRkya.cjs.map +1 -0
  42. package/dist/chunks/{pers-sdk-VmeBqUEP.js → pers-sdk-omI-Fl0m.js} +236 -228
  43. package/dist/chunks/pers-sdk-omI-Fl0m.js.map +1 -0
  44. package/dist/chunks/{token-service-CpVwC5Eb.js → token-service-Bfj6C0yz.js} +62 -30
  45. package/dist/chunks/token-service-Bfj6C0yz.js.map +1 -0
  46. package/dist/chunks/{token-service-BWScn8Qa.cjs → token-service-BlbXrxnS.cjs} +62 -30
  47. package/dist/chunks/token-service-BlbXrxnS.cjs.map +1 -0
  48. package/dist/chunks/{transaction-service-CXjTHCFu.cjs → transaction-service-BcJfyCcq.cjs} +68 -31
  49. package/dist/chunks/transaction-service-BcJfyCcq.cjs.map +1 -0
  50. package/dist/chunks/{transaction-service-B7h_4Hg3.js → transaction-service-CnOD3scu.js} +68 -31
  51. package/dist/chunks/transaction-service-CnOD3scu.js.map +1 -0
  52. package/dist/chunks/{user-service-doT5vsBD.js → user-service-BGP3SZpk.js} +24 -12
  53. package/dist/chunks/user-service-BGP3SZpk.js.map +1 -0
  54. package/dist/chunks/{user-service-B89wBOV1.cjs → user-service-gITOx4qj.cjs} +24 -12
  55. package/dist/chunks/user-service-gITOx4qj.cjs.map +1 -0
  56. package/dist/core.cjs +10 -9
  57. package/dist/core.cjs.map +1 -1
  58. package/dist/core.js +10 -9
  59. package/dist/core.js.map +1 -1
  60. package/dist/donation/api/donation-api.d.ts +3 -1
  61. package/dist/donation/api/donation-api.d.ts.map +1 -1
  62. package/dist/donation/services/donation-service.d.ts +3 -1
  63. package/dist/donation/services/donation-service.d.ts.map +1 -1
  64. package/dist/donation.cjs +2 -1
  65. package/dist/donation.cjs.map +1 -1
  66. package/dist/donation.js +2 -1
  67. package/dist/donation.js.map +1 -1
  68. package/dist/index.cjs +23 -16
  69. package/dist/index.cjs.map +1 -1
  70. package/dist/index.js +11 -10
  71. package/dist/index.js.map +1 -1
  72. package/dist/managers/analytics-manager.d.ts +9 -9
  73. package/dist/managers/api-key-manager.d.ts +8 -6
  74. package/dist/managers/api-key-manager.d.ts.map +1 -1
  75. package/dist/managers/business-manager.d.ts +9 -7
  76. package/dist/managers/business-manager.d.ts.map +1 -1
  77. package/dist/managers/campaign-manager.d.ts +21 -20
  78. package/dist/managers/campaign-manager.d.ts.map +1 -1
  79. package/dist/managers/donation-manager.d.ts +4 -2
  80. package/dist/managers/donation-manager.d.ts.map +1 -1
  81. package/dist/managers/file-manager.d.ts +2 -2
  82. package/dist/managers/purchase-manager.d.ts +26 -24
  83. package/dist/managers/purchase-manager.d.ts.map +1 -1
  84. package/dist/managers/redemption-manager.d.ts +103 -91
  85. package/dist/managers/redemption-manager.d.ts.map +1 -1
  86. package/dist/managers/tenant-manager.d.ts +5 -2
  87. package/dist/managers/tenant-manager.d.ts.map +1 -1
  88. package/dist/managers/token-manager.d.ts +6 -4
  89. package/dist/managers/token-manager.d.ts.map +1 -1
  90. package/dist/managers/transaction-manager.d.ts +18 -17
  91. package/dist/managers/transaction-manager.d.ts.map +1 -1
  92. package/dist/managers/user-manager.d.ts +4 -2
  93. package/dist/managers/user-manager.d.ts.map +1 -1
  94. package/dist/managers/user-status-manager.d.ts +6 -4
  95. package/dist/managers/user-status-manager.d.ts.map +1 -1
  96. package/dist/package.json +1 -1
  97. package/dist/payment/api/payment-api.d.ts +15 -18
  98. package/dist/payment/api/payment-api.d.ts.map +1 -1
  99. package/dist/payment/services/payment-service.d.ts +6 -4
  100. package/dist/payment/services/payment-service.d.ts.map +1 -1
  101. package/dist/payment.cjs +219 -15
  102. package/dist/payment.cjs.map +1 -1
  103. package/dist/payment.js +209 -1
  104. package/dist/payment.js.map +1 -1
  105. package/dist/redemption/api/redemption-api.d.ts +22 -11
  106. package/dist/redemption/api/redemption-api.d.ts.map +1 -1
  107. package/dist/redemption/services/redemption-service.d.ts +11 -9
  108. package/dist/redemption/services/redemption-service.d.ts.map +1 -1
  109. package/dist/redemption.cjs +347 -15
  110. package/dist/redemption.cjs.map +1 -1
  111. package/dist/redemption.js +337 -1
  112. package/dist/redemption.js.map +1 -1
  113. package/dist/shared/index.d.ts +1 -0
  114. package/dist/shared/index.d.ts.map +1 -1
  115. package/dist/shared/utils/pagination-utils.d.ts +184 -0
  116. package/dist/shared/utils/pagination-utils.d.ts.map +1 -0
  117. package/dist/tenant/api/tenant-api.d.ts +6 -1
  118. package/dist/tenant/api/tenant-api.d.ts.map +1 -1
  119. package/dist/tenant/services/tenant-service.d.ts +5 -2
  120. package/dist/tenant/services/tenant-service.d.ts.map +1 -1
  121. package/dist/tenant.cjs +171 -15
  122. package/dist/tenant.cjs.map +1 -1
  123. package/dist/tenant.js +161 -1
  124. package/dist/tenant.js.map +1 -1
  125. package/dist/token/api/token-api.d.ts +24 -7
  126. package/dist/token/api/token-api.d.ts.map +1 -1
  127. package/dist/token/base/base-token-service.d.ts +5 -4
  128. package/dist/token/base/base-token-service.d.ts.map +1 -1
  129. package/dist/token/services/token-service.d.ts +10 -8
  130. package/dist/token/services/token-service.d.ts.map +1 -1
  131. package/dist/token/token-sdk.d.ts +5 -34
  132. package/dist/token/token-sdk.d.ts.map +1 -1
  133. package/dist/token.cjs +3 -2
  134. package/dist/token.cjs.map +1 -1
  135. package/dist/token.js +3 -2
  136. package/dist/token.js.map +1 -1
  137. package/dist/transaction/api/transaction-api.d.ts +48 -6
  138. package/dist/transaction/api/transaction-api.d.ts.map +1 -1
  139. package/dist/transaction/services/transaction-service.d.ts +12 -4
  140. package/dist/transaction/services/transaction-service.d.ts.map +1 -1
  141. package/dist/transaction.cjs +2 -1
  142. package/dist/transaction.cjs.map +1 -1
  143. package/dist/transaction.js +2 -1
  144. package/dist/transaction.js.map +1 -1
  145. package/dist/user/api/user-api.d.ts +4 -2
  146. package/dist/user/api/user-api.d.ts.map +1 -1
  147. package/dist/user/services/user-service.d.ts +4 -2
  148. package/dist/user/services/user-service.d.ts.map +1 -1
  149. package/dist/user-status/api/user-status-api.d.ts +6 -4
  150. package/dist/user-status/api/user-status-api.d.ts.map +1 -1
  151. package/dist/user-status/index.d.ts +4 -2
  152. package/dist/user-status/index.d.ts.map +1 -1
  153. package/dist/user-status/services/user-status-service.d.ts +4 -2
  154. package/dist/user-status/services/user-status-service.d.ts.map +1 -1
  155. package/dist/user-status.cjs +22 -14
  156. package/dist/user-status.cjs.map +1 -1
  157. package/dist/user-status.js +22 -14
  158. package/dist/user-status.js.map +1 -1
  159. package/dist/user.cjs +2 -1
  160. package/dist/user.cjs.map +1 -1
  161. package/dist/user.js +2 -1
  162. package/dist/user.js.map +1 -1
  163. package/package.json +1 -1
  164. package/dist/chunks/base-token-service-BSXDwrcq.js.map +0 -1
  165. package/dist/chunks/base-token-service-CYuqPPs0.cjs.map +0 -1
  166. package/dist/chunks/campaign-service-CKwkiOLx.js.map +0 -1
  167. package/dist/chunks/campaign-service-D-v9ZlUB.cjs.map +0 -1
  168. package/dist/chunks/donation-service-CyJS4DIZ.js.map +0 -1
  169. package/dist/chunks/donation-service-D-xFrONi.cjs.map +0 -1
  170. package/dist/chunks/payment-service-B4qx0qiE.cjs +0 -220
  171. package/dist/chunks/payment-service-B4qx0qiE.cjs.map +0 -1
  172. package/dist/chunks/payment-service-DfCBFosx.js +0 -217
  173. package/dist/chunks/payment-service-DfCBFosx.js.map +0 -1
  174. package/dist/chunks/pers-sdk-DULFjOW2.cjs.map +0 -1
  175. package/dist/chunks/pers-sdk-VmeBqUEP.js.map +0 -1
  176. package/dist/chunks/redemption-service-7qbeQxEM.cjs +0 -330
  177. package/dist/chunks/redemption-service-7qbeQxEM.cjs.map +0 -1
  178. package/dist/chunks/redemption-service-BT0J5Iy7.js +0 -327
  179. package/dist/chunks/redemption-service-BT0J5Iy7.js.map +0 -1
  180. package/dist/chunks/tenant-service-DME24vr1.cjs +0 -157
  181. package/dist/chunks/tenant-service-DME24vr1.cjs.map +0 -1
  182. package/dist/chunks/tenant-service-DxtHAlaa.js +0 -154
  183. package/dist/chunks/tenant-service-DxtHAlaa.js.map +0 -1
  184. package/dist/chunks/token-service-BWScn8Qa.cjs.map +0 -1
  185. package/dist/chunks/token-service-CpVwC5Eb.js.map +0 -1
  186. package/dist/chunks/transaction-service-B7h_4Hg3.js.map +0 -1
  187. package/dist/chunks/transaction-service-CXjTHCFu.cjs.map +0 -1
  188. package/dist/chunks/user-service-B89wBOV1.cjs.map +0 -1
  189. package/dist/chunks/user-service-doT5vsBD.js.map +0 -1
package/README.md CHANGED
@@ -29,6 +29,7 @@ Platform-agnostic TypeScript SDK for PERS (Phygital Experience Rewards System) -
29
29
  - [Error Handling](#error-handling)
30
30
  - [Bundle Size](#bundle-size)
31
31
  - [TypeScript Types](#typescript-types)
32
+ - [Migration Guide](#migration-guide)
32
33
  - [Documentation](#documentation)
33
34
  - [Related Packages](#related-packages)
34
35
  - [License](#license)
@@ -1010,6 +1011,108 @@ const claim = await sdk.campaigns.claimCampaign(claimRequest);
1010
1011
 
1011
1012
  ---
1012
1013
 
1014
+ ## Migration Guide
1015
+
1016
+ ### v2.0.0 Breaking Changes - Pagination
1017
+
1018
+ **Version 2.0.0 introduces standardized pagination** across all list endpoints. Previously, endpoints returned raw arrays. Now they return `PaginatedResponseDTO<T>` with pagination metadata.
1019
+
1020
+ #### What Changed
1021
+
1022
+ All methods returning lists now return paginated responses:
1023
+
1024
+ ```typescript
1025
+ // ❌ OLD (v1.x) - Direct array
1026
+ const businesses: BusinessDTO[] = await sdk.businesses.getActiveBusinesses();
1027
+
1028
+ // ✅ NEW (v2.x) - Paginated response
1029
+ const response: PaginatedResponseDTO<BusinessDTO> = await sdk.businesses.getActiveBusinesses();
1030
+ const businesses: BusinessDTO[] = response.data;
1031
+ ```
1032
+
1033
+ #### Affected Methods
1034
+
1035
+ | Manager | Method | Return Type |
1036
+ |---------|--------|-------------|
1037
+ | `businesses` | `getActiveBusinesses()` | `PaginatedResponseDTO<BusinessDTO>` |
1038
+ | `businesses` | `getBusinessTypes()` | `PaginatedResponseDTO<BusinessTypeDTO>` |
1039
+ | `campaigns` | `getActiveCampaigns()` | `PaginatedResponseDTO<CampaignDTO>` |
1040
+ | `campaigns` | `getUserClaims()` | `PaginatedResponseDTO<CampaignClaimDTO>` |
1041
+ | `tokens` | `getTokens()` | `PaginatedResponseDTO<TokenDTO>` |
1042
+ | `tokens` | `getRewardTokens()` | `PaginatedResponseDTO<TokenDTO>` |
1043
+ | `tokens` | `getStatusTokens()` | `PaginatedResponseDTO<TokenDTO>` |
1044
+ | `redemptions` | `getRedemptions()` | `PaginatedResponseDTO<RedemptionDTO>` |
1045
+ | `redemptions` | `getUserRedemptions()` | `PaginatedResponseDTO<RedemptionDTO>` |
1046
+ | `transactions` | `getTransactionHistory()` | `PaginatedResponseDTO<TransactionDTO>` |
1047
+ | `purchases` | `getAllUserPurchases()` | `PaginatedResponseDTO<PurchaseDTO>` |
1048
+ | `purchases` | `getActivePurchaseTokens()` | `PaginatedResponseDTO<PurchaseTokenDTO>` |
1049
+ | `donations` | `getDonationTypes()` | `PaginatedResponseDTO<DonationTypeDTO>` |
1050
+
1051
+ #### PaginatedResponseDTO Structure
1052
+
1053
+ ```typescript
1054
+ import type { PaginatedResponseDTO } from '@explorins/pers-shared';
1055
+
1056
+ interface PaginatedResponseDTO<T> {
1057
+ data: T[]; // Array of results
1058
+ pagination: {
1059
+ currentPage: number; // Current page number (1-indexed)
1060
+ pageSize: number; // Items per page
1061
+ totalItems: number; // Total number of items across all pages
1062
+ totalPages: number; // Total number of pages
1063
+ };
1064
+ }
1065
+ ```
1066
+
1067
+ #### Migration Examples
1068
+
1069
+ **Before (v1.x):**
1070
+ ```typescript
1071
+ const businesses = await sdk.businesses.getActiveBusinesses();
1072
+ console.log('Business count:', businesses.length);
1073
+ businesses.forEach(b => console.log(b.name));
1074
+ ```
1075
+
1076
+ **After (v2.x):**
1077
+ ```typescript
1078
+ const response = await sdk.businesses.getActiveBusinesses();
1079
+ console.log('Business count:', response.data.length);
1080
+ console.log('Total businesses:', response.pagination.totalItems);
1081
+ response.data.forEach(b => console.log(b.name));
1082
+ ```
1083
+
1084
+ **With Pagination Parameters:**
1085
+ ```typescript
1086
+ // Fetch page 2 with 20 items per page
1087
+ const response = await sdk.businesses.getActiveBusinesses({
1088
+ page: 2,
1089
+ pageSize: 20
1090
+ });
1091
+
1092
+ console.log(`Page ${response.pagination.currentPage} of ${response.pagination.totalPages}`);
1093
+ console.log(`Showing ${response.data.length} businesses`);
1094
+ ```
1095
+
1096
+ #### Quick Fix for Existing Code
1097
+
1098
+ If you want minimal code changes, extract `.data` immediately:
1099
+
1100
+ ```typescript
1101
+ // Quick adaptation
1102
+ const businesses = (await sdk.businesses.getActiveBusinesses()).data;
1103
+ const campaigns = (await sdk.campaigns.getActiveCampaigns()).data;
1104
+ const tokens = (await sdk.tokens.getTokens()).data;
1105
+ ```
1106
+
1107
+ #### Benefits of Pagination
1108
+
1109
+ - **Performance**: Load only what you need, not entire datasets
1110
+ - **Consistency**: All list endpoints follow the same pattern
1111
+ - **Metadata**: Access total counts without loading all items
1112
+ - **UX**: Build proper pagination UI components
1113
+
1114
+ ---
1115
+
1013
1116
  ## Documentation
1014
1117
 
1015
1118
  - **Getting Started Guide**: [https://docs.pers.ninja/1.intro](https://docs.pers.ninja/1.intro)
@@ -1,5 +1,7 @@
1
1
  import { PersApiClient } from '../../core/pers-api-client';
2
2
  import { ApiKeyDTO, ApiKeyCreatedDTO, ApiKeyRequestDTO, ApiKeyVerificationDTO, IntegrationApiKeyType } from '../../shared/interfaces/pers-shared-lib.interfaces';
3
+ import { PaginatedResponseDTO } from '@explorins/pers-shared';
4
+ import { PaginationOptions } from '../../shared';
3
5
  /**
4
6
  * Platform-Agnostic API Key API Client
5
7
  *
@@ -15,9 +17,10 @@ export declare class ApiKeyApi {
15
17
  *
16
18
  * @param type Optional filter by integration API key type (database-stored tokens that can be revoked)
17
19
  * @param includeRevoked Include revoked API keys in results (default: false)
18
- * @returns Array of API keys for the current tenant
20
+ * @param options Pagination options (page, limit, sortBy, sortOrder)
21
+ * @returns Paginated response with API keys for the current tenant
19
22
  */
20
- getTenantApiKeys(type?: IntegrationApiKeyType, includeRevoked?: boolean): Promise<ApiKeyDTO[]>;
23
+ getTenantApiKeys(type?: IntegrationApiKeyType, includeRevoked?: boolean, options?: PaginationOptions): Promise<PaginatedResponseDTO<ApiKeyDTO>>;
21
24
  /**
22
25
  * ADMIN: Create new API key
23
26
  *
@@ -1 +1 @@
1
- {"version":3,"file":"api-key-api.d.ts","sourceRoot":"","sources":["../../../src/api-key/api/api-key-api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EACL,SAAS,EACT,gBAAgB,EAChB,gBAAgB,EAChB,qBAAqB,EACrB,qBAAqB,EACtB,MAAM,oDAAoD,CAAC;AAE5D;;;;;GAKG;AACH,qBAAa,SAAS;IAGR,OAAO,CAAC,SAAS;IAF7B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAe;gBAEpB,SAAS,EAAE,aAAa;IAE5C;;;;;;OAMG;IACG,gBAAgB,CAAC,IAAI,CAAC,EAAE,qBAAqB,EAAE,cAAc,GAAE,OAAe,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IAW3G;;;;;OAKG;IACG,YAAY,CAAC,GAAG,EAAE,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAIpE;;;;;OAKG;IACG,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,CAAC;CAGrE"}
1
+ {"version":3,"file":"api-key-api.d.ts","sourceRoot":"","sources":["../../../src/api-key/api/api-key-api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EACL,SAAS,EACT,gBAAgB,EAChB,gBAAgB,EAChB,qBAAqB,EACrB,qBAAqB,EACtB,MAAM,oDAAoD,CAAC;AAC5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAA6D,MAAM,cAAc,CAAC;AAE5G;;;;;GAKG;AACH,qBAAa,SAAS;IAGR,OAAO,CAAC,SAAS;IAF7B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAe;gBAEpB,SAAS,EAAE,aAAa;IAE5C;;;;;;;OAOG;IACG,gBAAgB,CAAC,IAAI,CAAC,EAAE,qBAAqB,EAAE,cAAc,GAAE,OAAe,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC;IAS5J;;;;;OAKG;IACG,YAAY,CAAC,GAAG,EAAE,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAIpE;;;;;OAKG;IACG,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,CAAC;CAGrE"}
@@ -1,5 +1,7 @@
1
1
  import { PersApiClient } from '../../core/pers-api-client';
2
2
  import { BusinessDTO, BusinessTypeDTO, BusinessUpdateRequestDTO, BusinessCreateRequestDTO, BusinessToggleActiveRequestDTO, BusinessApiKeyDTO, BusinessTokenBalancesDTO, BusinessTypeCreateRequestDTO } from '../../shared/interfaces/pers-shared-lib.interfaces';
3
+ import { PaginationOptions } from '../../shared/utils/pagination-utils';
4
+ import { PaginatedResponseDTO, SortOrder } from '@explorins/pers-shared';
3
5
  /**
4
6
  * Platform-Agnostic Business API Client
5
7
  *
@@ -17,8 +19,11 @@ export declare class BusinessApi {
17
19
  *
18
20
  * Endpoint: GET /business-types
19
21
  * Auth: @ApiSecurity('projectKey')
22
+ *
23
+ * @param options Pagination options (page, limit, sortBy, sortOrder)
24
+ * @returns Paginated response with business types
20
25
  */
21
- getBusinessTypes(): Promise<BusinessTypeDTO[]>;
26
+ getBusinessTypes(options?: PaginationOptions): Promise<PaginatedResponseDTO<BusinessTypeDTO>>;
22
27
  /**
23
28
  * ADMIN: Create business type
24
29
  *
@@ -48,25 +53,39 @@ export declare class BusinessApi {
48
53
  */
49
54
  getCurrentBusiness(): Promise<BusinessTokenBalancesDTO>;
50
55
  /**
51
- * Get all businesses with role-based filtering
56
+ * Get all businesses with role-based filtering and pagination
52
57
  *
53
- * Endpoint: GET /businesses?active={boolean}&sanitize={mode}
58
+ * Endpoint: GET /businesses?active={boolean}&sanitize={mode}&page={number}&limit={number}
54
59
  * Auth: @ApiSecurity('projectKey') (enhanced with role-based filtering)
60
+ *
55
61
  * Note:
56
62
  * - Project API Key users: Active businesses only (automatically filtered)
57
63
  * - Admin JWT users: Full access with all query parameters
64
+ *
65
+ * @param options - Filter and pagination options
66
+ * @returns Paginated list of businesses
67
+ *
68
+ * @example
69
+ * ```typescript
70
+ * // Get first page of active businesses
71
+ * const page1 = await businessApi.getBusinesses({ active: true });
72
+ *
73
+ * // Get all businesses (admin only) with pagination
74
+ * const page2 = await businessApi.getBusinesses({
75
+ * page: 2,
76
+ * limit: 25,
77
+ * sanitize: 'soft'
78
+ * });
79
+ * ```
58
80
  */
59
81
  getBusinesses(options?: {
60
82
  active?: boolean;
61
83
  sanitize?: 'soft' | 'hard';
62
- }): Promise<BusinessDTO[]>;
63
- /**
64
- * Get all active businesses (convenience method)
65
- *
66
- * Endpoint: GET /businesses
67
- * Auth: @ApiSecurity('projectKey')
68
- */
69
- getActiveBusinesses(): Promise<BusinessDTO[]>;
84
+ page?: number;
85
+ limit?: number;
86
+ sortBy?: string;
87
+ sortOrder?: SortOrder;
88
+ }): Promise<PaginatedResponseDTO<BusinessDTO>>;
70
89
  /**
71
90
  * Get business by ID
72
91
  *
@@ -1 +1 @@
1
- {"version":3,"file":"business-api.d.ts","sourceRoot":"","sources":["../../../src/business/api/business-api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EACL,WAAW,EACX,eAAe,EACf,wBAAwB,EACxB,wBAAwB,EACxB,8BAA8B,EAC9B,iBAAiB,EACjB,wBAAwB,EACxB,4BAA4B,EAC7B,MAAM,oDAAoD,CAAC;AAE5D;;;;;;GAMG;AACH,qBAAa,WAAW;IACV,OAAO,CAAC,SAAS;gBAAT,SAAS,EAAE,aAAa;IAE5C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAiB;IAC1C,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAuB;IAMzD;;;;;OAKG;IACG,gBAAgB,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;IAIpD;;;;;OAKG;IACG,kBAAkB,CAAC,GAAG,EAAE,4BAA4B,GAAG,OAAO,CAAC,eAAe,CAAC;IAIrF;;;;;OAKG;IACG,kBAAkB,CAAC,GAAG,EAAE,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC;IAIxE;;;;;OAKG;IACG,kBAAkB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAQtD;;;;;OAKG;IACG,kBAAkB,IAAI,OAAO,CAAC,wBAAwB,CAAC;IAI7D;;;;;;;;OAQG;IACG,aAAa,CAAC,OAAO,CAAC,EAAE;QAC5B,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;KAC5B,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAiB1B;;;;;OAKG;IACG,mBAAmB,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;IAInD;;;;;OAKG;IACG,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAI/D;;;;;OAKG;IACG,oBAAoB,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAQxE;;;;;;OAMG;IACG,cAAc,CAAC,GAAG,EAAE,wBAAwB,GAAG,OAAO,CAAC,iBAAiB,GAAG,wBAAwB,CAAC;IAI1G;;OAEG;IACG,2BAA2B,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,GAAG,wBAAwB,CAAC;IAQ7G;;;;;OAKG;IACG,uBAAuB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAIlE;;;;;OAKG;IACG,cAAc,CAAC,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE,wBAAwB,GAAG,OAAO,CAAC,WAAW,CAAC;IAI9F;;;;;OAKG;IACG,oBAAoB,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,8BAA8B,GAAG,OAAO,CAAC,WAAW,CAAC;CAiBlG"}
1
+ {"version":3,"file":"business-api.d.ts","sourceRoot":"","sources":["../../../src/business/api/business-api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EACL,WAAW,EACX,eAAe,EACf,wBAAwB,EACxB,wBAAwB,EACxB,8BAA8B,EAC9B,iBAAiB,EACjB,wBAAwB,EACxB,4BAA4B,EAC7B,MAAM,oDAAoD,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAA6D,MAAM,qCAAqC,CAAC;AACnI,OAAO,EAAE,oBAAoB,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAEzE;;;;;;GAMG;AACH,qBAAa,WAAW;IACV,OAAO,CAAC,SAAS;gBAAT,SAAS,EAAE,aAAa;IAE5C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAiB;IAC1C,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAuB;IAMzD;;;;;;;;OAQG;IACG,gBAAgB,CAAC,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,oBAAoB,CAAC,eAAe,CAAC,CAAC;IAMnG;;;;;OAKG;IACG,kBAAkB,CAAC,GAAG,EAAE,4BAA4B,GAAG,OAAO,CAAC,eAAe,CAAC;IAIrF;;;;;OAKG;IACG,kBAAkB,CAAC,GAAG,EAAE,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC;IAIxE;;;;;OAKG;IACG,kBAAkB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAQtD;;;;;OAKG;IACG,kBAAkB,IAAI,OAAO,CAAC,wBAAwB,CAAC;IAI7D;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACG,aAAa,CAAC,OAAO,CAAC,EAAE;QAC5B,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;QAC3B,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,SAAS,CAAC,EAAE,SAAS,CAAC;KACvB,GAAG,OAAO,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAC;IAkB9C;;;;;OAKG;IACG,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAI/D;;;;;OAKG;IACG,oBAAoB,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAQxE;;;;;;OAMG;IACG,cAAc,CAAC,GAAG,EAAE,wBAAwB,GAAG,OAAO,CAAC,iBAAiB,GAAG,wBAAwB,CAAC;IAI1G;;OAEG;IACG,2BAA2B,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,GAAG,wBAAwB,CAAC;IAQ7G;;;;;OAKG;IACG,uBAAuB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAIlE;;;;;OAKG;IACG,cAAc,CAAC,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE,wBAAwB,GAAG,OAAO,CAAC,WAAW,CAAC;IAI9F;;;;;OAKG;IACG,oBAAoB,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,8BAA8B,GAAG,OAAO,CAAC,WAAW,CAAC;CAiBlG"}
@@ -1,5 +1,6 @@
1
1
  import { PersApiClient } from '../../core/pers-api-client';
2
2
  import { BusinessMembershipDTO, AddBusinessMemberRequestDTO, UpdateBusinessMembershipRequestDTO, MembershipRole } from '../../shared/interfaces/pers-shared-lib.interfaces';
3
+ import { PaginatedResponseDTO, SortOrder } from '@explorins/pers-shared';
3
4
  /**
4
5
  * Business Membership API Client
5
6
  *
@@ -40,24 +41,42 @@ export declare class BusinessMembershipApi {
40
41
  */
41
42
  private getMemberPath;
42
43
  /**
43
- * List all members of a business
44
+ * List all members of a business with pagination
44
45
  *
45
46
  * Endpoint: GET /businesses/:businessId/members
46
47
  * Min Role: VIEWER (any member can view)
47
48
  *
48
49
  * @param businessId - The business UUID
49
- * @returns Array of business memberships with user and role details
50
+ * @param options - Pagination and filter options
51
+ * @returns Paginated array of business memberships with user and role details
50
52
  *
51
53
  * @throws {AuthenticationError} 401 - Not authenticated
52
54
  * @throws {PersApiError} 403 - businessId in path doesn't match JWT's business
53
55
  *
54
56
  * @example
55
57
  * ```typescript
56
- * const members = await membershipApi.getMembers('business-123');
57
- * members.forEach(m => console.log(`${m.userId}: ${m.role}`));
58
+ * // Get first page of members
59
+ * const page1 = await membershipApi.getMembers('business-123');
60
+ * page1.data.forEach(m => console.log(`${m.userId}: ${m.role}`));
61
+ *
62
+ * // Filter by role
63
+ * const admins = await membershipApi.getMembers('business-123', {
64
+ * role: MembershipRole.ADMIN,
65
+ * page: 1,
66
+ * limit: 50
67
+ * });
68
+ *
69
+ * // Paginate through all members
70
+ * const page2 = await membershipApi.getMembers('business-123', { page: 2 });
58
71
  * ```
59
72
  */
60
- getMembers(businessId: string): Promise<BusinessMembershipDTO[]>;
73
+ getMembers(businessId: string, options?: {
74
+ page?: number;
75
+ limit?: number;
76
+ role?: MembershipRole;
77
+ sortBy?: string;
78
+ sortOrder?: SortOrder;
79
+ }): Promise<PaginatedResponseDTO<BusinessMembershipDTO>>;
61
80
  /**
62
81
  * Add a member to a business
63
82
  *
@@ -1 +1 @@
1
- {"version":3,"file":"business-membership-api.d.ts","sourceRoot":"","sources":["../../../src/business/api/business-membership-api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EACL,qBAAqB,EACrB,2BAA2B,EAC3B,kCAAkC,EAClC,cAAc,EACf,MAAM,oDAAoD,CAAC;AAE5D;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,qBAAa,qBAAqB;IACpB,OAAO,CAAC,SAAS;gBAAT,SAAS,EAAE,aAAa;IAE5C;;OAEG;IACH,OAAO,CAAC,cAAc;IAItB;;OAEG;IACH,OAAO,CAAC,aAAa;IAQrB;;;;;;;;;;;;;;;;;OAiBG;IACG,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,EAAE,CAAC;IAUtE;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACG,SAAS,CACb,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,2BAA2B,GACnC,OAAO,CAAC,qBAAqB,CAAC;IAOjC;;;;;;;;;;;;;;;;;;OAkBG;IACG,iBAAiB,CACrB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,EACd,IAAI,GAAE,cAAsC,GAC3C,OAAO,CAAC,qBAAqB,CAAC;IAQjC;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BG;IACG,gBAAgB,CACpB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,kCAAkC,GAC1C,OAAO,CAAC,qBAAqB,CAAC;IAOjC;;;;;;;;;;;;;;;;;;OAkBG;IACG,aAAa,CACjB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,cAAc,GACnB,OAAO,CAAC,qBAAqB,CAAC;IAQjC;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;IACG,YAAY,CAChB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC;CAKjC"}
1
+ {"version":3,"file":"business-membership-api.d.ts","sourceRoot":"","sources":["../../../src/business/api/business-membership-api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EACL,qBAAqB,EACrB,2BAA2B,EAC3B,kCAAkC,EAClC,cAAc,EACf,MAAM,oDAAoD,CAAC;AAE5D,OAAO,EAAE,oBAAoB,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAEzE;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,qBAAa,qBAAqB;IACpB,OAAO,CAAC,SAAS;gBAAT,SAAS,EAAE,aAAa;IAE5C;;OAEG;IACH,OAAO,CAAC,cAAc;IAItB;;OAEG;IACH,OAAO,CAAC,aAAa;IAQrB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6BG;IACG,UAAU,CACd,UAAU,EAAE,MAAM,EAClB,OAAO,CAAC,EAAE;QACR,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,IAAI,CAAC,EAAE,cAAc,CAAC;QACtB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,SAAS,CAAC,EAAE,SAAS,CAAC;KACvB,GACA,OAAO,CAAC,oBAAoB,CAAC,qBAAqB,CAAC,CAAC;IAkBvD;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACG,SAAS,CACb,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,2BAA2B,GACnC,OAAO,CAAC,qBAAqB,CAAC;IAOjC;;;;;;;;;;;;;;;;;;OAkBG;IACG,iBAAiB,CACrB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,EACd,IAAI,GAAE,cAAsC,GAC3C,OAAO,CAAC,qBAAqB,CAAC;IAQjC;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BG;IACG,gBAAgB,CACpB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,kCAAkC,GAC1C,OAAO,CAAC,qBAAqB,CAAC;IAOjC;;;;;;;;;;;;;;;;;;OAkBG;IACG,aAAa,CACjB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,cAAc,GACnB,OAAO,CAAC,qBAAqB,CAAC;IAQjC;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;IACG,YAAY,CAChB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC;CAKjC"}
@@ -1,5 +1,7 @@
1
+ import { PaginatedResponseDTO } from '@explorins/pers-shared';
1
2
  import { BusinessMembershipApi } from '../api/business-membership-api';
2
3
  import { BusinessMembershipDTO, MembershipRole } from '../../shared/interfaces/pers-shared-lib.interfaces';
4
+ import { PaginationOptions } from '../../shared/utils/pagination-utils';
3
5
  /**
4
6
  * Business Membership Service
5
7
  *
@@ -24,26 +26,18 @@ export declare class BusinessMembershipService {
24
26
  private membershipApi;
25
27
  constructor(membershipApi: BusinessMembershipApi);
26
28
  /**
27
- * Get all members of a business
29
+ * Get all members of a business with pagination
28
30
  *
29
31
  * @param businessId - The business UUID
30
- * @returns Array of business memberships
32
+ * @param options - Pagination options
33
+ * @returns Paginated response with business memberships
31
34
  */
32
- getMembers(businessId: string): Promise<BusinessMembershipDTO[]>;
35
+ getMembers(businessId: string, options?: PaginationOptions): Promise<PaginatedResponseDTO<BusinessMembershipDTO>>;
33
36
  /**
34
- * Get members filtered by role
35
- *
36
- * @param businessId - The business UUID
37
- * @param role - The role to filter by
38
- * @returns Array of memberships with the specified role
39
- *
40
- * @example
41
- * ```typescript
42
- * const owners = await service.getMembersByRole('biz-123', MembershipRole.OWNER);
43
- * const adminsAndAbove = await service.getMembersWithMinRole('biz-123', MembershipRole.ADMIN);
44
- * ```
37
+ * Get members filtered by role (client-side filtering)
38
+ * @deprecated Consider server-side role filtering for better performance
45
39
  */
46
- getMembersByRole(businessId: string, role: MembershipRole): Promise<BusinessMembershipDTO[]>;
40
+ getMembersByRole(businessId: string, role: MembershipRole, options?: PaginationOptions): Promise<PaginatedResponseDTO<BusinessMembershipDTO>>;
47
41
  /**
48
42
  * Get members with at least a minimum role level
49
43
  *
@@ -1 +1 @@
1
- {"version":3,"file":"business-membership-service.d.ts","sourceRoot":"","sources":["../../../src/business/services/business-membership-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AACvE,OAAO,EACL,qBAAqB,EACrB,cAAc,EAEf,MAAM,oDAAoD,CAAC;AAE5D;;;;;;;;;;;;;;;;;;;GAmBG;AACH,qBAAa,yBAAyB;IACxB,OAAO,CAAC,aAAa;gBAAb,aAAa,EAAE,qBAAqB;IAMxD;;;;;OAKG;IACG,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,EAAE,CAAC;IAItE;;;;;;;;;;;;OAYG;IACG,gBAAgB,CACpB,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,cAAc,GACnB,OAAO,CAAC,qBAAqB,EAAE,CAAC;IAKnC;;;;;;;;;;;;;;OAcG;IACG,qBAAqB,CACzB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,cAAc,GACtB,OAAO,CAAC,qBAAqB,EAAE,CAAC;IAKnC;;;;;;OAMG;IACG,iBAAiB,CACrB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,qBAAqB,GAAG,SAAS,CAAC;IAK7C;;;;;;;;;;;OAWG;IACG,qBAAqB,CACzB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;IAuB1C;;;;;;;OAOG;IACG,SAAS,CACb,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,EACd,IAAI,GAAE,cAAsC,GAC3C,OAAO,CAAC,qBAAqB,CAAC;IAIjC;;;;;;;OAOG;IACG,gBAAgB,CACpB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,cAAc,GACtB,OAAO,CAAC,qBAAqB,CAAC;IAIjC;;;;;;OAMG;IACG,YAAY,CAChB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC;IAIhC;;;;;;;;OAQG;IACG,aAAa,CACjB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,cAAc,GACzB,OAAO,CAAC,qBAAqB,CAAC;IAejC;;;;;;;;;;OAUG;IACG,YAAY,CAChB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,cAAc,GACzB,OAAO,CAAC,qBAAqB,CAAC;IAmBjC;;OAEG;IACH,cAAc,CAAC,IAAI,EAAE,cAAc,GAAG,IAAI,GAAG,OAAO;IAIpD;;OAEG;IACH,gBAAgB,CAAC,IAAI,EAAE,cAAc,GAAG,IAAI,GAAG,OAAO;IAItD;;OAEG;IACH,cAAc,CAAC,IAAI,EAAE,cAAc,GAAG,IAAI,GAAG,OAAO;IAIpD;;OAEG;IACH,iBAAiB,CAAC,IAAI,EAAE,cAAc,GAAG,IAAI,GAAG,OAAO;IAIvD;;;;;;;;;;;;;;;;;OAiBG;IACH,cAAc,CAAC,IAAI,EAAE,cAAc,GAAG,IAAI,GAAG;QAC3C,cAAc,EAAE,OAAO,CAAC;QACxB,gBAAgB,EAAE,OAAO,CAAC;QAC1B,cAAc,EAAE,OAAO,CAAC;QACxB,iBAAiB,EAAE,OAAO,CAAC;KAC5B;IASD;;;;;;;;;OASG;IACH,aAAa,CAAC,YAAY,EAAE,cAAc,EAAE,UAAU,EAAE,cAAc,GAAG,OAAO;CASjF"}
1
+ {"version":3,"file":"business-membership-service.d.ts","sourceRoot":"","sources":["../../../src/business/services/business-membership-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AACvE,OAAO,EACL,qBAAqB,EACrB,cAAc,EAEf,MAAM,oDAAoD,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AAExE;;;;;;;;;;;;;;;;;;;GAmBG;AACH,qBAAa,yBAAyB;IACxB,OAAO,CAAC,aAAa;gBAAb,aAAa,EAAE,qBAAqB;IAMxD;;;;;;OAMG;IACG,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,oBAAoB,CAAC,qBAAqB,CAAC,CAAC;IAIvH;;;OAGG;IACG,gBAAgB,CACpB,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,cAAc,EACpB,OAAO,CAAC,EAAE,iBAAiB,GAC1B,OAAO,CAAC,oBAAoB,CAAC,qBAAqB,CAAC,CAAC;IAavD;;;;;;;;;;;;;;OAcG;IACG,qBAAqB,CACzB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,cAAc,GACtB,OAAO,CAAC,qBAAqB,EAAE,CAAC;IAKnC;;;;;;OAMG;IACG,iBAAiB,CACrB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,qBAAqB,GAAG,SAAS,CAAC;IAK7C;;;;;;;;;;;OAWG;IACG,qBAAqB,CACzB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;IAuB1C;;;;;;;OAOG;IACG,SAAS,CACb,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,EACd,IAAI,GAAE,cAAsC,GAC3C,OAAO,CAAC,qBAAqB,CAAC;IAIjC;;;;;;;OAOG;IACG,gBAAgB,CACpB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,cAAc,GACtB,OAAO,CAAC,qBAAqB,CAAC;IAIjC;;;;;;OAMG;IACG,YAAY,CAChB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC;IAIhC;;;;;;;;OAQG;IACG,aAAa,CACjB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,cAAc,GACzB,OAAO,CAAC,qBAAqB,CAAC;IAejC;;;;;;;;;;OAUG;IACG,YAAY,CAChB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,cAAc,GACzB,OAAO,CAAC,qBAAqB,CAAC;IAmBjC;;OAEG;IACH,cAAc,CAAC,IAAI,EAAE,cAAc,GAAG,IAAI,GAAG,OAAO;IAIpD;;OAEG;IACH,gBAAgB,CAAC,IAAI,EAAE,cAAc,GAAG,IAAI,GAAG,OAAO;IAItD;;OAEG;IACH,cAAc,CAAC,IAAI,EAAE,cAAc,GAAG,IAAI,GAAG,OAAO;IAIpD;;OAEG;IACH,iBAAiB,CAAC,IAAI,EAAE,cAAc,GAAG,IAAI,GAAG,OAAO;IAIvD;;;;;;;;;;;;;;;;;OAiBG;IACH,cAAc,CAAC,IAAI,EAAE,cAAc,GAAG,IAAI,GAAG;QAC3C,cAAc,EAAE,OAAO,CAAC;QACxB,gBAAgB,EAAE,OAAO,CAAC;QAC1B,cAAc,EAAE,OAAO,CAAC;QACxB,iBAAiB,EAAE,OAAO,CAAC;KAC5B;IASD;;;;;;;;;OASG;IACH,aAAa,CAAC,YAAY,EAAE,cAAc,EAAE,UAAU,EAAE,cAAc,GAAG,OAAO;CASjF"}
@@ -1,5 +1,7 @@
1
+ import { PaginatedResponseDTO } from '@explorins/pers-shared';
1
2
  import { BusinessApi } from '../api/business-api';
2
3
  import { BusinessDTO, BusinessTypeDTO, BusinessUpdateRequestDTO, BusinessToggleActiveRequestDTO, BusinessApiKeyDTO, BusinessTokenBalancesDTO } from '../../shared/interfaces/pers-shared-lib.interfaces';
4
+ import { PaginationOptions } from '../../shared/utils/pagination-utils';
3
5
  /**
4
6
  * Platform-Agnostic Business Service
5
7
  *
@@ -12,13 +14,14 @@ export declare class BusinessService {
12
14
  private businessApi;
13
15
  constructor(businessApi: BusinessApi);
14
16
  /**
15
- * Get all active businesses
17
+ * Get all active businesses with pagination
18
+ * @deprecated Use getBusinesses({ active: true }) for more control
16
19
  */
17
- getActiveBusinesses(): Promise<BusinessDTO[]>;
20
+ getActiveBusinesses(options?: PaginationOptions): Promise<PaginatedResponseDTO<BusinessDTO>>;
18
21
  /**
19
- * Get all business types
22
+ * Get all business types with pagination
20
23
  */
21
- getBusinessTypes(): Promise<BusinessTypeDTO[]>;
24
+ getBusinessTypes(options?: PaginationOptions): Promise<PaginatedResponseDTO<BusinessTypeDTO>>;
22
25
  /**
23
26
  * Get business by ID
24
27
  */
@@ -29,12 +32,13 @@ export declare class BusinessService {
29
32
  getBusinessByAccount(accountAddress: string): Promise<BusinessDTO>;
30
33
  /**
31
34
  * Get businesses by type (client-side filtering)
35
+ * @deprecated Consider implementing server-side filtering for better performance
32
36
  */
33
- getBusinessesByType(typeId: string): Promise<BusinessDTO[]>;
37
+ getBusinessesByType(typeId: string, options?: PaginationOptions): Promise<PaginatedResponseDTO<BusinessDTO>>;
34
38
  /**
35
- * ADMIN: Get all businesses (active and inactive)
39
+ * ADMIN: Get all businesses with pagination (active and inactive)
36
40
  */
37
- getBusinesses(): Promise<BusinessDTO[]>;
41
+ getBusinesses(options?: PaginationOptions): Promise<PaginatedResponseDTO<BusinessDTO>>;
38
42
  /**
39
43
  * ADMIN: Create business by display name
40
44
  */
@@ -1 +1 @@
1
- {"version":3,"file":"business-service.d.ts","sourceRoot":"","sources":["../../../src/business/services/business-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EACL,WAAW,EACX,eAAe,EACf,wBAAwB,EACxB,8BAA8B,EAC9B,iBAAiB,EACjB,wBAAwB,EACzB,MAAM,oDAAoD,CAAC;AAE5D;;;;;;;GAOG;AACH,qBAAa,eAAe;IACd,OAAO,CAAC,WAAW;gBAAX,WAAW,EAAE,WAAW;IAE5C;;OAEG;IACG,mBAAmB,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;IAInD;;OAEG;IACG,gBAAgB,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;IAIpD;;OAEG;IACG,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAI/D;;OAEG;IACG,oBAAoB,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAIxE;;OAEG;IACG,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAWjE;;OAEG;IACG,aAAa,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;IAI7C;;OAEG;IACG,2BAA2B,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,GAAG,wBAAwB,CAAC;IAI7G;;OAEG;IACG,cAAc,CAAC,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE,wBAAwB,GAAG,OAAO,CAAC,WAAW,CAAC;IAI9F;;OAEG;IACG,oBAAoB,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,8BAA8B,GAAG,OAAO,CAAC,WAAW,CAAC;CAGlG"}
1
+ {"version":3,"file":"business-service.d.ts","sourceRoot":"","sources":["../../../src/business/services/business-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EACL,WAAW,EACX,eAAe,EACf,wBAAwB,EACxB,8BAA8B,EAC9B,iBAAiB,EACjB,wBAAwB,EACzB,MAAM,oDAAoD,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AAExE;;;;;;;GAOG;AACH,qBAAa,eAAe;IACd,OAAO,CAAC,WAAW;gBAAX,WAAW,EAAE,WAAW;IAE5C;;;OAGG;IACG,mBAAmB,CAAC,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAC;IAIlG;;OAEG;IACG,gBAAgB,CAAC,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,oBAAoB,CAAC,eAAe,CAAC,CAAC;IAInG;;OAEG;IACG,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAI/D;;OAEG;IACG,oBAAoB,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAIxE;;;OAGG;IACG,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAC;IAmBlH;;OAEG;IACG,aAAa,CAAC,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAC;IAI5F;;OAEG;IACG,2BAA2B,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,GAAG,wBAAwB,CAAC;IAI7G;;OAEG;IACG,cAAc,CAAC,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE,wBAAwB,GAAG,OAAO,CAAC,WAAW,CAAC;IAI9F;;OAEG;IACG,oBAAoB,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,8BAA8B,GAAG,OAAO,CAAC,WAAW,CAAC;CAGlG"}