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,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
|
}
|