@banch0u/core-project-test-repository 2.2.3 → 2.2.4
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/utils/axios.js +27 -141
- package/package.json +1 -1
package/dist/utils/axios.js
CHANGED
|
@@ -1,71 +1,5 @@
|
|
|
1
1
|
import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
|
|
2
2
|
import _regeneratorRuntime from "@babel/runtime/regenerator";
|
|
3
|
-
// import axios from "axios";
|
|
4
|
-
// export const ACCESS_TOKEN_KEY = "token";
|
|
5
|
-
// export const REFRESH_TOKEN_KEY = "refreshToken";
|
|
6
|
-
|
|
7
|
-
// // Base Axios instance
|
|
8
|
-
// const api = axios.create({ baseURL: process.env.REACT_APP_BASE_URL });
|
|
9
|
-
|
|
10
|
-
// // Function to refresh token
|
|
11
|
-
// const refreshAccessToken = async () => {
|
|
12
|
-
// try {
|
|
13
|
-
// const refreshToken = localStorage.getItem(REFRESH_TOKEN_KEY); // Adjust storage as needed
|
|
14
|
-
// const response = await api.post(
|
|
15
|
-
// `/profile/refresh-token`,
|
|
16
|
-
// {},
|
|
17
|
-
// {
|
|
18
|
-
// headers: {
|
|
19
|
-
// RefreshToken: `${refreshToken}`, // Send refresh token as a header
|
|
20
|
-
// },
|
|
21
|
-
// }
|
|
22
|
-
// );
|
|
23
|
-
// localStorage.setItem(ACCESS_TOKEN_KEY, response.data.accessToken);
|
|
24
|
-
// return response.data.accessToken;
|
|
25
|
-
// } catch (error) {
|
|
26
|
-
// console.error("Failed to refresh token:", error);
|
|
27
|
-
// throw error; // Handle logout or token expiration
|
|
28
|
-
// }
|
|
29
|
-
// };
|
|
30
|
-
|
|
31
|
-
// // Add Axios request interceptor
|
|
32
|
-
// api.interceptors.request.use(
|
|
33
|
-
// (config) => {
|
|
34
|
-
// const token = localStorage.getItem(ACCESS_TOKEN_KEY); // Get token from storage
|
|
35
|
-
// if (token) {
|
|
36
|
-
// config.headers.Authorization = `Bearer ${token}`;
|
|
37
|
-
// }
|
|
38
|
-
// console.log(config);
|
|
39
|
-
// return config;
|
|
40
|
-
// },
|
|
41
|
-
// (error) => Promise.reject(error)
|
|
42
|
-
// );
|
|
43
|
-
|
|
44
|
-
// // Add Axios response interceptor
|
|
45
|
-
// api.interceptors.response.use(
|
|
46
|
-
// (response) => response, // Pass through successful responses
|
|
47
|
-
// async (error) => {
|
|
48
|
-
// const originalRequest = error.config;
|
|
49
|
-
// if (error.code === "ERR_NETWORK" && !originalRequest._retry) {
|
|
50
|
-
// originalRequest._retry = true; // Prevent infinite retry loops
|
|
51
|
-
// try {
|
|
52
|
-
// const newAccessToken = await refreshAccessToken();
|
|
53
|
-
// originalRequest.headers.Authorization = `Bearer ${newAccessToken}`;
|
|
54
|
-
// return api(originalRequest); // Retry the failed request with the new token
|
|
55
|
-
// } catch (refreshError) {
|
|
56
|
-
// // Handle failed token refresh logic (e.g., logout user)
|
|
57
|
-
// console.error("Token refresh failed:", refreshError);
|
|
58
|
-
// window.location.href = "/docflow/login"; //Comment this to prevent logout
|
|
59
|
-
// return Promise.reject(refreshError);
|
|
60
|
-
// }
|
|
61
|
-
// }
|
|
62
|
-
// return Promise.reject(error); // Reject all other errors
|
|
63
|
-
// }
|
|
64
|
-
// );
|
|
65
|
-
|
|
66
|
-
// export default api;
|
|
67
|
-
|
|
68
|
-
//DEV OPTION
|
|
69
3
|
import axios from "axios";
|
|
70
4
|
export var ACCESS_TOKEN_KEY = "token";
|
|
71
5
|
export var REFRESH_TOKEN_KEY = "refreshToken";
|
|
@@ -75,100 +9,52 @@ if (window.location.hostname === "localhost") {
|
|
|
75
9
|
} else {
|
|
76
10
|
baseUrl = window.location.origin + "/api";
|
|
77
11
|
}
|
|
78
|
-
// Base Axios instance
|
|
79
12
|
var api = axios.create({
|
|
80
13
|
baseURL: baseUrl
|
|
81
14
|
});
|
|
82
|
-
|
|
83
|
-
// Function to refresh token
|
|
84
|
-
var refreshAccessToken = /*#__PURE__*/function () {
|
|
85
|
-
var _ref = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
|
|
86
|
-
var refreshToken, response;
|
|
87
|
-
return _regeneratorRuntime.wrap(function _callee$(_context) {
|
|
88
|
-
while (1) switch (_context.prev = _context.next) {
|
|
89
|
-
case 0:
|
|
90
|
-
_context.prev = 0;
|
|
91
|
-
refreshToken = localStorage.getItem("refreshToken"); // Adjust storage as needed
|
|
92
|
-
_context.next = 4;
|
|
93
|
-
return axios.post(baseUrl + "/profile/refresh-token", {}, {
|
|
94
|
-
headers: {
|
|
95
|
-
RefreshToken: "".concat(refreshToken) // Send refresh token as a header
|
|
96
|
-
}
|
|
97
|
-
});
|
|
98
|
-
case 4:
|
|
99
|
-
response = _context.sent;
|
|
100
|
-
localStorage.setItem(ACCESS_TOKEN_KEY, response.data.accessToken);
|
|
101
|
-
return _context.abrupt("return", response.data.accessToken);
|
|
102
|
-
case 9:
|
|
103
|
-
_context.prev = 9;
|
|
104
|
-
_context.t0 = _context["catch"](0);
|
|
105
|
-
console.error("Failed to refresh token:", _context.t0);
|
|
106
|
-
throw _context.t0;
|
|
107
|
-
case 13:
|
|
108
|
-
case "end":
|
|
109
|
-
return _context.stop();
|
|
110
|
-
}
|
|
111
|
-
}, _callee, null, [[0, 9]]);
|
|
112
|
-
}));
|
|
113
|
-
return function refreshAccessToken() {
|
|
114
|
-
return _ref.apply(this, arguments);
|
|
115
|
-
};
|
|
116
|
-
}();
|
|
117
|
-
|
|
118
|
-
// Add Axios request interceptor
|
|
119
15
|
api.interceptors.request.use(function (config) {
|
|
120
|
-
var token = localStorage.getItem(ACCESS_TOKEN_KEY);
|
|
121
|
-
if (token)
|
|
122
|
-
config.headers.Authorization = "Bearer ".concat(token);
|
|
123
|
-
}
|
|
16
|
+
var token = localStorage.getItem(ACCESS_TOKEN_KEY);
|
|
17
|
+
if (token) config.headers.Authorization = "Bearer ".concat(token);
|
|
124
18
|
return config;
|
|
125
19
|
}, function (error) {
|
|
126
20
|
return Promise.reject(error);
|
|
127
21
|
});
|
|
128
|
-
|
|
129
|
-
// Add Axios response interceptor
|
|
130
22
|
api.interceptors.response.use(function (response) {
|
|
131
23
|
return response;
|
|
132
|
-
},
|
|
133
|
-
/*#__PURE__*/
|
|
134
|
-
|
|
135
|
-
function () {
|
|
136
|
-
|
|
137
|
-
var originalRequest, newAccessToken, basePath, redirectPath;
|
|
138
|
-
return _regeneratorRuntime.wrap(function _callee2$(_context2) {
|
|
139
|
-
while (1) switch (_context2.prev = _context2.next) {
|
|
24
|
+
}, /*#__PURE__*/function () {
|
|
25
|
+
var _ref = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee(error) {
|
|
26
|
+
var originalRequest, basePath, redirectPath;
|
|
27
|
+
return _regeneratorRuntime.wrap(function _callee$(_context) {
|
|
28
|
+
while (1) switch (_context.prev = _context.next) {
|
|
140
29
|
case 0:
|
|
141
|
-
originalRequest = error.config;
|
|
142
|
-
if (
|
|
143
|
-
|
|
30
|
+
originalRequest = error.config; // if no response (network error etc.)
|
|
31
|
+
if (error.response) {
|
|
32
|
+
_context.next = 3;
|
|
144
33
|
break;
|
|
145
34
|
}
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
originalRequest.
|
|
153
|
-
return _context2.abrupt("return", api(originalRequest));
|
|
154
|
-
case 11:
|
|
155
|
-
_context2.prev = 11;
|
|
156
|
-
_context2.t0 = _context2["catch"](3);
|
|
35
|
+
return _context.abrupt("return", Promise.reject(error));
|
|
36
|
+
case 3:
|
|
37
|
+
if (!(error.response.status === 401 && !(originalRequest !== null && originalRequest !== void 0 && originalRequest._redirected))) {
|
|
38
|
+
_context.next = 11;
|
|
39
|
+
break;
|
|
40
|
+
}
|
|
41
|
+
originalRequest._redirected = true;
|
|
157
42
|
basePath = window.location.pathname.split("/")[1];
|
|
158
|
-
redirectPath = "/".concat(basePath, "/login");
|
|
159
|
-
|
|
43
|
+
redirectPath = "/".concat(basePath, "/login"); // optional: clear tokens
|
|
44
|
+
localStorage.removeItem(ACCESS_TOKEN_KEY);
|
|
45
|
+
localStorage.removeItem(REFRESH_TOKEN_KEY);
|
|
160
46
|
window.location.href = redirectPath;
|
|
161
|
-
return
|
|
162
|
-
case
|
|
163
|
-
return
|
|
164
|
-
case
|
|
47
|
+
return _context.abrupt("return");
|
|
48
|
+
case 11:
|
|
49
|
+
return _context.abrupt("return", Promise.reject(error));
|
|
50
|
+
case 12:
|
|
165
51
|
case "end":
|
|
166
|
-
return
|
|
52
|
+
return _context.stop();
|
|
167
53
|
}
|
|
168
|
-
},
|
|
54
|
+
}, _callee);
|
|
169
55
|
}));
|
|
170
56
|
return function (_x) {
|
|
171
|
-
return
|
|
57
|
+
return _ref.apply(this, arguments);
|
|
172
58
|
};
|
|
173
59
|
}());
|
|
174
60
|
export default api;
|