Skip to content

Commit 0562fb4

Browse files
committed
feat: implement granular error handling in plugin-coinbase
1 parent 7e5089c commit 0562fb4

File tree

3 files changed

+65
-36
lines changed

3 files changed

+65
-36
lines changed

packages/plugin-coinbase/advanced-sdk-ts/src/rest/accounts.ts

+21-11
Original file line numberDiff line numberDiff line change
@@ -14,11 +14,16 @@ export function getAccount(
1414
this: RESTBase,
1515
{ accountUuid }: GetAccountRequest
1616
): Promise<GetAccountResponse> {
17-
return this.request({
18-
method: method.GET,
19-
endpoint: `${API_PREFIX}/accounts/${accountUuid}`,
20-
isPublic: false,
21-
});
17+
try {
18+
return this.request({
19+
method: method.GET,
20+
endpoint: `${API_PREFIX}/accounts/${accountUuid}`,
21+
isPublic: false,
22+
});
23+
} catch (error) {
24+
console.error('Error fetching account:', error);
25+
throw error;
26+
}
2227
}
2328

2429
// [GET] List Accounts
@@ -27,10 +32,15 @@ export function listAccounts(
2732
this: RESTBase,
2833
requestParams: ListAccountsRequest
2934
): Promise<ListAccountsResponse> {
30-
return this.request({
31-
method: method.GET,
32-
endpoint: `${API_PREFIX}/accounts`,
33-
queryParams: requestParams,
34-
isPublic: false,
35-
});
35+
try {
36+
return this.request({
37+
method: method.GET,
38+
endpoint: `${API_PREFIX}/accounts`,
39+
queryParams: requestParams,
40+
isPublic: false,
41+
});
42+
} catch (error) {
43+
console.error('Error listing accounts:', error);
44+
throw error;
45+
}
3646
}

packages/plugin-coinbase/advanced-sdk-ts/src/rest/converts.ts

+34-19
Original file line numberDiff line numberDiff line change
@@ -16,12 +16,17 @@ export function createConvertQuote(
1616
this: RESTBase,
1717
requestParams: CreateConvertQuoteRequest
1818
): Promise<CreateConvertQuoteResponse> {
19-
return this.request({
20-
method: method.POST,
21-
endpoint: `${API_PREFIX}/convert/quote`,
22-
bodyParams: requestParams,
23-
isPublic: false,
24-
});
19+
try {
20+
return this.request({
21+
method: method.POST,
22+
endpoint: `${API_PREFIX}/convert/quote`,
23+
bodyParams: requestParams,
24+
isPublic: false,
25+
});
26+
} catch (error) {
27+
console.error('Error creating convert quote:', error);
28+
throw error;
29+
}
2530
}
2631

2732
// [GET] Get Convert Trade
@@ -30,24 +35,34 @@ export function getConvertTrade(
3035
this: RESTBase,
3136
{ tradeId, ...requestParams }: GetConvertTradeRequest
3237
): Promise<GetConvertTradeResponse> {
33-
return this.request({
34-
method: method.GET,
35-
endpoint: `${API_PREFIX}/convert/trade/${tradeId}`,
36-
queryParams: requestParams,
37-
isPublic: false,
38-
});
38+
try {
39+
return this.request({
40+
method: method.GET,
41+
endpoint: `${API_PREFIX}/convert/trade/${tradeId}`,
42+
queryParams: requestParams,
43+
isPublic: false,
44+
});
45+
} catch (error) {
46+
console.error('Error fetching convert trade:', error);
47+
throw error;
48+
}
3949
}
4050

41-
// [POST] Commit Connvert Trade
51+
// [POST] Commit Convert Trade
4252
// https://docs.cdp.coinbase.com/advanced-trade/reference/retailbrokerageapi_commitconverttrade
4353
export function commitConvertTrade(
4454
this: RESTBase,
4555
{ tradeId, ...requestParams }: CommitConvertTradeRequest
4656
): Promise<CommitConvertTradeResponse> {
47-
return this.request({
48-
method: method.POST,
49-
endpoint: `${API_PREFIX}/convert/trade/${tradeId}`,
50-
bodyParams: requestParams,
51-
isPublic: false,
52-
});
57+
try {
58+
return this.request({
59+
method: method.POST,
60+
endpoint: `${API_PREFIX}/convert/trade/${tradeId}`,
61+
bodyParams: requestParams,
62+
isPublic: false,
63+
});
64+
} catch (error) {
65+
console.error('Error committing convert trade:', error);
66+
throw error;
67+
}
5368
}
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
import { API_PREFIX } from '../constants';
22
import { RESTBase } from './rest-base';
3-
43
import { method } from './types/request-types';
54
import { GetAPIKeyPermissionsResponse } from './types/dataAPI-types';
65

@@ -9,9 +8,14 @@ import { GetAPIKeyPermissionsResponse } from './types/dataAPI-types';
98
export function getAPIKeyPermissions(
109
this: RESTBase
1110
): Promise<GetAPIKeyPermissionsResponse> {
12-
return this.request({
13-
method: method.GET,
14-
endpoint: `${API_PREFIX}/key_permissions`,
15-
isPublic: false,
16-
});
11+
try {
12+
return this.request({
13+
method: method.GET,
14+
endpoint: `${API_PREFIX}/key_permissions`,
15+
isPublic: false,
16+
});
17+
} catch (error) {
18+
console.error('Error fetching API Key Permissions:', error);
19+
throw error;
20+
}
1721
}

0 commit comments

Comments
 (0)