-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathenvironment.js
73 lines (69 loc) · 2.47 KB
/
environment.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
var stagURL = "api.stg-eclaims.waseel.com";
var prodURL = "api.eclaims.waseel.com";
var qaURL = "api.qa-eclaims.waseel.com";
var serviceURL = "";
exports.selectURL = function(urlOption){
if(urlOption == "STAG"){
serviceURL = stagURL;
}else if(urlOption == "PROD"){
serviceURL = prodURL;
}else{
serviceURL = qaURL;
}
return serviceURL;
}
var stagSummaryURL = "https://stg-eclaims.waseel.com";
var prodSummaryURL = "https://eclaims.waseel.com";
var qaSummaryURL = "https://qa-eclaims.waseel.com";
var summaryURL = "";
exports.selectSummaryURL = function(urlOpt){
if(urlOpt == "STAG"){
summaryURL = stagSummaryURL;
}else if(urlOpt == "PROD"){
summaryURL = prodSummaryURL;
}else{
summaryURL = qaSummaryURL;
}
return summaryURL;
}
exports.refreshCurrentToken = function() {
const expireTime = new Date(localStorage.getItem('expire_time'));
const diff = (expireTime.getTime() - new Date().getTime()) / (1000*60);
if(diff <= 30 && diff > 0) {
var httpRequest = require('https');
const body = JSON.stringify({
access_token: localStorage.getItem('access_token'),
refresh_token: localStorage.getItem('refresh_token')
});
var url = exports.selectURL(localStorage.getItem('environment'));
var urlPath = '/oauth/refresh';
const option = {
hostname: url,
path: urlPath,
method: 'POST',
headers: {
'Content-Type': 'application/json',
}
};
const request = httpRequest.request(option, (res) => {
let chunksOfData = [];
res.on('data', (chunk) => {
chunksOfData.push(chunk);
});
res.on('end', () => {
let responseBody = Buffer.concat(chunksOfData);
if (res.statusCode == 200 || res.statusCode == 201) {
responseData = JSON.parse(responseBody.toString());
if (responseData != null) {
console.log('In Environment : Refresh Token');
localStorage.setItem('access_token', responseData.access_token);
localStorage.setItem('expire_time', responseData.expires_in);
localStorage.setItem('refresh_token', responseData.refresh_token);
}
}
});
});
request.write(body);
request.end();
}
}