phx-uikit 1.0.226 → 1.0.228

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.
@@ -10,13 +10,16 @@ var saveCookiesClient_1 = tslib_1.__importDefault(require("./components/Func/sav
10
10
  var getCookieSession_1 = tslib_1.__importDefault(require("./components/Func/getCookieSession"));
11
11
  var headers_1 = require("next/headers");
12
12
  var lock = new async_lock_1["default"]();
13
+ var isServer = typeof window === 'undefined';
13
14
  var publicUrl = (0, read_env_config_1.getEnv)('NEXT_PUBLIC_API_GATEWAY', process.env.NEXT_PUBLIC_API_GATEWAY);
14
15
  var internalUrl = (0, read_env_config_1.getEnv)('NEXT_PUBLIC_API_GATEWAY_INTERNAL', process.env.NEXT_PUBLIC_API_GATEWAY_INTERNAL);
15
- var isServer = typeof window === 'undefined';
16
16
  var PHXAxiosInstance = axios_1["default"].create({
17
17
  baseURL: publicUrl
18
18
  });
19
19
  exports.PHXAxiosInstance = PHXAxiosInstance;
20
+ // === GLOBAL CACHE ===
21
+ var accessTokenCache = null;
22
+ var refreshingPromise = null;
20
23
  // Lấy header (cookie + origin) khi chạy SSR
21
24
  var getAuthHeaders = function () {
22
25
  if (!isServer)
@@ -48,20 +51,27 @@ var saveRefreshTokenServer = function (response) {
48
51
  expires: new Date(Date.now() + 365 * 24 * 60 * 60 * 1000)
49
52
  });
50
53
  };
51
- // Gọi API refresh-token, đồng bộ hoá với AsyncLock
54
+ // Hàm refresh access token, chỉ gọi 1 lần duy nhất tại một thời điểm
52
55
  var refreshAccessToken = function () { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
53
56
  return tslib_1.__generator(this, function (_a) {
54
- return [2 /*return*/, lock.acquire('refresh_token', function () { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
57
+ if (!refreshingPromise) {
58
+ refreshingPromise = lock.acquire('refresh_token', function () { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
55
59
  var currentSession, existing, url, response, newToken, updatedSession, err_1;
56
60
  return tslib_1.__generator(this, function (_a) {
57
61
  switch (_a.label) {
58
62
  case 0:
63
+ // Kiểm tra lại cache
64
+ if (accessTokenCache) {
65
+ refreshingPromise = null;
66
+ return [2 /*return*/, accessTokenCache];
67
+ }
59
68
  currentSession = (0, getCookieSession_1["default"])();
60
69
  existing = currentSession === null || currentSession === void 0 ? void 0 : currentSession.access_token;
61
- if (existing)
62
- return [2 /*return*/, existing
63
- // Thực sự gọi API refresh
64
- ];
70
+ if (existing) {
71
+ accessTokenCache = existing;
72
+ refreshingPromise = null;
73
+ return [2 /*return*/, existing];
74
+ }
65
75
  _a.label = 1;
66
76
  case 1:
67
77
  _a.trys.push([1, 3, , 4]);
@@ -70,16 +80,20 @@ var refreshAccessToken = function () { return tslib_1.__awaiter(void 0, void 0,
70
80
  case 2:
71
81
  response = _a.sent();
72
82
  newToken = response.data.token;
83
+ // Cập nhật cache
84
+ accessTokenCache = newToken;
73
85
  updatedSession = (0, getCookieSession_1["default"])();
74
86
  (0, saveCookiesClient_1["default"])({
75
87
  value: tslib_1.__assign(tslib_1.__assign({}, updatedSession), { access_token: newToken })
76
88
  });
77
- // Lưu refresh token SSR nếu cần
89
+ // Lưu refresh token phía server nếu SSR
78
90
  if (isServer)
79
91
  saveRefreshTokenServer(response);
92
+ refreshingPromise = null;
80
93
  return [2 /*return*/, newToken];
81
94
  case 3:
82
95
  err_1 = _a.sent();
96
+ refreshingPromise = null;
83
97
  if (!isServer) {
84
98
  window.location.href = constants_1.loginPage;
85
99
  }
@@ -87,20 +101,27 @@ var refreshAccessToken = function () { return tslib_1.__awaiter(void 0, void 0,
87
101
  case 4: return [2 /*return*/];
88
102
  }
89
103
  });
90
- }); })];
104
+ }); });
105
+ }
106
+ return [2 /*return*/, refreshingPromise];
91
107
  });
92
108
  }); };
93
109
  // Request interceptor: luôn thêm Authorization nếu có access_token
