Skip to content

Commit cb57682

Browse files
authored
Merge pull request #4 from jvoliveiraGN/main
Release 1.0.5: Correção do tratamento das requests
2 parents d4b6411 + 55ff8ca commit cb57682

File tree

3 files changed

+29
-52
lines changed

3 files changed

+29
-52
lines changed

package.json

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "gn-api-sdk-typescript",
3-
"version": "1.0.4",
3+
"version": "1.0.5",
44
"description": "Module for integration with Gerencianet API\"",
55
"main": "dist/index.js",
66
"types": "dist/index.d.ts",
@@ -9,11 +9,14 @@
99
"prepare": "npm run build",
1010
"postversion": "git push --tags"
1111
},
12-
"author": "Gerencianet - Consultoria Tecnica | João Vitor Oliveira",
12+
"author": "Gerencianet - Consultoria Tecnica | Palloma Brito | João Vitor Oliveira",
1313
"license": "MIT",
1414
"repository": "gerencianet/gn-api-sdk-typescript",
1515
"homepage": "https://github.com/gerencianet/gn-api-sdk-typescript",
16-
"files": ["dist/*", "examples"],
16+
"files": [
17+
"dist/*",
18+
"examples"
19+
],
1720
"keywords": [
1821
"gerencianet",
1922
"pagamentos",

src/gn-auth.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ class GnAuth {
7878
return res.data;
7979
})
8080
.catch((error) => {
81-
console.error(error);
81+
return error;
8282
});
8383

8484
return response;

src/gn-endpoints.ts

Lines changed: 22 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -57,80 +57,53 @@ class GnEndpoints {
5757
this.body = body;
5858
this.params = [params];
5959

60-
if (!this.accessToken) {
61-
this.getAccessToken().then(this.directReq.bind(this));
62-
} else {
63-
this.withTokenReq.call(this);
64-
}
65-
60+
this.getAccessToken().then(this.directReq.bind(this));
6661
return this.defer.promise;
6762
}
6863

6964
private getAccessToken(): Promise<any> {
65+
const self = this;
7066
const gnAuth = new GnAuth(this.options, this.constants);
7167
return gnAuth
7268
.getAccessToken()
7369
.then((response) => {
74-
this.accessToken = response.access_token;
75-
return this.accessToken;
70+
self.accessToken = response.access_token;
71+
return response.access_token;
7672
})
7773
.catch((err) => {
7874
return err;
7975
});
8076
}
8177

82-
private getResponse(response: any, body: any) {
83-
return this.options.rawResponse ? response : body;
84-
}
85-
86-
private req() {
78+
private async req(callback: any) {
8779
const req: any = this.getParams.call(this, this.endpoint.route);
8880
req.method = this.endpoint.method;
8981
axios(req)
9082
.then((res) => {
91-
console.log(res.data);
83+
callback(res);
9284
})
9385
.catch((error) => {
94-
console.log(error.response.data);
86+
callback(error);
9587
});
9688
}
9789

9890
private directReq() {
99-
this.directReqCallback.bind(this);
100-
this.req();
91+
this.req(this.directReqCallback.bind(this));
10192
}
10293

103-
private directReqCallback(err: any, httpResponse: { statusCode: number }, bodyResponse: any) {
104-
const response = this.getResponse(httpResponse, bodyResponse);
105-
106-
if (err) {
107-
this.defer.reject(err);
108-
} else if (httpResponse.statusCode !== 200) {
109-
this.defer.reject(response);
110-
} else {
111-
this.defer.resolve(response);
112-
}
113-
}
114-
115-
private withTokenReq() {
116-
this.withTokenReqCallback.bind(this);
117-
}
118-
119-
private withTokenReqCallback(
120-
err: any,
121-
httpResponse: { statusCode: number },
122-
httpResponseBody: any
123-
) {
124-
const response = this.getResponse(httpResponse, httpResponseBody);
125-
126-
if (err) {
127-
this.defer.reject(err);
128-
} else if (httpResponse.statusCode === 401) {
129-
this.getAccessToken().then(this.directReq.bind(this));
130-
} else if (httpResponse.statusCode !== 200) {
131-
this.defer.reject(response);
132-
} else {
133-
this.defer.resolve(response);
94+
private directReqCallback(rawResponse: any) {
95+
if (rawResponse.data) {
96+
if (rawResponse.status < 300) {
97+
if (rawResponse.data.data) {
98+
this.defer.resolve(rawResponse.data.data);
99+
} else {
100+
this.defer.resolve(rawResponse.data);
101+
}
102+
} else {
103+
this.defer.reject(rawResponse.data);
104+
}
105+
} else if (rawResponse.response && rawResponse.response.data) {
106+
this.defer.reject(rawResponse.response.data);
134107
}
135108
}
136109

@@ -145,6 +118,7 @@ class GnEndpoints {
145118
this.params.forEach((obj: any) => {
146119
if (obj) {
147120
Object.entries(obj).forEach((entrie: any) => {
121+
// eslint-disable-next-line prefer-destructuring
148122
params[entrie[0]] = entrie[1];
149123
});
150124
}

0 commit comments

Comments
 (0)