b5-api-client 0.0.17 → 0.0.19

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.
package/dist/APITester.js CHANGED
@@ -103,6 +103,7 @@ function testTakeOrder() {
103
103
  function testCreateUser() {
104
104
  return __awaiter(this, void 0, void 0, function* () {
105
105
  const user = {
106
+ id: "123",
106
107
  username: "username_test"
107
108
  };
108
109
  const response = yield client.createUser(user);
@@ -1,4 +1,4 @@
1
- import { CreateOrderRequest, CreateUserRequest, GetOrdersParams, Order, OrderResponse, TakeOrderRequest, TestEventParams, UpdateOrderRequest, TransactionStatusResponse, RateUserRequest, OrderEventsResponse, PushNotificationsRegisterRequest, ConfigResponse, DashboardMetricsResponse } from './types';
1
+ import { CreateOrderRequest, CreateUserRequest, Order, OrderResponse, TakeOrderRequest, TestEventParams, UpdateOrderRequest, TransactionStatusResponse, RateUserRequest, OrderEventsResponse, PushNotificationsRegisterRequest, ConfigResponse, DashboardMetricsResponse, UsersResponse, GetOrdersParams } from './types';
2
2
  declare class P2PMarketplaceAPIClient {
3
3
  private readonly client;
4
4
  private readonly defaultHeaders;
@@ -11,8 +11,9 @@ declare class P2PMarketplaceAPIClient {
11
11
  getOrderById(id: string, headers?: Record<string, string>): Promise<OrderResponse>;
12
12
  createOrder(order: CreateOrderRequest, headers?: Record<string, string>): Promise<OrderResponse>;
13
13
  takeOrder(order: TakeOrderRequest, headers?: Record<string, string>): Promise<OrderResponse>;
14
- createUser(user: CreateUserRequest, headers?: Record<string, string>): Promise<Order>;
15
14
  updateOrder(updateRequest: UpdateOrderRequest, headers?: Record<string, string>): Promise<Order>;
15
+ createUser(user: CreateUserRequest, headers?: Record<string, string>): Promise<UsersResponse>;
16
+ getUser(userId: string, headers?: Record<string, string>): Promise<UsersResponse>;
16
17
  rateUser(rateUserRequest: RateUserRequest, headers?: Record<string, string>): Promise<any>;
17
18
  registerPushToken(registerRequest: PushNotificationsRegisterRequest, headers?: Record<string, string>): Promise<any>;
18
19
  getConfig<T>(): Promise<ConfigResponse<T>>;
@@ -79,14 +79,32 @@ class P2PMarketplaceAPIClient {
79
79
  }
80
80
  getOrders(props, headers) {
81
81
  return __awaiter(this, void 0, void 0, function* () {
82
- const { status, user, buyer } = props;
82
+ const { status, user, orderType, blockchain, tokenCode, paymentMethods, fiatCode, fiatAmountRange, dateRange, search } = props;
83
83
  const params = new URLSearchParams();
84
84
  if (status)
85
85
  params.append('status', status.join(','));
86
86
  if (user)
87
87
  params.append('user', user);
88
- if (buyer)
89
- params.append('buyer', buyer);
88
+ if (orderType)
89
+ params.append('type', orderType.join(','));
90
+ if (blockchain)
91
+ params.append('blockchains', blockchain.join(','));
92
+ if (tokenCode)
93
+ params.append('tokens', tokenCode.join(','));
94
+ if (paymentMethods)
95
+ params.append('payments', paymentMethods.join(','));
96
+ if (fiatCode)
97
+ params.append('fiatCode', fiatCode.join(','));
98
+ if (fiatAmountRange === null || fiatAmountRange === void 0 ? void 0 : fiatAmountRange.min)
99
+ params.append('minFiatAmount', fiatAmountRange.min);
100
+ if (fiatAmountRange === null || fiatAmountRange === void 0 ? void 0 : fiatAmountRange.max)
101
+ params.append('maxFiatAmount', fiatAmountRange.max);
102
+ if (dateRange === null || dateRange === void 0 ? void 0 : dateRange.from)
103
+ params.append('fromDate', dateRange.from);
104
+ if (dateRange === null || dateRange === void 0 ? void 0 : dateRange.to)
105
+ params.append('toDate', dateRange.to);
106
+ if (search)
107
+ params.append('search', search);
90
108
  const url = `/api/orders?${params.toString()}`;
91
109
  return this.get(url, headers);
92
110
  });
@@ -109,16 +127,22 @@ class P2PMarketplaceAPIClient {
109
127
  return this.post(url, order, headers);
110
128
  });
111
129
  }
130
+ updateOrder(updateRequest, headers) {
131
+ return __awaiter(this, void 0, void 0, function* () {
132
+ const url = '/api/orders/update';
133
+ return this.post(url, updateRequest, headers);
134
+ });
135
+ }
112
136
  createUser(user, headers) {
113
137
  return __awaiter(this, void 0, void 0, function* () {
114
138
  const url = '/api/users';
115
139
  return this.post(url, user, headers);
116
140
  });
117
141
  }
118
- updateOrder(updateRequest, headers) {
142
+ getUser(userId, headers) {
119
143
  return __awaiter(this, void 0, void 0, function* () {
120
- const url = '/api/orders/update';
121
- return this.post(url, updateRequest, headers);
144
+ const url = `/api/users/${userId}`;
145
+ return this.get(url, headers);
122
146
  });
123
147
  }
124
148
  rateUser(rateUserRequest, headers) {
package/dist/types.d.ts CHANGED
@@ -38,10 +38,14 @@ export interface Order {
38
38
  creatorRating: string;
39
39
  transactionsCount: number;
40
40
  chatId: string;
41
+ userMetrics?: UserMetrics[];
41
42
  }
42
43
  export interface OrderResponse {
43
44
  orders: Order[];
44
45
  }
46
+ export interface UsersResponse {
47
+ users: KioscoinUser[];
48
+ }
45
49
  export interface PaymentMethod {
46
50
  type: string;
47
51
  alias?: string;
@@ -68,9 +72,23 @@ export interface CreateOrderRequest {
68
72
  sellerHash?: string;
69
73
  }
70
74
  export interface GetOrdersParams {
71
- status?: OrderStatus[];
75
+ status?: string[];
72
76
  user?: string;
73
77
  buyer?: string;
78
+ orderType?: string[];
79
+ blockchain?: string[];
80
+ tokenCode?: string[];
81
+ paymentMethods?: PaymentMethod[];
82
+ fiatCode?: string[];
83
+ fiatAmountRange?: {
84
+ min?: string;
85
+ max?: string;
86
+ };
87
+ dateRange?: {
88
+ from?: string;
89
+ to?: string;
90
+ };
91
+ search?: string;
74
92
  }
75
93
  export type TakeOrderRequest = TakeSellOrderRequest | TakeBuyOrderRequest;
76
94
  export interface TakeSellOrderRequest {
@@ -92,6 +110,7 @@ export interface TakeBuyOrderRequest {
92
110
  hash?: string;
93
111
  }
94
112
  export interface CreateUserRequest {
113
+ id: string;
95
114
  username: string;
96
115
  }
97
116
  export interface UpdateOrderRequest {
@@ -185,3 +204,35 @@ export interface ConfigResponse<T = any> {
185
204
  }
186
205
  export interface TestEventParams {
187
206
  }
207
+ export interface UserMetrics {
208
+ userId: string;
209
+ avgTimeToLock: number;
210
+ avgTimeToRelease: number;
211
+ avgTimeToFiatSent: number;
212
+ }
213
+ export interface UserReview {
214
+ reviewId?: string;
215
+ rating?: number;
216
+ reviewedAt?: string;
217
+ }
218
+ export interface KioscoinUser {
219
+ id?: string;
220
+ username?: string;
221
+ lang?: string;
222
+ tradesCompleted?: number;
223
+ totalReviews?: number;
224
+ lastRating: string;
225
+ totalRating: string;
226
+ volumeTraded?: number;
227
+ admin?: boolean;
228
+ banned?: boolean;
229
+ showUsername?: boolean;
230
+ showVolumeTraded?: boolean;
231
+ lightningAddress?: string;
232
+ disputes?: number;
233
+ defaultCommunityId?: string;
234
+ timeToLock?: number;
235
+ timeToRelease?: number;
236
+ timeToFiatSent?: number;
237
+ reviews?: UserReview[];
238
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "b5-api-client",
3
- "version": "0.0.17",
3
+ "version": "0.0.19",
4
4
  "description": "Escrow Backend API client",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -23,4 +23,4 @@
23
23
  "engines": {
24
24
  "node": ">=18.0.0"
25
25
  }
26
- }
26
+ }
package/src/APITester.ts CHANGED
@@ -85,6 +85,7 @@ async function testTakeOrder() {
85
85
 
86
86
  async function testCreateUser() {
87
87
  const user: CreateUserRequest = {
88
+ id: "123",
88
89
  username: "username_test"
89
90
  }
90
91
  const response = await client.createUser(user);
@@ -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, DashboardMetricsResponse } from './types';
2
+ import { CreateOrderRequest, CreateUserRequest, Order, OrderLockedEvent, OrderResponse, ReleaseOrderEvent as OrderReleasedEvent, TakeOrderRequest, TestEventParams, UpdateOrderRequest, TransactionStatusResponse, RateUserRequest, OrderEventsResponse, PushNotificationsRegisterRequest, ConfigResponse, DashboardMetricsResponse, KioscoinUser, UsersResponse, PaymentMethod, GetOrdersParams } from './types';
3
3
  import { isPlainObject, camelCase, snakeCase, transform } from 'lodash';
4
4
 
5
5
  class P2PMarketplaceAPIClient {
@@ -71,11 +71,32 @@ class P2PMarketplaceAPIClient {
71
71
  }
72
72
 
73
73
  public async getOrders(props: GetOrdersParams, headers?: Record<string, string>): Promise<OrderResponse> {
74
- const { status, user, buyer } = props;
74
+ const {
75
+ status,
76
+ user,
77
+ orderType,
78
+ blockchain,
79
+ tokenCode,
80
+ paymentMethods,
81
+ fiatCode,
82
+ fiatAmountRange,
83
+ dateRange,
84
+ search
85
+ } = props;
86
+
75
87
  const params = new URLSearchParams();
76
88
  if (status) params.append('status', status.join(','));
77
89
  if (user) params.append('user', user);
78
- if (buyer) params.append('buyer', buyer);
90
+ if (orderType) params.append('type', orderType.join(','));
91
+ if (blockchain) params.append('blockchains', blockchain.join(','));
92
+ if (tokenCode) params.append('tokens', tokenCode.join(','));
93
+ if (paymentMethods) params.append('payments', paymentMethods.join(','));
94
+ if (fiatCode) params.append('fiatCode', fiatCode.join(','));
95
+ if (fiatAmountRange?.min) params.append('minFiatAmount', fiatAmountRange.min);
96
+ if (fiatAmountRange?.max) params.append('maxFiatAmount', fiatAmountRange.max);
97
+ if (dateRange?.from) params.append('fromDate', dateRange.from);
98
+ if (dateRange?.to) params.append('toDate', dateRange.to);
99
+ if (search) params.append('search', search);
79
100
 
80
101
  const url = `/api/orders?${params.toString()}`;
81
102
  return this.get<OrderResponse>(url, headers);
@@ -96,16 +117,21 @@ class P2PMarketplaceAPIClient {
96
117
  return this.post<OrderResponse>(url, order, headers);
97
118
  }
98
119
 
99
- public async createUser(user: CreateUserRequest, headers?: Record<string, string>): Promise<Order> {
100
- const url = '/api/users';
101
- return this.post<Order>(url, user, headers);
102
- }
103
-
104
120
  public async updateOrder(updateRequest: UpdateOrderRequest, headers?: Record<string, string>): Promise<Order> {
105
121
  const url = '/api/orders/update';
106
122
  return this.post<Order>(url, updateRequest, headers);
107
123
  }
108
124
 
125
+ public async createUser(user: CreateUserRequest, headers?: Record<string, string>): Promise<UsersResponse> {
126
+ const url = '/api/users';
127
+ return this.post<UsersResponse>(url, user, headers);
128
+ }
129
+
130
+ public async getUser(userId: string, headers?: Record<string, string>): Promise<UsersResponse> {
131
+ const url = `/api/users/${userId}`;
132
+ return this.get<UsersResponse>(url, headers);
133
+ }
134
+
109
135
  public async rateUser(rateUserRequest: RateUserRequest, headers?: Record<string, string>): Promise<any> {
110
136
  const url = '/api/users/rate';
111
137
  return this.post<any>(url, rateUserRequest, headers);
@@ -226,4 +252,4 @@ function toCamelCase(obj: any): any {
226
252
  return obj;
227
253
  }
228
254
 
229
- export default P2PMarketplaceAPIClient;
255
+ export default P2PMarketplaceAPIClient;
package/src/types.ts CHANGED
@@ -58,12 +58,17 @@ export interface Order {
58
58
  creatorRating: string;
59
59
  transactionsCount: number;
60
60
  chatId: string;
61
+ userMetrics?: UserMetrics[];
61
62
  }
62
63
 
63
64
  export interface OrderResponse {
64
65
  orders: Order[]
65
66
  }
66
67
 
68
+ export interface UsersResponse {
69
+ users: KioscoinUser[]
70
+ }
71
+
67
72
  export interface PaymentMethod {
68
73
  type: string;
69
74
  alias?: string;
@@ -92,9 +97,23 @@ export interface CreateOrderRequest {
92
97
  }
93
98
 
94
99
  export interface GetOrdersParams {
95
- status?: OrderStatus[];
100
+ status?: string[];
96
101
  user?: string;
97
102
  buyer?: string;
103
+ orderType?: string[];
104
+ blockchain?: string[];
105
+ tokenCode?: string[];
106
+ paymentMethods?: PaymentMethod[];
107
+ fiatCode?: string[];
108
+ fiatAmountRange?: {
109
+ min?: string;
110
+ max?: string;
111
+ };
112
+ dateRange?: {
113
+ from?: string;
114
+ to?: string;
115
+ };
116
+ search?: string;
98
117
  }
99
118
 
100
119
  export type TakeOrderRequest = TakeSellOrderRequest | TakeBuyOrderRequest;
@@ -120,6 +139,7 @@ export interface TakeBuyOrderRequest {
120
139
  }
121
140
 
122
141
  export interface CreateUserRequest {
142
+ id: string;
123
143
  username: string;
124
144
  }
125
145
 
@@ -230,4 +250,39 @@ export interface ConfigResponse<T = any> {
230
250
 
231
251
  export interface TestEventParams {
232
252
 
233
- }
253
+ }
254
+
255
+ export interface UserMetrics {
256
+ userId: string;
257
+ avgTimeToLock: number;
258
+ avgTimeToRelease: number;
259
+ avgTimeToFiatSent: number;
260
+ }
261
+
262
+ export interface UserReview {
263
+ reviewId?: string;
264
+ rating?: number;
265
+ reviewedAt?: string;
266
+ }
267
+
268
+ export interface KioscoinUser {
269
+ id?: string;
270
+ username?: string;
271
+ lang?: string;
272
+ tradesCompleted?: number;
273
+ totalReviews?: number;
274
+ lastRating: string;
275
+ totalRating: string;
276
+ volumeTraded?: number;
277
+ admin?: boolean;
278
+ banned?: boolean;
279
+ showUsername?: boolean;
280
+ showVolumeTraded?: boolean;
281
+ lightningAddress?: string;
282
+ disputes?: number;
283
+ defaultCommunityId?: string;
284
+ timeToLock?: number;
285
+ timeToRelease?: number;
286
+ timeToFiatSent?: number;
287
+ reviews?: UserReview[];
288
+ }