94
110
  PHXAxiosInstance.interceptors.request.use(function (config) { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
95
- var session, token, err_2, fresh;
111
+ var token, session, err_2, fresh;
96
112
  var _a;
97
113
  return tslib_1.__generator(this, function (_b) {
98
114
  switch (_b.label) {
99
115
  case 0:
100
- session = (0, getCookieSession_1["default"])();
101
- token = session === null || session === void 0 ? void 0 : session.access_token;
102
- if (!token) return [3 /*break*/, 7];
103
116
  config.headers = config.headers || {};
117
+ token = accessTokenCache;
118
+ if (!token) {
119
+ session = (0, getCookieSession_1["default"])();
120
+ token = (session === null || session === void 0 ? void 0 : session.access_token) || null;
121
+ if (token)
122
+ accessTokenCache = token;
123
+ }
124
+ if (!token) return [3 /*break*/, 7];
104
125
  config.headers.Authorization = "Bearer ".concat(token);
105
126
  if (!isServer) return [3 /*break*/, 7];
106
127
  _b.label = 1;
@@ -113,9 +134,6 @@ PHXAxiosInstance.interceptors.request.use(function (config) { return tslib_1.__a
113
134
  case 3:
114
135
  err_2 = _b.sent();
115
136
  if (!(((_a = err_2.response) === null || _a === void 0 ? void 0 : _a.status) === 401)) return [3 /*break*/, 5];
116
- (0, saveCookiesClient_1["default"])({
117
- value: tslib_1.__assign(tslib_1.__assign({}, session), { access_token: '' })
118
- });
119
137
  return [4 /*yield*/, refreshAccessToken()];
120
138
  case 4:
121
139
  fresh = _b.sent();
@@ -127,14 +145,13 @@ PHXAxiosInstance.interceptors.request.use(function (config) { return tslib_1.__a
127
145
  }
128
146
  });
129
147
  }); });
130
- // Response interceptor: bắt 401, gọi refresh và retry
148
+ // Response interceptor: bắt lỗi 401, gọi refresh và retry
131
149
  PHXAxiosInstance.interceptors.response.use(function (res) { return res; }, function (error) { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
132
150
  var originalRequest, newToken, e_1;
133
151
  var _a;
134
152
  return tslib_1.__generator(this, function (_b) {
135
153
  switch (_b.label) {
136
154
  case 0:
137
- console.log('errorerror', error);
138
155
  originalRequest = error.config;
139
156
  if (!(((_a = error.response) === null || _a === void 0 ? void 0 : _a.status) === 401 && !originalRequest._retry)) return [3 /*break*/, 4];
140
157
  originalRequest._retry = true;
@@ -1 +1 @@
1
- {"version":3,"file":"axiosInstance.js","sourceRoot":"","sources":["../../src/axiosInstance.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"axiosInstance.js","sourceRoot":"","sources":["../../src/axiosInstance.ts"],"names":[],"mappings":"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"}
@@ -7,12 +7,15 @@ import saveCookiesClient from './components/Func/saveCookiesClient';
7
7
  import PHXFuncGetCookieSession from './components/Func/getCookieSession';
8
8
  import { cookies, headers } from 'next/headers';
9
9
  var lock = new AsyncLock();
10
+ var isServer = typeof window === 'undefined';
10
11
  var publicUrl = getEnv('NEXT_PUBLIC_API_GATEWAY', process.env.NEXT_PUBLIC_API_GATEWAY);
11
12
  var internalUrl = getEnv('NEXT_PUBLIC_API_GATEWAY_INTERNAL', process.env.NEXT_PUBLIC_API_GATEWAY_INTERNAL);
12
- var isServer = typeof window === 'undefined';
13
13
  var PHXAxiosInstance = axios.create({
14
14
  baseURL: publicUrl
15
15
  });
16
+ // === GLOBAL CACHE ===
17
+ var accessTokenCache = null;
18
+ var refreshingPromise = null;
16
19
  // Lấy header (cookie + origin) khi chạy SSR
17
20
  var getAuthHeaders = function () {
18
21
  if (!isServer)
@@ -44,20 +47,27 @@ var saveRefreshTokenServer = function (response) {
44
47
  expires: new Date(Date.now() + 365 * 24 * 60 * 60 * 1000)
45
48
  });
46
49
  };
47
- // Gọi API refresh-token, đồng bộ hoá với AsyncLock
50
+ // Hàm refresh access token, chỉ gọi 1 lần duy nhất tại một thời điểm
48
51
  var refreshAccessToken = function () { return __awaiter(void 0, void 0, void 0, function () {
49
52
  return __generator(this, function (_a) {
50
- return [2 /*return*/, lock.acquire('refresh_token', function () { return __awaiter(void 0, void 0, void 0, function () {
53
+ if (!refreshingPromise) {
54
+ refreshingPromise = lock.acquire('refresh_token', function () { return __awaiter(void 0, void 0, void 0, function () {
51
55
  var currentSession, existing, url, response, newToken, updatedSession, err_1;
52
56
  return __generator(this, function (_a) {
53
57
  switch (_a.label) {
54
58
  case 0:
59
+ // Kiểm tra lại cache
60
+ if (accessTokenCache) {
61
+ refreshingPromise = null;
62
+ return [2 /*return*/, accessTokenCache];
63
+ }
55
64
  currentSession = PHXFuncGetCookieSession();
56
65
  existing = currentSession === null || currentSession === void 0 ? void 0 : currentSession.access_token;
57
- if (existing)
58
- return [2 /*return*/, existing
59
- // Thực sự gọi API refresh
60
- ];
66
+ if (existing) {
67
+ accessTokenCache = existing;
68
+ refreshingPromise = null;
69
+ return [2 /*return*/, existing];
70
+ }
61
71
  _a.label = 1;
62
72
  case 1:
63
73
  _a.trys.push([1, 3, , 4]);
@@ -66,16 +76,20 @@ var refreshAccessToken = function () { return __awaiter(void 0, void 0, void 0,
66
76
  case 2:
67
77
  response = _a.sent();
68
78
  newToken = response.data.token;
79
+ // Cập nhật cache
80
+ accessTokenCache = newToken;
69
81
  updatedSession = PHXFuncGetCookieSession();
70
82
  saveCookiesClient({
71
83
  value: __assign(__assign({}, updatedSession), { access_token: newToken })
72
84
  });
73
- // Lưu refresh token SSR nếu cần
85
+ // Lưu refresh token phía server nếu SSR
74
86
  if (isServer)
75
87
  saveRefreshTokenServer(response);
88
+ refreshingPromise = null;
76
89
  return [2 /*return*/, newToken];
77
90
  case 3:
78
91
  err_1 = _a.sent();
92
+ refreshingPromise = null;
79
93
  if (!isServer) {
80
94
  window.location.href = loginPage;
81
95
  }
@@ -83,20 +97,27 @@ var refreshAccessToken = function () { return __awaiter(void 0, void 0, void 0,
83
97
  case 4: return [2 /*return*/];
84
98
  }
85
99
  });
86
- }); })];
100
+ }); });
101
+ }
102
+ return [2 /*return*/, refreshingPromise];
87
103
  });
88
104
  }); };
89
105
  // Request interceptor: luôn thêm Authorization nếu có access_token
90
106
  PHXAxiosInstance.interceptors.request.use(function (config) { return __awaiter(void 0, void 0, void 0, function () {
91
- var session, token, err_2, fresh;
107
+ var token, session, err_2, fresh;
92
108
  var _a;
93
109
  return __generator(this, function (_b) {
94
110
  switch (_b.label) {
95
111
  case 0:
96
- session = PHXFuncGetCookieSession();
97
- token = session === null || session === void 0 ? void 0 : session.access_token;
98
- if (!token) return [3 /*break*/, 7];
99
112
  config.headers = config.headers || {};
113
+ token = accessTokenCache;
114
+ if (!token) {
115
+ session = PHXFuncGetCookieSession();
116
+ token = (session === null || session === void 0 ? void 0 : session.access_token) || null;
117
+ if (token)
118
+ accessTokenCache = token;
119
+ }
120
+ if (!token) return [3 /*break*/, 7];
100
121
  config.headers.Authorization = "Bearer ".concat(token);
101
122
  if (!isServer) return [3 /*break*/, 7];
102
123
  _b.label = 1;
@@ -109,9 +130,6 @@ PHXAxiosInstance.interceptors.request.use(function (config) { return __awaiter(v
109
130
  case 3:
110
131
  err_2 = _b.sent();
111
132
  if (!(((_a = err_2.response) === null || _a === void 0 ? void 0 : _a.status) === 401)) return [3 /*break*/, 5];
112
- saveCookiesClient({
113
- value: __assign(__assign({}, session), { access_token: '' })
114
- });
115
133
  return [4 /*yield*/, refreshAccessToken()];
116
134
  case 4:
117
135
  fresh = _b.sent();
@@ -123,14 +141,13 @@ PHXAxiosInstance.interceptors.request.use(function (config) { return __awaiter(v
123
141
  }
124
142
  });
125
143
  }); });
126
- // Response interceptor: bắt 401, gọi refresh và retry
144
+ // Response interceptor: bắt lỗi 401, gọi refresh và retry
127
145
  PHXAxiosInstance.interceptors.response.use(function (res) { return res; }, function (error) { return __awaiter(void 0, void 0, void 0, function () {
128
146
  var originalRequest, newToken, e_1;
129
147
  var _a;
130
148
  return __generator(this, function (_b) {
131
149
  switch (_b.label) {
132
150
  case 0:
133
- console.log('errorerror', error);
134
151
  originalRequest = error.config;
135
152
  if (!(((_a = error.response) === null || _a === void 0 ? void 0 : _a.status) === 401 && !originalRequest._retry)) return [3 /*break*/, 4];
136
153
  originalRequest._retry = true;
@@ -1 +1 @@
1
- {"version":3,"file":"axiosInstance.js","sourceRoot":"","sources":["../../src/axiosInstance.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"axiosInstance.js","sourceRoot":"","sources":["../../src/axiosInstance.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "phx-uikit",
3
- "version": "1.0.226",
3
+ "version": "1.0.228",
4
4
  "description": "PHX REACT",
5
5
  "main": "./dist/cjs/index.js",
6
6
  "module": "./dist/esm/index.js",