b5-api-client 0.0.16 → 0.0.17

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.
@@ -1,4 +1,4 @@
1
- import { CreateOrderRequest, CreateUserRequest, GetOrdersParams, Order, OrderResponse, TakeOrderRequest, TestEventParams, UpdateOrderRequest, TransactionStatusResponse, RateUserRequest, OrderEventsResponse, PushNotificationsRegisterRequest, ConfigResponse } from './types';
1
+ import { CreateOrderRequest, CreateUserRequest, GetOrdersParams, Order, OrderResponse, TakeOrderRequest, TestEventParams, UpdateOrderRequest, TransactionStatusResponse, RateUserRequest, OrderEventsResponse, PushNotificationsRegisterRequest, ConfigResponse, DashboardMetricsResponse } from './types';
2
2
  declare class P2PMarketplaceAPIClient {
3
3
  private readonly client;
4
4
  private readonly defaultHeaders;
@@ -17,6 +17,7 @@ declare class P2PMarketplaceAPIClient {
17
17
  registerPushToken(registerRequest: PushNotificationsRegisterRequest, headers?: Record<string, string>): Promise<any>;
18
18
  getConfig<T>(): Promise<ConfigResponse<T>>;
19
19
  getOrderEvents(id: string, headers?: Record<string, string>): Promise<OrderEventsResponse>;
20
+ getDashboardMetrics(headers?: Record<string, string>): Promise<DashboardMetricsResponse>;
20
21
  testLockFunds(order: Order, testParams?: TestEventParams, headers?: Record<string, string>): Promise<void>;
21
22
  testReleaseFunds(order: Order, testParams?: TestEventParams, headers?: Record<string, string>): Promise<void>;
22
23
  releaseFunds(order: Order, testParams?: TestEventParams, headers?: Record<string, string>): Promise<string>;
@@ -145,6 +145,12 @@ class P2PMarketplaceAPIClient {
145
145
  return this.get(url, headers);
146
146
  });
147
147
  }
148
+ getDashboardMetrics(headers) {
149
+ return __awaiter(this, void 0, void 0, function* () {
150
+ const url = '/api/dashboard/metrics';
151
+ return this.get(url, headers);
152
+ });
153
+ }
148
154
  testLockFunds(order, testParams, headers) {
149
155
  var _a, _b, _c, _d;
150
156
  return __awaiter(this, void 0, void 0, function* () {
package/dist/types.d.ts CHANGED
@@ -147,6 +147,39 @@ export interface PushNotificationsRegisterRequest {
147
147
  token: string;
148
148
  userId: string;
149
149
  }
150
+ export interface DashboardMetricsResponse {
151
+ dashboardMetrics: DashboardMetrics;
152
+ }
153
+ export interface DashboardMetrics {
154
+ volumeTx: BlockchainVolumes[];
155
+ ordersPerBlockchain: OrdersPerBlockchain[];
156
+ ordersCompletedTx: number;
157
+ feesCollected: FeeCollected[];
158
+ durationInEscrowPerOrder: ReleasedOrderDuration[];
159
+ }
160
+ export interface BlockchainVolumes {
161
+ blockchainName: string;
162
+ volumes: TokenAmount;
163
+ }
164
+ export interface TokenAmount {
165
+ tokenCode: string;
166
+ amount: string;
167
+ }
168
+ export interface OrdersPerBlockchain {
169
+ blockchainName: string;
170
+ completedOrders: number;
171
+ }
172
+ export interface FeeCollected {
173
+ blockchainName: string;
174
+ fees: TokenAmount[];
175
+ }
176
+ export interface ReleasedOrderDuration {
177
+ orderId: string;
178
+ blockchain: string;
179
+ lockedAt: string;
180
+ releasedAt: string;
181
+ duration: number;
182
+ }
150
183
  export interface ConfigResponse<T = any> {
151
184
  config: T;
152
185
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "b5-api-client",
3
- "version": "0.0.16",
3
+ "version": "0.0.17",
4
4
  "description": "Escrow Backend API client",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -1,5 +1,5 @@
1
1
  import axios, { AxiosInstance, AxiosRequestConfig, AxiosResponse } from 'axios';
2
- import { CreateOrderRequest, CreateUserRequest, GetOrdersParams, Order, OrderLockedEvent, OrderResponse, ReleaseOrderEvent as OrderReleasedEvent, TakeOrderRequest, TestEventParams, UpdateOrderRequest, TransactionStatusResponse, RateUserRequest, OrderEventsResponse, PushNotificationsRegisterRequest, ConfigResponse } from './types';
2
+ import { CreateOrderRequest, CreateUserRequest, GetOrdersParams, Order, OrderLockedEvent, OrderResponse, ReleaseOrderEvent as OrderReleasedEvent, TakeOrderRequest, TestEventParams, UpdateOrderRequest, TransactionStatusResponse, RateUserRequest, OrderEventsResponse, PushNotificationsRegisterRequest, ConfigResponse, DashboardMetricsResponse } from './types';
3
3
  import { isPlainObject, camelCase, snakeCase, transform } from 'lodash';
4
4
 
5
5
  class P2PMarketplaceAPIClient {
@@ -126,6 +126,11 @@ class P2PMarketplaceAPIClient {
126
126
  return this.get<OrderEventsResponse>(url, headers);
127
127
  }
128
128
 
129
+ public async getDashboardMetrics(headers?: Record<string, string>): Promise<DashboardMetricsResponse> {
130
+ const url = '/api/dashboard/metrics';
131
+ return this.get<DashboardMetricsResponse>(url, headers);
132
+ }
133
+
129
134
  public async testLockFunds(order: Order, testParams?: TestEventParams, headers?: Record<string, string>) {
130
135
  const orderEvent: OrderLockedEvent = {
131
136
  type: "LOCKED",
package/src/types.ts CHANGED
@@ -184,6 +184,46 @@ export interface PushNotificationsRegisterRequest {
184
184
  userId: string;
185
185
  }
186
186
 
187
+ export interface DashboardMetricsResponse {
188
+ dashboardMetrics: DashboardMetrics;
189
+ }
190
+
191
+ export interface DashboardMetrics {
192
+ volumeTx: BlockchainVolumes[];
193
+ ordersPerBlockchain: OrdersPerBlockchain[];
194
+ ordersCompletedTx: number; // Total number of completed orders
195
+ feesCollected: FeeCollected[]; // Assuming this is defined elsewhere
196
+ durationInEscrowPerOrder: ReleasedOrderDuration[]; // Assuming this is defined elsewhere
197
+ }
198
+
199
+ export interface BlockchainVolumes {
200
+ blockchainName: string;
201
+ volumes: TokenAmount;
202
+ }
203
+
204
+ export interface TokenAmount {
205
+ tokenCode: string;
206
+ amount: string; // Assuming Amount is defined elsewhere
207
+ }
208
+
209
+ export interface OrdersPerBlockchain {
210
+ blockchainName: string;
211
+ completedOrders: number;
212
+ }
213
+
214
+ export interface FeeCollected {
215
+ blockchainName: string;
216
+ fees: TokenAmount[]
217
+ }
218
+
219
+ export interface ReleasedOrderDuration {
220
+ orderId: string
221
+ blockchain: string
222
+ lockedAt: string
223
+ releasedAt: string
224
+ duration: number
225
+ }
226
+
187
227
  export interface ConfigResponse<T = any> {
188
228
  config: T;
189
229
  }