@explorins/pers-sdk 1.6.47 → 2.0.1

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 (190) hide show
  1. package/README.md +159 -23
  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-B_i-bGwq.cjs} +249 -235
  41. package/dist/chunks/pers-sdk-B_i-bGwq.cjs.map +1 -0
  42. package/dist/chunks/{pers-sdk-VmeBqUEP.js → pers-sdk-CyGgL8Dg.js} +243 -229
  43. package/dist/chunks/pers-sdk-CyGgL8Dg.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/managers/web3-manager.d.ts.map +1 -1
  97. package/dist/package.json +1 -1
  98. package/dist/payment/api/payment-api.d.ts +15 -18
  99. package/dist/payment/api/payment-api.d.ts.map +1 -1
  100. package/dist/payment/services/payment-service.d.ts +6 -4
  101. package/dist/payment/services/payment-service.d.ts.map +1 -1
  102. package/dist/payment.cjs +219 -15
  103. package/dist/payment.cjs.map +1 -1
  104. package/dist/payment.js +209 -1
  105. package/dist/payment.js.map +1 -1
  106. package/dist/redemption/api/redemption-api.d.ts +22 -11
  107. package/dist/redemption/api/redemption-api.d.ts.map +1 -1
  108. package/dist/redemption/services/redemption-service.d.ts +11 -9
  109. package/dist/redemption/services/redemption-service.d.ts.map +1 -1
  110. package/dist/redemption.cjs +347 -15
  111. package/dist/redemption.cjs.map +1 -1
  112. package/dist/redemption.js +337 -1
  113. package/dist/redemption.js.map +1 -1
  114. package/dist/shared/index.d.ts +1 -0
  115. package/dist/shared/index.d.ts.map +1 -1
  116. package/dist/shared/utils/pagination-utils.d.ts +184 -0
  117. package/dist/shared/utils/pagination-utils.d.ts.map +1 -0
  118. package/dist/tenant/api/tenant-api.d.ts +6 -1
  119. package/dist/tenant/api/tenant-api.d.ts.map +1 -1
  120. package/dist/tenant/services/tenant-service.d.ts +5 -2
  121. package/dist/tenant/services/tenant-service.d.ts.map +1 -1
  122. package/dist/tenant.cjs +171 -15
  123. package/dist/tenant.cjs.map +1 -1
  124. package/dist/tenant.js +161 -1
  125. package/dist/tenant.js.map +1 -1
  126. package/dist/token/api/token-api.d.ts +24 -7
  127. package/dist/token/api/token-api.d.ts.map +1 -1
  128. package/dist/token/base/base-token-service.d.ts +5 -4
  129. package/dist/token/base/base-token-service.d.ts.map +1 -1
  130. package/dist/token/services/token-service.d.ts +10 -8
  131. package/dist/token/services/token-service.d.ts.map +1 -1
  132. package/dist/token/token-sdk.d.ts +5 -34
  133. package/dist/token/token-sdk.d.ts.map +1 -1
  134. package/dist/token.cjs +3 -2
  135. package/dist/token.cjs.map +1 -1
  136. package/dist/token.js +3 -2
  137. package/dist/token.js.map +1 -1
  138. package/dist/transaction/api/transaction-api.d.ts +48 -6
  139. package/dist/transaction/api/transaction-api.d.ts.map +1 -1
  140. package/dist/transaction/services/transaction-service.d.ts +12 -4
  141. package/dist/transaction/services/transaction-service.d.ts.map +1 -1
  142. package/dist/transaction.cjs +2 -1
  143. package/dist/transaction.cjs.map +1 -1
  144. package/dist/transaction.js +2 -1
  145. package/dist/transaction.js.map +1 -1
  146. package/dist/user/api/user-api.d.ts +4 -2
  147. package/dist/user/api/user-api.d.ts.map +1 -1
  148. package/dist/user/services/user-service.d.ts +4 -2
  149. package/dist/user/services/user-service.d.ts.map +1 -1
  150. package/dist/user-status/api/user-status-api.d.ts +6 -4
  151. package/dist/user-status/api/user-status-api.d.ts.map +1 -1
  152. package/dist/user-status/index.d.ts +4 -2
  153. package/dist/user-status/index.d.ts.map +1 -1
  154. package/dist/user-status/services/user-status-service.d.ts +4 -2
  155. package/dist/user-status/services/user-status-service.d.ts.map +1 -1
  156. package/dist/user-status.cjs +22 -14
  157. package/dist/user-status.cjs.map +1 -1
  158. package/dist/user-status.js +22 -14
  159. package/dist/user-status.js.map +1 -1
  160. package/dist/user.cjs +2 -1
  161. package/dist/user.cjs.map +1 -1
  162. package/dist/user.js +2 -1
  163. package/dist/user.js.map +1 -1
  164. package/package.json +1 -1
  165. package/dist/chunks/base-token-service-BSXDwrcq.js.map +0 -1
  166. package/dist/chunks/base-token-service-CYuqPPs0.cjs.map +0 -1
  167. package/dist/chunks/campaign-service-CKwkiOLx.js.map +0 -1
  168. package/dist/chunks/campaign-service-D-v9ZlUB.cjs.map +0 -1
  169. package/dist/chunks/donation-service-CyJS4DIZ.js.map +0 -1
  170. package/dist/chunks/donation-service-D-xFrONi.cjs.map +0 -1
  171. package/dist/chunks/payment-service-B4qx0qiE.cjs +0 -220
  172. package/dist/chunks/payment-service-B4qx0qiE.cjs.map +0 -1
  173. package/dist/chunks/payment-service-DfCBFosx.js +0 -217
  174. package/dist/chunks/payment-service-DfCBFosx.js.map +0 -1
  175. package/dist/chunks/pers-sdk-DULFjOW2.cjs.map +0 -1
  176. package/dist/chunks/pers-sdk-VmeBqUEP.js.map +0 -1
  177. package/dist/chunks/redemption-service-7qbeQxEM.cjs +0 -330
  178. package/dist/chunks/redemption-service-7qbeQxEM.cjs.map +0 -1
  179. package/dist/chunks/redemption-service-BT0J5Iy7.js +0 -327
  180. package/dist/chunks/redemption-service-BT0J5Iy7.js.map +0 -1
  181. package/dist/chunks/tenant-service-DME24vr1.cjs +0 -157
  182. package/dist/chunks/tenant-service-DME24vr1.cjs.map +0 -1
  183. package/dist/chunks/tenant-service-DxtHAlaa.js +0 -154
  184. package/dist/chunks/tenant-service-DxtHAlaa.js.map +0 -1
  185. package/dist/chunks/token-service-BWScn8Qa.cjs.map +0 -1
  186. package/dist/chunks/token-service-CpVwC5Eb.js.map +0 -1
  187. package/dist/chunks/transaction-service-B7h_4Hg3.js.map +0 -1
  188. package/dist/chunks/transaction-service-CXjTHCFu.cjs.map +0 -1
  189. package/dist/chunks/user-service-B89wBOV1.cjs.map +0 -1
  190. package/dist/chunks/user-service-doT5vsBD.js.map +0 -1
