Skip to content

Commit da795ac

Browse files
authored
Bug fix (#21)
* using make-string for string conv * included no-unused-vars eslint rule
1 parent 2500bcf commit da795ac

File tree

5 files changed

+29
-9
lines changed

5 files changed

+29
-9
lines changed

.eslintrc

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,13 @@
1818
"no-trailing-spaces": 2,
1919
"space-unary-ops": 0,
2020
"no-unused-expressions": "off",
21+
"no-unused-vars": [
22+
"error",
23+
{
24+
"vars": "all",
25+
"args": "after-used"
26+
}
27+
],
2128
"no-new": "off",
2229
"no-console": "off",
2330
"no-shadow": "off",

demo/searchApi.js

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
const Ebay = require('../src/index');
22
let ebay = new Ebay({
3-
clientID: "-- Client ID -----",
4-
clientSecret: '-- Client Secret---',
3+
clientID: "-- client id --",
4+
clientSecret: '-- client secret ---',
55
body: {
66
grant_type: "client_credentials",
77
scope: 'https://api.ebay.com/oauth/api_scope'
@@ -10,7 +10,7 @@ let ebay = new Ebay({
1010
});
1111

1212

13-
// Search for Items by Keyword.
13+
//Search for Items by Keyword.
1414
ebay.getAccessToken()
1515
.then((data) => {
1616
ebay.searchItems({
@@ -75,7 +75,7 @@ ebay.getAccessToken()
7575
ebay.searchItems({
7676
keyword: "iphone",
7777
limit: 3,
78-
filter: { price: "[300..800]", priceCurrency: "USD", conditions: "NEW" }
78+
filter: { price: "[300..800]", priceCurrency: "USD", conditions: "{NEW}" }
7979
}).then((data) => {
8080
console.log(data);
8181
// Data is in format of JSON

package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,9 @@
2424
"devDependencies": {
2525
"chai": "^4.1.2",
2626
"eslint": "^5.8.0",
27+
"make-string": "^1.0.2",
2728
"mocha": "^5.0.1",
2829
"nock": "^9.2.3",
2930
"sinon": "^4.4.5"
3031
}
31-
}
32+
}

src/buy-api.js

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
let { getRequest, makeRequest, base64Encode } = require('./request');
1+
const makeString = require('make-string');
2+
let { makeRequest } = require('./request');
23

34
const getItem = function (itemId) {
45
if (!itemId) throw new Error("Item Id is required");
@@ -37,6 +38,8 @@ const getItemByItemGroup = function (itemGroupId) {
3738
return new Promise((resolve, reject) => {
3839
makeRequest('api.ebay.com', `/buy/browse/v1/item/get_items_by_item_group?item_group_id=${itemGroupId}`, 'GET', this.options.body, auth).then((result) => {
3940
resolve(result);
41+
}).then((error) => {
42+
reject(error);
4043
});
4144
})
4245
};
@@ -51,12 +54,13 @@ const searchItems = function (searchConfig) {
5154
queryParam = queryParam + (searchConfig.categoryId ? "&category_ids=" + searchConfig.categoryId : '');
5255
queryParam = queryParam + (searchConfig.limit ? "&limit=" + searchConfig.limit : "");
5356
queryParam = queryParam + (searchConfig.sort ? "&sort=" + searchConfig.sort : "");
54-
if (searchConfig.fieldgroups != undefined) queryParam = queryParam + "&fieldgroups=" + searchConfig.fieldgroups.toString();
55-
if (searchConfig.filter != undefined) queryParam = queryParam + "&filter=" + encodeURIComponent(searchConfig.filter);
56-
// console.log(queryParam);
57+
if (searchConfig.fieldgroups != undefined) queryParam = queryParam + "&fieldgroups=" + searchConfig.fieldgroups;
58+
if (searchConfig.filter != undefined) queryParam = queryParam + "&filter=" + encodeURIComponent(makeString(searchConfig.filter, { quotes: "no", braces: 'false' }));
5759
return new Promise((resolve, reject) => {
5860
makeRequest('api.ebay.com', `/buy/browse/v1/item_summary/search?${queryParam}`, 'GET', this.options.body, auth).then((result) => {
5961
resolve(result);
62+
}).then((error) => {
63+
reject(error);
6064
});
6165
});
6266
};

src/request.js

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,10 @@ let getRequest = function getRequest(url) {
1313
res.on("end", () => {
1414
resolve(body);
1515
});
16+
res.on("error", (error) => {
17+
reject(error);
18+
19+
});
1620
});
1721
})
1822

@@ -43,6 +47,10 @@ let makeRequest = function postRequest(hostName, endpoint, methodName, data, tok
4347
resolve(body);
4448

4549
});
50+
res.on("error", (error) => {
51+
reject(error);
52+
53+
});
4654
});
4755
//console.log("request " + dataString);
4856
if (methodName == "POST") req.write(dataString)

0 commit comments

Comments
 (0)