@ordentco/addons-auth-provider 0.9.131-mfe → 0.9.132-mfe

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/src/auth.js CHANGED
@@ -252,12 +252,12 @@ var AuthProvider = function (_a) {
252
252
  var prevPathnameRef = (0, react_1.useRef)("");
253
253
  var loggedIn = (0, react_1.useMemo)(function () { return !!token; }, [token]);
254
254
  var guard = (0, react_1.useCallback)(function () { return __awaiter(void 0, void 0, void 0, function () {
255
- var response_1, error_1, agent, menu, newMenuData, newMenus, refreshToken_1, refresh, newToken, newRefreshToken, _a, username_1, companyCode_1, userID_1, companyID_1, a_1, productRoles, privilegesRecords_1, productTypeEnumValuesFromProductRoles, productTypeEnumValuesFromHardcode, remainingProductTypeEnum, productTypeEnumKeyFromHardcode, productTypeEnumKeyFromProductRoles, allProductTypeEnum, menuDataMultipaymentCreate_1, menuDataMultipayment, multipaymentProducts;
255
+ var response, error_1, agent, menu, newMenuData, newMenus, refreshToken_1, refresh, newToken, newRefreshToken, _a, username_1, companyCode_1, userID_1, companyID_1, a, productRoles, privilegesRecords, productTypeEnumValuesFromProductRoles, productTypeEnumValuesFromHardcode, remainingProductTypeEnum, productTypeEnumKeyFromHardcode, productTypeEnumKeyFromProductRoles, allProductTypeEnum, menuDataMultipaymentCreate_1, menuDataMultipayment, multipaymentProducts;
256
256
  var _b, _c, _d, _e, _f, _g, _h, _j;
257
257
  return __generator(this, function (_k) {
258
258
  switch (_k.label) {
259
259
  case 0:
260
- // When the context is initialized, check if the token is still valid
260
+ // Session Freshness Check
261
261
  if (sessionLastValidatedAt &&
262
262
  Date.now() - sessionLastValidatedAt < SESSION_VALIDITY_MS) {
263
263
  // Ensure authorities are marked as ready if the router reset them
@@ -265,14 +265,19 @@ var AuthProvider = function (_a) {
265
265
  setIsAuthoritiesReady(true);
266
266
  return [2 /*return*/]; // The context is fresh, so we exit immediately.
267
267
  }
268
- if (!token) return [3 /*break*/, 10];
268
+ // No Token Check
269
+ if (!token) {
270
+ router.push(loginRoute);
271
+ return [2 /*return*/];
272
+ }
273
+ // --- Start Validation Flow ---
269
274
  setIsAuthoritiesReady(false);
270
275
  _k.label = 1;
271
276
  case 1:
272
277
  _k.trys.push([1, 3, , 4]);
273
278
  return [4 /*yield*/, authService.validateToken()];
274
279
  case 2:
275
- response_1 = _k.sent();
280
+ response = _k.sent();
276
281
  return [3 /*break*/, 4];
277
282
  case 3:
278
283
  error_1 = _k.sent();
@@ -286,7 +291,7 @@ var AuthProvider = function (_a) {
286
291
  return [2 /*return*/, window.close()];
287
292
  }
288
293
  console.log({ error: error_1 });
289
- response_1 = error_1;
294
+ response = error_1;
290
295
  return [3 /*break*/, 4];
291
296
  case 4: return [4 /*yield*/, authService.validateMenu(token)];
292
297
  case 5:
@@ -299,7 +304,7 @@ var AuthProvider = function (_a) {
299
304
  .map(function (item) { return item.productName; });
300
305
  setMenus(newMenus);
301
306
  setMenuData(newMenuData);
302
- if (!(response_1.status === 401)) return [3 /*break*/, 8];
307
+ if (!(response.status === 401)) return [3 /*break*/, 8];
303
308
  if (!(typeof window !== "undefined")) return [3 /*break*/, 7];
304
309
  refreshToken_1 = localStorage.getItem("refresh-token");
305
310
  if (!refreshToken_1) return [3 /*break*/, 7];
@@ -314,7 +319,7 @@ var AuthProvider = function (_a) {
314
319
  _k.label = 7;
315
320
  case 7: return [3 /*break*/, 9];
316
321
  case 8:
317
- if (response_1.status !== 200) {
322
+ if (response.status !== 200) {
318
323
  localStorage.removeItem("access-token");
319
324
  localStorage.removeItem("refresh-token");
320
325
  setToken(function () { return null; });
@@ -324,32 +329,32 @@ var AuthProvider = function (_a) {
324
329
  }
325
330
  _k.label = 9;
326
331
  case 9:
327
- if (response_1 === null || response_1 === void 0 ? void 0 : response_1.data) {
328
- _a = response_1.data, username_1 = _a.username, companyCode_1 = _a.companyCode, userID_1 = _a.userID, companyID_1 = _a.companyID;
332
+ if (response === null || response === void 0 ? void 0 : response.data) {
333
+ _a = response.data, username_1 = _a.username, companyCode_1 = _a.companyCode, userID_1 = _a.userID, companyID_1 = _a.companyID;
329
334
  localStorage.setItem("login", "".concat(username_1, "-").concat(companyCode_1, "-").concat(userID_1, "-").concat(companyID_1));
330
335
  }
331
- setRoleID(function () { return response_1.data.roleIDs[0]; });
332
- setRoleIDs(function () { return response_1.data.roleIDs; });
333
- setCompanyID(function () { var _a; return (_a = response_1.data) === null || _a === void 0 ? void 0 : _a.companyID; });
334
- setCompanyName(function () { var _a; return (_a = response_1.data) === null || _a === void 0 ? void 0 : _a.companyName; });
335
- setUserID(function () { var _a; return (_a = response_1.data) === null || _a === void 0 ? void 0 : _a.userID; });
336
- setHoldingID(function () { var _a; return (_a = response_1.data) === null || _a === void 0 ? void 0 : _a.holdingID; });
337
- setUsername(function () { var _a; return ((_a = response_1.data) === null || _a === void 0 ? void 0 : _a.username) || "Guest"; });
338
- setUserType(function () { var _a; return ((_a = response_1.data) === null || _a === void 0 ? void 0 : _a.userType) || null; });
339
- setCountryCode(function () { return response_1.data.countryCode; });
340
- setCompanyCode(function () { var _a; return ((_a = response_1 === null || response_1 === void 0 ? void 0 : response_1.data) === null || _a === void 0 ? void 0 : _a.companyCode) || ""; });
341
- setRegion(function () { return response_1.data.region || ""; });
342
- setUserMode(function () { var _a; return ((_a = response_1.data) === null || _a === void 0 ? void 0 : _a.userMode) || ""; });
343
- setCompanyLevel(function () { var _a; return ((_a = response_1 === null || response_1 === void 0 ? void 0 : response_1.data) === null || _a === void 0 ? void 0 : _a.companyLevel) || ""; });
344
- setIsIntraday(function () { var _a; return ((_a = response_1 === null || response_1 === void 0 ? void 0 : response_1.data) === null || _a === void 0 ? void 0 : _a.isIntraday) || false; });
345
- a_1 = new Map();
346
- productRoles = ((_j = response_1.data) === null || _j === void 0 ? void 0 : _j.productRoles) || [];
336
+ setRoleID(function () { return response.data.roleIDs[0]; });
337
+ setRoleIDs(function () { return response.data.roleIDs; });
338
+ setCompanyID(function () { var _a; return (_a = response.data) === null || _a === void 0 ? void 0 : _a.companyID; });
339
+ setCompanyName(function () { var _a; return (_a = response.data) === null || _a === void 0 ? void 0 : _a.companyName; });
340
+ setUserID(function () { var _a; return (_a = response.data) === null || _a === void 0 ? void 0 : _a.userID; });
341
+ setHoldingID(function () { var _a; return (_a = response.data) === null || _a === void 0 ? void 0 : _a.holdingID; });
342
+ setUsername(function () { var _a; return ((_a = response.data) === null || _a === void 0 ? void 0 : _a.username) || "Guest"; });
343
+ setUserType(function () { var _a; return ((_a = response.data) === null || _a === void 0 ? void 0 : _a.userType) || null; });
344
+ setCountryCode(function () { return response.data.countryCode; });
345
+ setCompanyCode(function () { var _a; return ((_a = response === null || response === void 0 ? void 0 : response.data) === null || _a === void 0 ? void 0 : _a.companyCode) || ""; });
346
+ setRegion(function () { return response.data.region || ""; });
347
+ setUserMode(function () { var _a; return ((_a = response.data) === null || _a === void 0 ? void 0 : _a.userMode) || ""; });
348
+ setCompanyLevel(function () { var _a; return ((_a = response === null || response === void 0 ? void 0 : response.data) === null || _a === void 0 ? void 0 : _a.companyLevel) || ""; });
349
+ setIsIntraday(function () { var _a; return ((_a = response === null || response === void 0 ? void 0 : response.data) === null || _a === void 0 ? void 0 : _a.isIntraday) || false; });
350
+ a = new Map();
351
+ productRoles = ((_j = response.data) === null || _j === void 0 ? void 0 : _j.productRoles) || [];
347
352
  productRoles.forEach(function (r) {
348
- a_1.set(r.productName, r.authorities);
353
+ a.set(r.productName, r.authorities);
349
354
  });
350
- setAuthorities(function () { return a_1; });
351
- privilegesRecords_1 = __assign({}, productAuthorities);
352
- productTypeEnumValuesFromProductRoles = Array.from(a_1.keys());
355
+ setAuthorities(function () { return a; });
356
+ privilegesRecords = __assign({}, productAuthorities);
357
+ productTypeEnumValuesFromProductRoles = Array.from(a.keys());
353
358
  productTypeEnumValuesFromHardcode = Array.from(Object.values(types_1.ProductTypeEnum));
354
359
  remainingProductTypeEnum = [
355
360
  productTypeEnumValuesFromProductRoles,
@@ -361,7 +366,7 @@ var AuthProvider = function (_a) {
361
366
  // FIXME: delete this logic beacuse expose all product, need to get from variable productRoles / a!
362
367
  allProductTypeEnum.forEach(function (_a) {
363
368
  var productKey = _a[0], productValue = _a[1];
364
- var productRole = a_1.get(productValue) || [];
369
+ var productRole = a.get(productValue) || [];
365
370
  productRole = productRole.map(function (e) { return e.split(":")[0]; });
366
371
  var productAuthority = {};
367
372
  Object.entries(types_1.AuthorityLevelEnum).forEach(function (_a) {
@@ -371,29 +376,23 @@ var AuthProvider = function (_a) {
371
376
  productAuthority["anyAuthority"] = productRole.length > 0;
372
377
  productAuthority["allAuthority"] =
373
378
  productRole.length >= Object.entries(types_1.AuthorityLevelEnum).length;
374
- privilegesRecords_1[productKey] =
375
- productAuthority;
379
+ privilegesRecords[productKey] = productAuthority;
376
380
  });
377
381
  // Combine Authority All Product Multipayment
378
382
  if (!(0, is_empty_1.isEmpty)(newMenuData.find(function (item) {
379
383
  return item.productName === types_1.MultipaymentAuthorityEnum["create"];
380
384
  }))) {
381
- menuDataMultipaymentCreate_1 = newMenuData.find(function (item) {
382
- return item.productName === types_1.MultipaymentAuthorityEnum["create"];
383
- });
385
+ menuDataMultipaymentCreate_1 = newMenuData.find(function (item) { return item.productName === types_1.MultipaymentAuthorityEnum["create"]; });
384
386
  menuDataMultipayment = newMenuData.filter(function (item) { return item.parentID === menuDataMultipaymentCreate_1.menuID; });
385
387
  multipaymentProducts = menuDataMultipayment.map(function (item) { return item["name"]; });
386
388
  multipaymentProducts.map(function (item) {
387
- privilegesRecords_1["MULTIPAYMENT"] = (0, mergeWith_1.default)(privilegesRecords_1["MULTIPAYMENT"], privilegesRecords_1[(0, snakeCase_1.default)(item).toUpperCase()], function (objValue, srcValue) { return objValue || srcValue; });
389
+ privilegesRecords["MULTIPAYMENT"] = (0, mergeWith_1.default)(privilegesRecords["MULTIPAYMENT"], privilegesRecords[(0, snakeCase_1.default)(item).toUpperCase()], function (objValue, srcValue) { return objValue || srcValue; });
388
390
  });
389
391
  }
390
- setProductAuthorities(privilegesRecords_1);
392
+ setProductAuthorities(privilegesRecords);
391
393
  setIsAuthoritiesReady(true);
392
394
  setSessionLastValidatedAt(Date.now());
393
395
  return [2 /*return*/];
394
- case 10:
395
- router.push(loginRoute);
396
- return [2 /*return*/];
397
396
  }
398
397
  });
399
398
  }); }, [token, authService]);
@@ -432,7 +431,7 @@ var AuthProvider = function (_a) {
432
431
  });
433
432
  alreadyApprove = !!(participant === null || participant === void 0 ? void 0 : participant.approvedAt);
434
433
  }
435
- if (participantUserIDs && (participantUserIDs === null || participantUserIDs === void 0 ? void 0 : participantUserIDs.includes(userID)))
434
+ if (participantUserIDs === null || participantUserIDs === void 0 ? void 0 : participantUserIDs.includes(userID))
436
435
  return false;
437
436
  if (Number(userID) === Number(createdBy.userID) &&
438
437
  currentStep !== "releaser")
@@ -488,7 +487,7 @@ var AuthProvider = function (_a) {
488
487
  return ((status === types_1.TaskStatus.Draft || status === types_1.TaskStatus.Returned) && modify);
489
488
  };
490
489
  var passwordLogin = (0, react_1.useCallback)(function (username, password, tokenFCM) { return __awaiter(void 0, void 0, void 0, function () {
491
- var response_2, error_2;
490
+ var response_1, error_2;
492
491
  return __generator(this, function (_a) {
493
492
  switch (_a.label) {
494
493
  case 0:
@@ -498,10 +497,10 @@ var AuthProvider = function (_a) {
498
497
  _a.trys.push([1, 3, 4, 5]);
499
498
  return [4 /*yield*/, authService.passwordLogin(username, password, tokenFCM)];
500
499
  case 2:
501
- response_2 = _a.sent();
502
- setToken(function () { return response_2.data.data.accessToken; });
503
- localStorage.setItem("access-token", response_2.data.data.accessToken);
504
- localStorage.setItem("refresh-token", response_2.data.data.refreshToken);
500
+ response_1 = _a.sent();
501
+ setToken(function () { return response_1.data.data.accessToken; });
502
+ localStorage.setItem("access-token", response_1.data.data.accessToken);
503
+ localStorage.setItem("refresh-token", response_1.data.data.refreshToken);
505
504
  router.push(baseRoute);
506
505
  return [3 /*break*/, 5];
507
506
  case 3:
@@ -531,23 +530,23 @@ var AuthProvider = function (_a) {
531
530
  return setIsMinutes(FIFTEEN_MINUTES);
532
531
  };
533
532
  var ssoLogin = (0, react_1.useCallback)(function (userId, sessionId, dtTime, onError) { return __awaiter(void 0, void 0, void 0, function () {
534
- var response_3, error_3;
533
+ var response_2, error_3;
535
534
  return __generator(this, function (_a) {
536
535
  switch (_a.label) {
537
536
  case 0:
538
537
  _a.trys.push([0, 2, , 3]);
539
538
  return [4 /*yield*/, authService.ssoLogin(userId, sessionId, dtTime)];
540
539
  case 1:
541
- response_3 = _a.sent();
542
- if (response_3.status !== 200) {
543
- if (response_3.status === 409) {
540
+ response_2 = _a.sent();
541
+ if (response_2.status !== 200) {
542
+ if (response_2.status === 409) {
544
543
  setOpenModal(true);
545
544
  }
546
545
  return [2 /*return*/];
547
546
  }
548
- setToken(function () { return response_3.data.data.accessToken; });
549
- localStorage.setItem("access-token", response_3.data.data.accessToken);
550
- localStorage.setItem("refresh-token", response_3.data.data.refreshToken);
547
+ setToken(function () { return response_2.data.data.accessToken; });
548
+ localStorage.setItem("access-token", response_2.data.data.accessToken);
549
+ localStorage.setItem("refresh-token", response_2.data.data.refreshToken);
551
550
  router.push(baseRoute);
552
551
  return [3 /*break*/, 3];
553
552
  case 2:
@@ -748,8 +747,11 @@ var AuthProvider = function (_a) {
748
747
  return [2 /*return*/, response];
749
748
  case 3:
750
749
  error_7 = _a.sent();
751
- // message.error(error.response.data.message);
752
- router.push(loginRoute);
750
+ if (error_7 instanceof Error) {
751
+ console.error(error_7);
752
+ // message.error(error.response.data.message);
753
+ router.push(loginRoute);
754
+ }
753
755
  return [3 /*break*/, 5];
754
756
  case 4:
755
757
  setIsLoading(false);
@@ -759,7 +761,7 @@ var AuthProvider = function (_a) {
759
761
  });
760
762
  }); }, [authService, router]);
761
763
  var passwordLoginWithCheck = function (username, password, tokenFCM, branchCode) { return __awaiter(void 0, void 0, void 0, function () {
762
- var response_4, checksChangePassword, resultChangePassword, error_8;
764
+ var response_3, checksChangePassword, resultChangePassword, error_8;
763
765
  var _a, _b;
764
766
  return __generator(this, function (_c) {
765
767
  switch (_c.label) {
@@ -770,7 +772,7 @@ var AuthProvider = function (_a) {
770
772
  _c.trys.push([1, 4, 5, 6]);
771
773
  return [4 /*yield*/, authService.passwordLogin(username, password, tokenFCM)];
772
774
  case 2:
773
- response_4 = _c.sent();
775
+ response_3 = _c.sent();
774
776
  return [4 /*yield*/, authService.checkToChangePasswordLogin(username, password, branchCode)];
775
777
  case 3:
776
778
  checksChangePassword = _c.sent();
@@ -779,9 +781,9 @@ var AuthProvider = function (_a) {
779
781
  (_b = router === null || router === void 0 ? void 0 : router.replace) === null || _b === void 0 ? void 0 : _b.call(router, "/main-page/change-password?branch=".concat(branchCode));
780
782
  }
781
783
  else {
782
- setToken(function () { return response_4.data.data.accessToken; });
783
- localStorage.setItem("access-token", response_4.data.data.accessToken);
784
- localStorage.setItem("refresh-token", response_4.data.data.refreshToken);
784
+ setToken(function () { return response_3.data.data.accessToken; });
785
+ localStorage.setItem("access-token", response_3.data.data.accessToken);
786
+ localStorage.setItem("refresh-token", response_3.data.data.refreshToken);
785
787
  localStorage.setItem("locale", "id");
786
788
  router.push(baseRoute);
787
789
  }
@@ -797,18 +799,18 @@ var AuthProvider = function (_a) {
797
799
  });
798
800
  }); };
799
801
  var ssoQlolaLogin = function (request) { return __awaiter(void 0, void 0, void 0, function () {
800
- var response_5, err_2;
802
+ var response_4, err_2;
801
803
  return __generator(this, function (_a) {
802
804
  switch (_a.label) {
803
805
  case 0:
804
806
  _a.trys.push([0, 2, , 3]);
805
807
  return [4 /*yield*/, authService.ssoLoginQlola(request)];
806
808
  case 1:
807
- response_5 = _a.sent();
808
- setToken(function () { return response_5.data.data.accessToken; });
809
- localStorage.setItem("access-token", response_5.data.data.accessToken);
810
- localStorage.setItem("refresh-token", response_5.data.data.refreshToken);
811
- localStorage.setItem("agent", response_5.data.agent);
809
+ response_4 = _a.sent();
810
+ setToken(function () { return response_4.data.data.accessToken; });
811
+ localStorage.setItem("access-token", response_4.data.data.accessToken);
812
+ localStorage.setItem("refresh-token", response_4.data.data.refreshToken);
813
+ localStorage.setItem("agent", response_4.data.agent);
812
814
  router.push(baseRoute);
813
815
  return [2 /*return*/];
814
816
  case 2:
@@ -819,7 +821,7 @@ var AuthProvider = function (_a) {
819
821
  });
820
822
  }); };
821
823
  var login = function (username, password, branchCode, type) { return __awaiter(void 0, void 0, void 0, function () {
822
- var response_6, data, token_1, error_9;
824
+ var response_5, data, token_1, error_9;
823
825
  return __generator(this, function (_a) {
824
826
  switch (_a.label) {
825
827
  case 0:
@@ -829,21 +831,21 @@ var AuthProvider = function (_a) {
829
831
  _a.trys.push([1, 3, 4, 5]);
830
832
  return [4 /*yield*/, authService.login(username, password, branchCode)];
831
833
  case 2:
832
- response_6 = _a.sent();
833
- setToken(function () { return response_6.data.data.accessToken; });
834
+ response_5 = _a.sent();
835
+ setToken(function () { return response_5.data.data.accessToken; });
834
836
  // setCookie(null, "access-token", response.data.data.accessToken);
835
837
  document.cookie = "loggedIn=true";
836
- data = response_6.data.data;
838
+ data = response_5.data.data;
837
839
  document.cookie = "accessToken=;";
838
- localStorage.setItem("access-token", response_6.data.data.accessToken);
839
- localStorage.setItem("refresh-token", response_6.data.data.refreshToken);
840
+ localStorage.setItem("access-token", response_5.data.data.accessToken);
841
+ localStorage.setItem("refresh-token", response_5.data.data.refreshToken);
840
842
  if (data.isRedirectToChangePassword) {
841
843
  token_1 = data.changePasswordToken;
842
844
  router.push("".concat(loginRoute, "/change-password?token=").concat(token_1));
843
845
  return [2 /*return*/];
844
846
  }
845
847
  if (type === "new-login") {
846
- return [2 /*return*/, response_6];
848
+ return [2 /*return*/, response_5];
847
849
  }
848
850
  router.push(baseRoute);
849
851
  return [2 /*return*/];
@@ -912,7 +914,9 @@ var AuthProvider = function (_a) {
912
914
  localStorage.removeItem("refresh-token");
913
915
  Promise.reject(error_11);
914
916
  return [2 /*return*/, router.push("".concat(loginRoute, "?logout=true"))];
915
- case 3: return [2 /*return*/, setIsLoading(false)];
917
+ case 3:
918
+ setIsLoading(false);
919
+ return [7 /*endfinally*/];
916
920
  case 4: return [2 /*return*/];
917
921
  }
918
922
  });
@@ -924,7 +928,6 @@ var AuthProvider = function (_a) {
924
928
  var newPath = url.split("?")[0];
925
929
  var currentPath = prevPathnameRef.current.split("?")[0];
926
930
  if (newPath !== currentPath) {
927
- setIsAuthoritiesReady(false);
928
931
  prevPathnameRef.current = url;
929
932
  }
930
933
  };
@@ -1 +1 @@
1
- {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/auth.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/auth.tsx"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ordentco/addons-auth-provider",
3
- "version": "0.9.131-mfe",
3
+ "version": "0.9.132-mfe",
4
4
  "description": "-",
5
5
  "main": "dist/src/index.js",
6
6
  "types": "",
package/src/auth.tsx CHANGED
@@ -288,8 +288,7 @@ export const AuthProvider: React.FC<AuthProviderProps> = ({
288
288
  const loggedIn = useMemo(() => !!token, [token]);
289
289
 
290
290
  const guard = useCallback(async () => {
291
-
292
- // When the context is initialized, check if the token is still valid
291
+ // Session Freshness Check
293
292
  if (
294
293
  sessionLastValidatedAt &&
295
294
  Date.now() - sessionLastValidatedAt < SESSION_VALIDITY_MS
@@ -299,174 +298,175 @@ export const AuthProvider: React.FC<AuthProviderProps> = ({
299
298
  return; // The context is fresh, so we exit immediately.
300
299
  }
301
300
 
302
- if (token) {
303
- setIsAuthoritiesReady(false);
304
- let response: any;
305
- try {
306
- response = await authService.validateToken();
307
- } catch (error: any) {
308
- const agent =
309
- typeof window !== "undefined" && localStorage.getItem("agent");
310
- if (
311
- agent === "qlola" &&
312
- ![200].includes(
313
- error?.response?.data?.code || error?.response?.status
314
- )
315
- ) {
316
- localStorage.removeItem("access-token");
317
- localStorage.removeItem("refresh-token");
318
-
319
- setToken(() => null);
320
-
321
- setSessionLastValidatedAt(null);
322
- return window.close();
323
- }
324
- console.log({ error });
325
- response = error;
326
- }
327
- const menu = await authService.validateMenu(token);
328
-
329
- if (menu.data.code !== 200 || !menu) setAlertMenuError(true);
330
-
331
- const newMenuData = get(menu, "data.data", []);
332
- const newMenus = newMenuData
333
- .filter((item: any) => item.productName !== "")
334
- .map((item: any) => item.productName);
335
- setMenus(newMenus);
336
- setMenuData(newMenuData);
301
+ // No Token Check
302
+ if (!token) {
303
+ router.push(loginRoute);
304
+ return;
305
+ }
337
306
 
338
- if (response.status === 401) {
339
- if (typeof window !== "undefined") {
340
- const refreshToken = localStorage.getItem("refresh-token");
341
- if (refreshToken) {
342
- const refresh = await authService.refreshToken(refreshToken);
307
+ // --- Start Validation Flow ---
308
+ setIsAuthoritiesReady(false);
343
309
 
344
- const newToken = refresh?.data?.data?.accessToken;
345
- const newRefreshToken = refresh?.data?.data?.refreshToken;
310
+ let response: any;
346
311
 
347
- localStorage.setItem("access-token", newToken);
348
- localStorage.setItem("refresh-token", newRefreshToken);
349
- setToken(newToken);
350
- }
351
- }
352
- } else if (response.status !== 200) {
312
+ try {
313
+ response = await authService.validateToken();
314
+ } catch (error: any) {
315
+ const agent =
316
+ typeof window !== "undefined" && localStorage.getItem("agent");
317
+ if (
318
+ agent === "qlola" &&
319
+ ![200].includes(error?.response?.data?.code || error?.response?.status)
320
+ ) {
353
321
  localStorage.removeItem("access-token");
354
322
  localStorage.removeItem("refresh-token");
355
323
 
356
324
  setToken(() => null);
357
325
 
358
326
  setSessionLastValidatedAt(null);
327
+ return window.close();
328
+ }
329
+ console.log({ error });
330
+ response = error;
331
+ }
332
+ const menu = await authService.validateMenu(token);
359
333
 
360
- router?.push(`${loginRoute}?logout=true`);
334
+ if (menu.data.code !== 200 || !menu) setAlertMenuError(true);
361
335
 
362
- return;
363
- }
364
- if (response?.data) {
365
- const { username, companyCode, userID, companyID } = response.data;
366
- localStorage.setItem(
367
- "login",
368
- `${username}-${companyCode}-${userID}-${companyID}`
369
- );
336
+ const newMenuData = get(menu, "data.data", []);
337
+ const newMenus = newMenuData
338
+ .filter((item: any) => item.productName !== "")
339
+ .map((item: any) => item.productName);
340
+ setMenus(newMenus);
341
+ setMenuData(newMenuData);
342
+
343
+ if (response.status === 401) {
344
+ if (typeof window !== "undefined") {
345
+ const refreshToken = localStorage.getItem("refresh-token");
346
+ if (refreshToken) {
347
+ const refresh = await authService.refreshToken(refreshToken);
348
+
349
+ const newToken = refresh?.data?.data?.accessToken;
350
+ const newRefreshToken = refresh?.data?.data?.refreshToken;
351
+
352
+ localStorage.setItem("access-token", newToken);
353
+ localStorage.setItem("refresh-token", newRefreshToken);
354
+ setToken(newToken);
355
+ }
370
356
  }
371
- setRoleID(() => response.data.roleIDs[0]);
372
- setRoleIDs(() => response.data.roleIDs);
373
- setCompanyID(() => response.data?.companyID);
374
- setCompanyName(() => response.data?.companyName);
375
- setUserID(() => response.data?.userID);
376
- setHoldingID(() => response.data?.holdingID);
377
- setUsername(() => response.data?.username || "Guest");
378
- setUserType(() => response.data?.userType || null);
379
- setCountryCode(() => response.data.countryCode);
380
- setCompanyCode(() => response?.data?.companyCode || "");
381
- setRegion(() => response.data.region || "");
382
- setUserMode(() => response.data?.userMode || "");
383
- setCompanyLevel(() => response?.data?.companyLevel || "");
384
- setIsIntraday(() => response?.data?.isIntraday || false);
385
-
386
- const a = new Map<string, Array<string>>();
387
- const productRoles = response.data?.productRoles || [];
388
-
389
- productRoles.forEach((r: any) => {
390
- a.set(r.productName, r.authorities);
391
- });
357
+ } else if (response.status !== 200) {
358
+ localStorage.removeItem("access-token");
359
+ localStorage.removeItem("refresh-token");
392
360
 
393
- setAuthorities(() => a);
361
+ setToken(() => null);
394
362
 
395
- // Generate product authority
396
- const privilegesRecords = { ...productAuthorities } as any;
363
+ setSessionLastValidatedAt(null);
397
364
 
398
- // use dynamic product roles! do not use hardcode!
399
- const productTypeEnumValuesFromProductRoles = Array.from(a.keys());
400
- const productTypeEnumValuesFromHardcode = Array.from(
401
- Object.values(ProductTypeEnum)
402
- );
403
- const remainingProductTypeEnum = [
404
- productTypeEnumValuesFromProductRoles,
405
- productTypeEnumValuesFromHardcode,
406
- ].reduce((acc, curr) => acc.filter((item) => !curr.includes(item)));
407
-
408
- const productTypeEnumKeyFromHardcode = Object.entries(ProductTypeEnum); // from hardcode
409
- const productTypeEnumKeyFromProductRoles = remainingProductTypeEnum.map(
410
- (item) => [snakeCase(item).toUpperCase(), item]
411
- ); // from product roles that not define by hardcode
412
- const allProductTypeEnum = concat(
413
- productTypeEnumKeyFromHardcode,
414
- productTypeEnumKeyFromProductRoles
365
+ router?.push(`${loginRoute}?logout=true`);
366
+
367
+ return;
368
+ }
369
+ if (response?.data) {
370
+ const { username, companyCode, userID, companyID } = response.data;
371
+ localStorage.setItem(
372
+ "login",
373
+ `${username}-${companyCode}-${userID}-${companyID}`
415
374
  );
375
+ }
376
+ setRoleID(() => response.data.roleIDs[0]);
377
+ setRoleIDs(() => response.data.roleIDs);
378
+ setCompanyID(() => response.data?.companyID);
379
+ setCompanyName(() => response.data?.companyName);
380
+ setUserID(() => response.data?.userID);
381
+ setHoldingID(() => response.data?.holdingID);
382
+ setUsername(() => response.data?.username || "Guest");
383
+ setUserType(() => response.data?.userType || null);
384
+ setCountryCode(() => response.data.countryCode);
385
+ setCompanyCode(() => response?.data?.companyCode || "");
386
+ setRegion(() => response.data.region || "");
387
+ setUserMode(() => response.data?.userMode || "");
388
+ setCompanyLevel(() => response?.data?.companyLevel || "");
389
+ setIsIntraday(() => response?.data?.isIntraday || false);
390
+
391
+ const a = new Map<string, Array<string>>();
392
+ const productRoles = response.data?.productRoles || [];
393
+
394
+ productRoles.forEach((r: any) => {
395
+ a.set(r.productName, r.authorities);
396
+ });
416
397
 
417
- // FIXME: delete this logic beacuse expose all product, need to get from variable productRoles / a!
418
- allProductTypeEnum.forEach(([productKey, productValue]) => {
419
- let productRole = a.get(productValue) || [];
420
- productRole = productRole.map((e) => e.split(":")[0]);
398
+ setAuthorities(() => a);
421
399
 
422
- const productAuthority: any = {};
423
- Object.entries(AuthorityLevelEnum).forEach(([key, value]) => {
424
- productAuthority[key] = productRole.includes(value);
425
- });
400
+ // Generate product authority
401
+ const privilegesRecords = { ...productAuthorities } as any;
402
+
403
+ // use dynamic product roles! do not use hardcode!
404
+ const productTypeEnumValuesFromProductRoles = Array.from(a.keys());
405
+ const productTypeEnumValuesFromHardcode = Array.from(
406
+ Object.values(ProductTypeEnum)
407
+ );
408
+ const remainingProductTypeEnum = [
409
+ productTypeEnumValuesFromProductRoles,
410
+ productTypeEnumValuesFromHardcode,
411
+ ].reduce((acc, curr) => acc.filter((item) => !curr.includes(item)));
412
+
413
+ const productTypeEnumKeyFromHardcode = Object.entries(ProductTypeEnum); // from hardcode
414
+ const productTypeEnumKeyFromProductRoles = remainingProductTypeEnum.map(
415
+ (item) => [snakeCase(item).toUpperCase(), item]
416
+ ); // from product roles that not define by hardcode
417
+ const allProductTypeEnum = concat(
418
+ productTypeEnumKeyFromHardcode,
419
+ productTypeEnumKeyFromProductRoles
420
+ );
426
421
 
427
- productAuthority["anyAuthority"] = productRole.length > 0;
428
- productAuthority["allAuthority"] =
429
- productRole.length >= Object.entries(AuthorityLevelEnum).length;
422
+ // FIXME: delete this logic beacuse expose all product, need to get from variable productRoles / a!
423
+ allProductTypeEnum.forEach(([productKey, productValue]) => {
424
+ let productRole = a.get(productValue) || [];
425
+ productRole = productRole.map((e) => e.split(":")[0]);
430
426
 
431
- privilegesRecords[productKey] =
432
- productAuthority as ProductAuthorityType;
427
+ const productAuthority: any = {};
428
+ Object.entries(AuthorityLevelEnum).forEach(([key, value]) => {
429
+ productAuthority[key] = productRole.includes(value);
433
430
  });
434
- // Combine Authority All Product Multipayment
435
- if (
436
- !isEmpty(
437
- newMenuData.find(
438
- (item: any) =>
439
- item.productName === MultipaymentAuthorityEnum["create"]
440
- )
441
- )
442
- ) {
443
- const menuDataMultipaymentCreate = newMenuData.find(
431
+
432
+ productAuthority["anyAuthority"] = productRole.length > 0;
433
+ productAuthority["allAuthority"] =
434
+ productRole.length >= Object.entries(AuthorityLevelEnum).length;
435
+
436
+ privilegesRecords[productKey] = productAuthority as ProductAuthorityType;
437
+ });
438
+
439
+ // Combine Authority All Product Multipayment
440
+ if (
441
+ !isEmpty(
442
+ newMenuData.find(
444
443
  (item: any) =>
445
444
  item.productName === MultipaymentAuthorityEnum["create"]
445
+ )
446
+ )
447
+ ) {
448
+ const menuDataMultipaymentCreate = newMenuData.find(
449
+ (item: any) => item.productName === MultipaymentAuthorityEnum["create"]
450
+ );
451
+ const menuDataMultipayment = newMenuData.filter(
452
+ (item: any) => item.parentID === menuDataMultipaymentCreate.menuID
453
+ );
454
+ const multipaymentProducts = menuDataMultipayment.map(
455
+ (item: any) => item["name"]
456
+ );
457
+ multipaymentProducts.map((item: any) => {
458
+ privilegesRecords["MULTIPAYMENT"] = mergeWith(
459
+ privilegesRecords["MULTIPAYMENT"],
460
+ privilegesRecords[snakeCase(item).toUpperCase()],
461
+ (objValue, srcValue) => objValue || srcValue
446
462
  );
447
- const menuDataMultipayment = newMenuData.filter(
448
- (item: any) => item.parentID === menuDataMultipaymentCreate.menuID
449
- );
450
- const multipaymentProducts = menuDataMultipayment.map(
451
- (item: any) => item["name"]
452
- );
453
- multipaymentProducts.map((item: any) => {
454
- privilegesRecords["MULTIPAYMENT"] = mergeWith(
455
- privilegesRecords["MULTIPAYMENT"],
456
- privilegesRecords[snakeCase(item).toUpperCase()],
457
- (objValue, srcValue) => objValue || srcValue
458
- );
459
- });
460
- }
461
-
462
- setProductAuthorities(privilegesRecords);
463
- setIsAuthoritiesReady(true);
464
-
465
- setSessionLastValidatedAt(Date.now());
466
- return;
463
+ });
467
464
  }
468
465
 
469
- router.push(loginRoute);
466
+ setProductAuthorities(privilegesRecords);
467
+ setIsAuthoritiesReady(true);
468
+
469
+ setSessionLastValidatedAt(Date.now());
470
470
  }, [token, authService]);
471
471
 
472
472
  const canIApprove = (
@@ -525,8 +525,7 @@ export const AuthProvider: React.FC<AuthProviderProps> = ({
525
525
  alreadyApprove = !!participant?.approvedAt;
526
526
  }
527
527
 
528
- if (participantUserIDs && participantUserIDs?.includes(userID as string))
529
- return false;
528
+ if (participantUserIDs?.includes(userID as string)) return false;
530
529
 
531
530
  if (
532
531
  Number(userID) === Number(createdBy.userID) &&
@@ -815,9 +814,12 @@ export const AuthProvider: React.FC<AuthProviderProps> = ({
815
814
  return;
816
815
  }
817
816
  return response;
818
- } catch (error: any) {
819
- // message.error(error.response.data.message);
820
- router.push(loginRoute);
817
+ } catch (error: unknown) {
818
+ if (error instanceof Error) {
819
+ console.error(error);
820
+ // message.error(error.response.data.message);
821
+ router.push(loginRoute);
822
+ }
821
823
  } finally {
822
824
  setIsLoading(false);
823
825
  }
@@ -976,7 +978,7 @@ export const AuthProvider: React.FC<AuthProviderProps> = ({
976
978
  Promise.reject(error);
977
979
  return router.push(`${loginRoute}?logout=true`);
978
980
  } finally {
979
- return setIsLoading(false);
981
+ setIsLoading(false);
980
982
  }
981
983
  };
982
984
 
@@ -986,7 +988,6 @@ export const AuthProvider: React.FC<AuthProviderProps> = ({
986
988
  const newPath = url.split("?")[0];
987
989
  const currentPath = prevPathnameRef.current.split("?")[0];
988
990
  if (newPath !== currentPath) {
989
- setIsAuthoritiesReady(false);
990
991
  prevPathnameRef.current = url;
991
992
  }
992
993
  };