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 +1 -0
- package/dist/P2PMarketplaceAPIClient.d.ts +3 -2
- package/dist/P2PMarketplaceAPIClient.js +30 -6
- package/dist/types.d.ts +52 -1
- package/package.json +2 -2
- package/src/APITester.ts +1 -0
- package/src/P2PMarketplaceAPIClient.ts +35 -9
- package/src/types.ts +57 -2
package/dist/APITester.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { CreateOrderRequest, CreateUserRequest,
|
|
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,
|
|
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 (
|
|
89
|
-
params.append('
|
|
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
|
-
|
|
142
|
+
getUser(userId, headers) {
|
|
119
143
|
return __awaiter(this, void 0, void 0, function* () {
|
|
120
|
-
const url =
|
|
121
|
-
return this.
|
|
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?:
|
|
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
package/src/APITester.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import axios, { AxiosInstance, AxiosRequestConfig, AxiosResponse } from 'axios';
|
|
2
|
-
import { CreateOrderRequest, CreateUserRequest,
|
|
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 {
|
|
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 (
|
|
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?:
|
|
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
|
+
}
|