package/README.md CHANGED
@@ -9,29 +9,63 @@ Platform-agnostic TypeScript SDK for PERS (Phygital Experience Rewards System) -
9
9
 
10
10
  ## Table of Contents
11
11
 
12
- - [Overview](#overview)
13
- - [Dependencies](#dependencies)
14
- - [Installation](#installation)
15
- - [Quick Start](#quick-start)
16
- - [Platform Integration](#platform-integration)
17
- - [Architecture](#architecture)
18
- - [Core Features](#core-features)
19
- - [Event System](#event-system)
20
- - [Authentication](#authentication)
21
- - [Business Management](#business-management)
22
- - [Campaign System](#campaign-system)
23
- - [Token Management](#token-management)
24
- - [User Token Balances](#user-token-balances-on-chain)
25
- - [Transaction Request Building](#transaction-request-building)
26
- - [Purchase/Payment Processing](#purchasepayment-processing)
27
- - [Configuration](#configuration)
28
- - [Advanced Authentication](#advanced-authentication)
29
- - [Error Handling](#error-handling)
30
- - [Bundle Size](#bundle-size)
31
- - [TypeScript Types](#typescript-types)
32
- - [Documentation](#documentation)
33
- - [Related Packages](#related-packages)
34
- - [License](#license)
12
+ - [@explorins/pers-sdk](#explorinspers-sdk)
13
+ - [Table of Contents](#table-of-contents)
14
+ - [Overview](#overview)
15
+ - [Dependencies](#dependencies)
16
+ - [Required Peer Dependencies](#required-peer-dependencies)
17
+ - [Optional Dependencies (Platform-Specific)](#optional-dependencies-platform-specific)
18
+ - [Direct Dependencies](#direct-dependencies)
19
+ - [Installation](#installation)
20
+ - [Quick Start](#quick-start)
21
+ - [Minimum Viable Example](#minimum-viable-example)
22
+ - [Complete Example](#complete-example)
23
+ - [Platform Integration](#platform-integration)
24
+ - [Browser / React / Vue](#browser--react--vue)
25
+ - [Angular](#angular)
26
+ - [Node.js](#nodejs)
27
+ - [React Native](#react-native)
28
+ - [Architecture](#architecture)
29
+ - [Available Managers Reference](#available-managers-reference)
30
+ - [Core Features](#core-features)
31
+ - [Event System](#event-system)
32
+ - [Event Domains](#event-domains)
33
+ - [Event Types](#event-types)
34
+ - [Async Handler Support](#async-handler-support)
35
+ - [Authentication](#authentication)
36
+ - [Business Management](#business-management)
37
+ - [Campaign System](#campaign-system)
38
+ - [Token Management](#token-management)
39
+ - [User Token Balances (On-Chain)](#user-token-balances-on-chain)
40
+ - [Points Balance (ERC-20)](#points-balance-erc-20)
41
+ - [Stamps Collection (ERC-721 / ERC-1155)](#stamps-collection-erc-721--erc-1155)
42
+ - [Complete Example: Load All User Balances](#complete-example-load-all-user-balances)
43
+ - [Transaction Request Building](#transaction-request-building)
44
+ - [POS Transaction Flow](#pos-transaction-flow)
45
+ - [Configuration](#configuration)
46
+ - [API Project Key (Required)](#api-project-key-required)
47
+ - [Full Configuration Example](#full-configuration-example)
48
+ - [Configuration Options Reference](#configuration-options-reference)
49
+ - [Advanced Authentication](#advanced-authentication)
50
+ - [Using IndexedDB Storage (Recommended)](#using-indexeddb-storage-recommended)
51
+ - [Custom Storage Implementation](#custom-storage-implementation)
52
+ - [Error Handling](#error-handling)
53
+ - [Error Types Reference](#error-types-reference)
54
+ - [Bundle Size](#bundle-size)
55
+ - [TypeScript Types](#typescript-types)
56
+ - [Key Interfaces Reference](#key-interfaces-reference)
57
+ - [Usage Example](#usage-example)
58
+ - [Migration Guide](#migration-guide)
59
+ - [v2.0.0 Breaking Changes - Pagination](#v200-breaking-changes---pagination)
60
+ - [What Changed](#what-changed)
61
+ - [Affected Methods](#affected-methods)
62
+ - [PaginatedResponseDTO Structure](#paginatedresponsedto-structure)
63
+ - [Migration Examples](#migration-examples)
64
+ - [Quick Fix for Existing Code](#quick-fix-for-existing-code)
65
+ - [Benefits of Pagination](#benefits-of-pagination)
66
+ - [Documentation](#documentation)
67
+ - [Related Packages](#related-packages)
68
+ - [License](#license)
35
69
 
36
70
  ---
37
71
 
@@ -1010,6 +1044,108 @@ const claim = await sdk.campaigns.claimCampaign(claimRequest);
1010
1044
 
1011
1045
  ---
1012
1046
 
1047
+ ## Migration Guide
1048
+
1049
+ ### v2.0.0 Breaking Changes - Pagination
1050
+
1051
+ **Version 2.0.0 introduces standardized pagination** across all list endpoints. Previously, endpoints returned raw arrays. Now they return `PaginatedResponseDTO<T>` with pagination metadata.
1052
+
1053
+ #### What Changed
1054
+
1055
+ All methods returning lists now return paginated responses:
1056
+
1057
+ ```typescript
1058
+ // ❌ OLD (v1.x) - Direct array
1059
+ const businesses: BusinessDTO[] = await sdk.businesses.getActiveBusinesses();
1060
+
1061
+ // ✅ NEW (v2.x) - Paginated response
1062
+ const response: PaginatedResponseDTO<BusinessDTO> = await sdk.businesses.getActiveBusinesses();
1063
+ const businesses: BusinessDTO[] = response.data;
1064
+ ```
1065
+
1066
+ #### Affected Methods
1067
+
1068
+ | Manager | Method | Return Type |
1069
+ |---------|--------|-------------|
1070
+ | `businesses` | `getActiveBusinesses()` | `PaginatedResponseDTO<BusinessDTO>` |
1071
+ | `businesses` | `getBusinessTypes()` | `PaginatedResponseDTO<BusinessTypeDTO>` |
1072
+ | `campaigns` | `getActiveCampaigns()` | `PaginatedResponseDTO<CampaignDTO>` |
1073
+ | `campaigns` | `getUserClaims()` | `PaginatedResponseDTO<CampaignClaimDTO>` |
1074
+ | `tokens` | `getTokens()` | `PaginatedResponseDTO<TokenDTO>` |
1075
+ | `tokens` | `getRewardTokens()` | `PaginatedResponseDTO<TokenDTO>` |
1076
+ | `tokens` | `getStatusTokens()` | `PaginatedResponseDTO<TokenDTO>` |
1077
+ | `redemptions` | `getRedemptions()` | `PaginatedResponseDTO<RedemptionDTO>` |
1078
+ | `redemptions` | `getUserRedemptions()` | `PaginatedResponseDTO<RedemptionDTO>` |
1079
+ | `transactions` | `getTransactionHistory()` | `PaginatedResponseDTO<TransactionDTO>` |
1080
+ | `purchases` | `getAllUserPurchases()` | `PaginatedResponseDTO<PurchaseDTO>` |
1081
+ | `purchases` | `getActivePurchaseTokens()` | `PaginatedResponseDTO<PurchaseTokenDTO>` |
1082
+ | `donations` | `getDonationTypes()` | `PaginatedResponseDTO<DonationTypeDTO>` |
1083
+
1084
+ #### PaginatedResponseDTO Structure
1085
+
1086
+ ```typescript
1087
+ import type { PaginatedResponseDTO } from '@explorins/pers-shared';
1088
+
1089
+ interface PaginatedResponseDTO<T> {
1090
+ data: T[]; // Array of results
1091
+ pagination: {
1092
+ currentPage: number; // Current page number (1-indexed)
1093
+ pageSize: number; // Items per page
1094
+ totalItems: number; // Total number of items across all pages
1095
+ totalPages: number; // Total number of pages
1096
+ };
1097
+ }
1098
+ ```
1099
+
1100
+ #### Migration Examples
1101
+
1102
+ **Before (v1.x):**
1103
+ ```typescript
1104
+ const businesses = await sdk.businesses.getActiveBusinesses();
1105
+ console.log('Business count:', businesses.length);
1106
+ businesses.forEach(b => console.log(b.name));
1107
+ ```
1108
+
1109
+ **After (v2.x):**
1110
+ ```typescript
1111
+ const response = await sdk.businesses.getActiveBusinesses();
1112
+ console.log('Business count:', response.data.length);
1113
+ console.log('Total businesses:', response.pagination.totalItems);
1114
+ response.data.forEach(b => console.log(b.name));
1115
+ ```
1116
+
1117
+ **With Pagination Parameters:**
1118
+ ```typescript
1119
+ // Fetch page 2 with 20 items per page
1120
+ const response = await sdk.businesses.getActiveBusinesses({
1121
+ page: 2,
1122
+ pageSize: 20
1123
+ });
1124
+
1125
+ console.log(`Page ${response.pagination.currentPage} of ${response.pagination.totalPages}`);
1126
+ console.log(`Showing ${response.data.length} businesses`);
1127
+ ```
1128
+
1129
+ #### Quick Fix for Existing Code
1130
+
1131
+ If you want minimal code changes, extract `.data` immediately:
1132
+
1133
+ ```typescript
1134
+ // Quick adaptation
1135
+ const businesses = (await sdk.businesses.getActiveBusinesses()).data;
1136
+ const campaigns = (await sdk.campaigns.getActiveCampaigns()).data;
1137
+ const tokens = (await sdk.tokens.getTokens()).data;
1138
+ ```
1139
+
1140
+ #### Benefits of Pagination
1141
+
1142
+ - **Performance**: Load only what you need, not entire datasets
1143
+ - **Consistency**: All list endpoints follow the same pattern
1144
+ - **Metadata**: Access total counts without loading all items
1145
+ - **UX**: Build proper pagination UI components
1146
+
1147
+ ---
1148
+
1013
1149
  ## Documentation
1014
1150
 
1015
1151
  - **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"}