@fctc/interface-logic 1.7.2 → 1.7.3
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/{configs.d.cts → configs.d.mts} +1 -1
- package/dist/configs.js +140 -115
- package/dist/{configs.cjs → configs.mjs} +105 -152
- package/dist/constants.js +41 -2
- package/dist/{constants.cjs → constants.mjs} +2 -40
- package/dist/environment.js +190 -170
- package/dist/{environment.cjs → environment.mjs} +156 -210
- package/dist/{hooks.d.cts → hooks.d.mts} +1 -1
- package/dist/hooks.js +1730 -1792
- package/dist/{hooks.cjs → hooks.mjs} +1631 -1897
- package/dist/{provider.d.cts → provider.d.mts} +1 -1
- package/dist/provider.d.ts +1 -1
- package/dist/provider.js +594 -610
- package/dist/{provider.cjs → provider.mjs} +560 -650
- package/dist/{services.d.cts → services.d.mts} +1 -1
- package/dist/services.js +1439 -1562
- package/dist/{services.cjs → services.mjs} +1399 -1608
- package/dist/{store.d.cts → store.d.mts} +127 -127
- package/dist/store.d.ts +127 -127
- package/dist/store.js +129 -41
- package/dist/{store.cjs → store.mjs} +28 -146
- package/dist/{types.d.cts → types.d.mts} +1 -1
- package/dist/types.js +18 -0
- package/dist/types.mjs +0 -0
- package/dist/{utils.d.cts → utils.d.mts} +2 -2
- package/dist/utils.d.ts +2 -2
- package/dist/utils.js +176 -135
- package/dist/{utils.cjs → utils.mjs} +115 -202
- package/package.json +1 -2
- package/dist/types.cjs +0 -17
- /package/dist/{constants.d.cts → constants.d.mts} +0 -0
- /package/dist/{environment.d.cts → environment.d.mts} +0 -0
- /package/dist/{view-type-BGJfDe73.d.cts → view-type-BGJfDe73.d.mts} +0 -0
|
@@ -1,83 +1,8 @@
|
|
|
1
|
-
var __create = Object.create;
|
|
2
|
-
var __defProp = Object.defineProperty;
|
|
3
|
-
var __defProps = Object.defineProperties;
|
|
4
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
-
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
|
|
6
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
7
|
-
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
8
|
-
var __getProtoOf = Object.getPrototypeOf;
|
|
9
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
10
|
-
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
11
|
-
var __pow = Math.pow;
|
|
12
|
-
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
13
|
-
var __spreadValues = (a, b) => {
|
|
14
|
-
for (var prop in b || (b = {}))
|
|
15
|
-
if (__hasOwnProp.call(b, prop))
|
|
16
|
-
__defNormalProp(a, prop, b[prop]);
|
|
17
|
-
if (__getOwnPropSymbols)
|
|
18
|
-
for (var prop of __getOwnPropSymbols(b)) {
|
|
19
|
-
if (__propIsEnum.call(b, prop))
|
|
20
|
-
__defNormalProp(a, prop, b[prop]);
|
|
21
|
-
}
|
|
22
|
-
return a;
|
|
23
|
-
};
|
|
24
|
-
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
25
|
-
var __export = (target, all) => {
|
|
26
|
-
for (var name in all)
|
|
27
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
28
|
-
};
|
|
29
|
-
var __copyProps = (to, from, except, desc) => {
|
|
30
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
31
|
-
for (let key of __getOwnPropNames(from))
|
|
32
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
33
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
34
|
-
}
|
|
35
|
-
return to;
|
|
36
|
-
};
|
|
37
|
-
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
38
|
-
// If the importer is in node compatibility mode or this is not an ESM
|
|
39
|
-
// file that has been converted to a CommonJS file using a Babel-
|
|
40
|
-
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
41
|
-
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
42
|
-
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
43
|
-
mod
|
|
44
|
-
));
|
|
45
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
46
|
-
var __async = (__this, __arguments, generator) => {
|
|
47
|
-
return new Promise((resolve, reject) => {
|
|
48
|
-
var fulfilled = (value) => {
|
|
49
|
-
try {
|
|
50
|
-
step(generator.next(value));
|
|
51
|
-
} catch (e) {
|
|
52
|
-
reject(e);
|
|
53
|
-
}
|
|
54
|
-
};
|
|
55
|
-
var rejected = (value) => {
|
|
56
|
-
try {
|
|
57
|
-
step(generator.throw(value));
|
|
58
|
-
} catch (e) {
|
|
59
|
-
reject(e);
|
|
60
|
-
}
|
|
61
|
-
};
|
|
62
|
-
var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
|
|
63
|
-
step((generator = generator.apply(__this, __arguments)).next());
|
|
64
|
-
});
|
|
65
|
-
};
|
|
66
|
-
|
|
67
|
-
// src/environment.ts
|
|
68
|
-
var environment_exports = {};
|
|
69
|
-
__export(environment_exports, {
|
|
70
|
-
EnvStore: () => EnvStore,
|
|
71
|
-
getEnv: () => getEnv,
|
|
72
|
-
initEnv: () => initEnv
|
|
73
|
-
});
|
|
74
|
-
module.exports = __toCommonJS(environment_exports);
|
|
75
|
-
|
|
76
1
|
// src/configs/axios-client.ts
|
|
77
|
-
|
|
2
|
+
import axios from "axios";
|
|
78
3
|
|
|
79
4
|
// src/utils/format.ts
|
|
80
|
-
|
|
5
|
+
import moment from "moment";
|
|
81
6
|
|
|
82
7
|
// src/utils/domain/py_tokenizer.ts
|
|
83
8
|
var TokenizerError = class extends Error {
|
|
@@ -1157,6 +1082,22 @@ var PyRelativeDelta = class _PyRelativeDelta {
|
|
|
1157
1082
|
this.microsecond = params.microsecond;
|
|
1158
1083
|
this.weekday = params.weekday;
|
|
1159
1084
|
}
|
|
1085
|
+
years;
|
|
1086
|
+
months;
|
|
1087
|
+
days;
|
|
1088
|
+
hours;
|
|
1089
|
+
minutes;
|
|
1090
|
+
seconds;
|
|
1091
|
+
microseconds;
|
|
1092
|
+
leapDays;
|
|
1093
|
+
year;
|
|
1094
|
+
month;
|
|
1095
|
+
day;
|
|
1096
|
+
hour;
|
|
1097
|
+
minute;
|
|
1098
|
+
second;
|
|
1099
|
+
microsecond;
|
|
1100
|
+
weekday;
|
|
1160
1101
|
negate() {
|
|
1161
1102
|
return new _PyRelativeDelta(this, -1);
|
|
1162
1103
|
}
|
|
@@ -1271,7 +1212,7 @@ function execOnIterable(iterable, func) {
|
|
|
1271
1212
|
if (typeof iterable === "object" && !Array.isArray(iterable) && !(iterable instanceof Set)) {
|
|
1272
1213
|
iterable = Object.keys(iterable);
|
|
1273
1214
|
}
|
|
1274
|
-
if (typeof
|
|
1215
|
+
if (typeof iterable?.[Symbol.iterator] !== "function") {
|
|
1275
1216
|
throw new EvaluationError("value not iterable");
|
|
1276
1217
|
}
|
|
1277
1218
|
return func(iterable);
|
|
@@ -1594,7 +1535,7 @@ function applyBinaryOp(ast, context) {
|
|
|
1594
1535
|
}
|
|
1595
1536
|
return Math.floor(left / right);
|
|
1596
1537
|
case "**":
|
|
1597
|
-
return
|
|
1538
|
+
return left ** right;
|
|
1598
1539
|
case "==":
|
|
1599
1540
|
return isEqual(left, right);
|
|
1600
1541
|
case "<>":
|
|
@@ -1716,7 +1657,7 @@ function evaluate(ast, context = {}) {
|
|
|
1716
1657
|
const dicts = /* @__PURE__ */ new Set();
|
|
1717
1658
|
let pyContext;
|
|
1718
1659
|
const evalContext = Object.create(context);
|
|
1719
|
-
if (!
|
|
1660
|
+
if (!evalContext?.context) {
|
|
1720
1661
|
Object.defineProperty(evalContext, "context", {
|
|
1721
1662
|
get() {
|
|
1722
1663
|
if (!pyContext) {
|
|
@@ -1727,18 +1668,17 @@ function evaluate(ast, context = {}) {
|
|
|
1727
1668
|
});
|
|
1728
1669
|
}
|
|
1729
1670
|
function _innerEvaluate(ast2) {
|
|
1730
|
-
|
|
1731
|
-
switch (ast2 == null ? void 0 : ast2.type) {
|
|
1671
|
+
switch (ast2?.type) {
|
|
1732
1672
|
case 0:
|
|
1733
1673
|
// Number
|
|
1734
1674
|
case 1:
|
|
1735
1675
|
return ast2.value;
|
|
1736
1676
|
case 5:
|
|
1737
1677
|
if (ast2.value in evalContext) {
|
|
1738
|
-
if (typeof evalContext[ast2.value] === "object" &&
|
|
1739
|
-
return
|
|
1678
|
+
if (typeof evalContext[ast2.value] === "object" && evalContext[ast2.value]?.id) {
|
|
1679
|
+
return evalContext[ast2.value]?.id;
|
|
1740
1680
|
}
|
|
1741
|
-
return
|
|
1681
|
+
return evalContext[ast2.value] ?? false;
|
|
1742
1682
|
} else if (ast2.value in BUILTINS) {
|
|
1743
1683
|
return BUILTINS[ast2.value];
|
|
1744
1684
|
} else {
|
|
@@ -1775,7 +1715,7 @@ function evaluate(ast, context = {}) {
|
|
|
1775
1715
|
const args = ast2.args.map(_evaluate);
|
|
1776
1716
|
const kwargs = {};
|
|
1777
1717
|
for (const kwarg in ast2.kwargs) {
|
|
1778
|
-
kwargs[kwarg] = _evaluate(ast2
|
|
1718
|
+
kwargs[kwarg] = _evaluate(ast2?.kwargs[kwarg]);
|
|
1779
1719
|
}
|
|
1780
1720
|
if (fnValue === PyDate || fnValue === PyDateTime || fnValue === PyTime || fnValue === PyRelativeDelta || fnValue === PyTimeDelta) {
|
|
1781
1721
|
return fnValue.create(...args, kwargs);
|
|
@@ -1854,25 +1794,9 @@ function escapeRegExp(str) {
|
|
|
1854
1794
|
var InvalidDomainError = class extends Error {
|
|
1855
1795
|
};
|
|
1856
1796
|
var Domain = class _Domain {
|
|
1857
|
-
|
|
1858
|
-
|
|
1859
|
-
|
|
1860
|
-
return new _Domain(descr.toString());
|
|
1861
|
-
} else {
|
|
1862
|
-
let rawAST;
|
|
1863
|
-
try {
|
|
1864
|
-
rawAST = typeof descr === "string" ? parseExpr(descr) : toAST(descr);
|
|
1865
|
-
} catch (error) {
|
|
1866
|
-
throw new InvalidDomainError(
|
|
1867
|
-
`Invalid domain representation: ${descr}`,
|
|
1868
|
-
{
|
|
1869
|
-
cause: error
|
|
1870
|
-
}
|
|
1871
|
-
);
|
|
1872
|
-
}
|
|
1873
|
-
this.ast = normalizeDomainAST(rawAST);
|
|
1874
|
-
}
|
|
1875
|
-
}
|
|
1797
|
+
ast = { type: -1, value: null };
|
|
1798
|
+
static TRUE;
|
|
1799
|
+
static FALSE;
|
|
1876
1800
|
static combine(domains, operator) {
|
|
1877
1801
|
if (domains.length === 0) {
|
|
1878
1802
|
return new _Domain([]);
|
|
@@ -1951,6 +1875,24 @@ var Domain = class _Domain {
|
|
|
1951
1875
|
processLeaf(d.ast.value, 0, "&", newDomain);
|
|
1952
1876
|
return newDomain;
|
|
1953
1877
|
}
|
|
1878
|
+
constructor(descr = []) {
|
|
1879
|
+
if (descr instanceof _Domain) {
|
|
1880
|
+
return new _Domain(descr.toString());
|
|
1881
|
+
} else {
|
|
1882
|
+
let rawAST;
|
|
1883
|
+
try {
|
|
1884
|
+
rawAST = typeof descr === "string" ? parseExpr(descr) : toAST(descr);
|
|
1885
|
+
} catch (error) {
|
|
1886
|
+
throw new InvalidDomainError(
|
|
1887
|
+
`Invalid domain representation: ${descr}`,
|
|
1888
|
+
{
|
|
1889
|
+
cause: error
|
|
1890
|
+
}
|
|
1891
|
+
);
|
|
1892
|
+
}
|
|
1893
|
+
this.ast = normalizeDomainAST(rawAST);
|
|
1894
|
+
}
|
|
1895
|
+
}
|
|
1954
1896
|
contains(record) {
|
|
1955
1897
|
const expr = evaluate(this.ast, record);
|
|
1956
1898
|
return matchDomain(record, expr);
|
|
@@ -1969,7 +1911,7 @@ var Domain = class _Domain {
|
|
|
1969
1911
|
return evaluatedAsList;
|
|
1970
1912
|
}
|
|
1971
1913
|
return this.toString();
|
|
1972
|
-
} catch
|
|
1914
|
+
} catch {
|
|
1973
1915
|
return this.toString();
|
|
1974
1916
|
}
|
|
1975
1917
|
}
|
|
@@ -2169,7 +2111,7 @@ function matchDomain(record, domain) {
|
|
|
2169
2111
|
}
|
|
2170
2112
|
|
|
2171
2113
|
// src/utils/function.ts
|
|
2172
|
-
|
|
2114
|
+
import { useEffect, useState } from "react";
|
|
2173
2115
|
var updateTokenParamInOriginalRequest = (originalRequest, newAccessToken) => {
|
|
2174
2116
|
if (!originalRequest.data) return originalRequest.data;
|
|
2175
2117
|
if (typeof originalRequest.data === "string") {
|
|
@@ -2192,22 +2134,22 @@ var updateTokenParamInOriginalRequest = (originalRequest, newAccessToken) => {
|
|
|
2192
2134
|
|
|
2193
2135
|
// src/utils/storage/local-storage.ts
|
|
2194
2136
|
var localStorageUtils = () => {
|
|
2195
|
-
const setToken = (access_token) =>
|
|
2137
|
+
const setToken = async (access_token) => {
|
|
2196
2138
|
localStorage.setItem("accessToken", access_token);
|
|
2197
|
-
}
|
|
2198
|
-
const setRefreshToken = (refresh_token) =>
|
|
2139
|
+
};
|
|
2140
|
+
const setRefreshToken = async (refresh_token) => {
|
|
2199
2141
|
localStorage.setItem("refreshToken", refresh_token);
|
|
2200
|
-
}
|
|
2201
|
-
const getAccessToken = () =>
|
|
2142
|
+
};
|
|
2143
|
+
const getAccessToken = async () => {
|
|
2202
2144
|
return localStorage.getItem("accessToken");
|
|
2203
|
-
}
|
|
2204
|
-
const getRefreshToken = () =>
|
|
2145
|
+
};
|
|
2146
|
+
const getRefreshToken = async () => {
|
|
2205
2147
|
return localStorage.getItem("refreshToken");
|
|
2206
|
-
}
|
|
2207
|
-
const clearToken = () =>
|
|
2148
|
+
};
|
|
2149
|
+
const clearToken = async () => {
|
|
2208
2150
|
localStorage.removeItem("accessToken");
|
|
2209
2151
|
localStorage.removeItem("refreshToken");
|
|
2210
|
-
}
|
|
2152
|
+
};
|
|
2211
2153
|
return {
|
|
2212
2154
|
setToken,
|
|
2213
2155
|
setRefreshToken,
|
|
@@ -2219,9 +2161,9 @@ var localStorageUtils = () => {
|
|
|
2219
2161
|
|
|
2220
2162
|
// src/utils/storage/session-storage.ts
|
|
2221
2163
|
var sessionStorageUtils = () => {
|
|
2222
|
-
const getBrowserSession = () =>
|
|
2164
|
+
const getBrowserSession = async () => {
|
|
2223
2165
|
return sessionStorage.getItem("browserSession");
|
|
2224
|
-
}
|
|
2166
|
+
};
|
|
2225
2167
|
return {
|
|
2226
2168
|
getBrowserSession
|
|
2227
2169
|
};
|
|
@@ -2230,14 +2172,13 @@ var sessionStorageUtils = () => {
|
|
|
2230
2172
|
// src/configs/axios-client.ts
|
|
2231
2173
|
var axiosClient = {
|
|
2232
2174
|
init(config) {
|
|
2233
|
-
|
|
2234
|
-
const
|
|
2235
|
-
const sessionStorage2 = (_b = config.sessionStorageUtils) != null ? _b : sessionStorageUtils();
|
|
2175
|
+
const localStorage2 = config.localStorageUtils ?? localStorageUtils();
|
|
2176
|
+
const sessionStorage2 = config.sessionStorageUtils ?? sessionStorageUtils();
|
|
2236
2177
|
const db = config.db;
|
|
2237
2178
|
let isRefreshing = false;
|
|
2238
2179
|
let failedQueue = [];
|
|
2239
2180
|
const processQueue = (error, token = null) => {
|
|
2240
|
-
failedQueue
|
|
2181
|
+
failedQueue?.forEach((prom) => {
|
|
2241
2182
|
if (error) {
|
|
2242
2183
|
prom.reject(error);
|
|
2243
2184
|
} else {
|
|
@@ -2246,21 +2187,21 @@ var axiosClient = {
|
|
|
2246
2187
|
});
|
|
2247
2188
|
failedQueue = [];
|
|
2248
2189
|
};
|
|
2249
|
-
const instance =
|
|
2250
|
-
adapter:
|
|
2190
|
+
const instance = axios.create({
|
|
2191
|
+
adapter: axios.defaults.adapter,
|
|
2251
2192
|
baseURL: config.baseUrl,
|
|
2252
2193
|
timeout: 5e4,
|
|
2253
2194
|
paramsSerializer: (params) => new URLSearchParams(params).toString()
|
|
2254
2195
|
});
|
|
2255
2196
|
instance.interceptors.request.use(
|
|
2256
|
-
(config2) =>
|
|
2197
|
+
async (config2) => {
|
|
2257
2198
|
const useRefreshToken = config2.useRefreshToken;
|
|
2258
|
-
const token = useRefreshToken ?
|
|
2199
|
+
const token = useRefreshToken ? await localStorage2.getRefreshToken() : await localStorage2.getAccessToken();
|
|
2259
2200
|
if (token) {
|
|
2260
2201
|
config2.headers["Authorization"] = "Bearer " + token;
|
|
2261
2202
|
}
|
|
2262
2203
|
return config2;
|
|
2263
|
-
}
|
|
2204
|
+
},
|
|
2264
2205
|
(error) => {
|
|
2265
2206
|
Promise.reject(error);
|
|
2266
2207
|
}
|
|
@@ -2269,21 +2210,19 @@ var axiosClient = {
|
|
|
2269
2210
|
(response) => {
|
|
2270
2211
|
return handleResponse(response);
|
|
2271
2212
|
},
|
|
2272
|
-
(error) =>
|
|
2273
|
-
|
|
2274
|
-
const handleError3 = (error2) => __async(null, null, function* () {
|
|
2275
|
-
var _a3;
|
|
2213
|
+
async (error) => {
|
|
2214
|
+
const handleError3 = async (error2) => {
|
|
2276
2215
|
if (!error2.response) {
|
|
2277
2216
|
return error2;
|
|
2278
2217
|
}
|
|
2279
2218
|
const { data } = error2.response;
|
|
2280
|
-
if (data && data.code === 400 && ["invalid_grant"].includes(
|
|
2281
|
-
|
|
2219
|
+
if (data && data.code === 400 && ["invalid_grant"].includes(data.data?.error)) {
|
|
2220
|
+
await clearAuthToken();
|
|
2282
2221
|
}
|
|
2283
2222
|
return data;
|
|
2284
|
-
}
|
|
2223
|
+
};
|
|
2285
2224
|
const originalRequest = error.config;
|
|
2286
|
-
if ((
|
|
2225
|
+
if ((error.response?.status === 403 || error.response?.status === 401 || error.response?.status === 404) && ["TOKEN_EXPIRED", "AUTHEN_FAIL", 401, "ERR_2FA_006"].includes(
|
|
2287
2226
|
error.response.data.code
|
|
2288
2227
|
)) {
|
|
2289
2228
|
if (isRefreshing) {
|
|
@@ -2296,19 +2235,18 @@ var axiosClient = {
|
|
|
2296
2235
|
token
|
|
2297
2236
|
);
|
|
2298
2237
|
return instance.request(originalRequest);
|
|
2299
|
-
}).catch((err) =>
|
|
2300
|
-
|
|
2301
|
-
|
|
2302
|
-
yield clearAuthToken();
|
|
2238
|
+
}).catch(async (err) => {
|
|
2239
|
+
if ((err.response?.status === 400 || err.response?.status === 401) && ["invalid_grant"].includes(err.response.data.error)) {
|
|
2240
|
+
await clearAuthToken();
|
|
2303
2241
|
}
|
|
2304
|
-
})
|
|
2242
|
+
});
|
|
2305
2243
|
}
|
|
2306
|
-
const browserSession =
|
|
2307
|
-
const refreshToken =
|
|
2308
|
-
const accessTokenExp =
|
|
2244
|
+
const browserSession = await sessionStorage2.getBrowserSession();
|
|
2245
|
+
const refreshToken = await localStorage2.getRefreshToken();
|
|
2246
|
+
const accessTokenExp = await localStorage2.getAccessToken();
|
|
2309
2247
|
isRefreshing = true;
|
|
2310
2248
|
if (!refreshToken && (!browserSession || browserSession == "unActive")) {
|
|
2311
|
-
|
|
2249
|
+
await clearAuthToken();
|
|
2312
2250
|
} else {
|
|
2313
2251
|
const payload = Object.fromEntries(
|
|
2314
2252
|
Object.entries({
|
|
@@ -2319,9 +2257,8 @@ var axiosClient = {
|
|
|
2319
2257
|
}).filter(([_, value]) => !!value)
|
|
2320
2258
|
);
|
|
2321
2259
|
return new Promise(function(resolve) {
|
|
2322
|
-
|
|
2323
|
-
|
|
2324
|
-
`${config.baseUrl}${(_a3 = config.refreshTokenEndpoint) != null ? _a3 : "/authentication/oauth2/token" /* AUTH_TOKEN_PATH */}`,
|
|
2260
|
+
axios.post(
|
|
2261
|
+
`${config.baseUrl}${config.refreshTokenEndpoint ?? "/authentication/oauth2/token" /* AUTH_TOKEN_PATH */}`,
|
|
2325
2262
|
payload,
|
|
2326
2263
|
{
|
|
2327
2264
|
headers: {
|
|
@@ -2329,11 +2266,11 @@ var axiosClient = {
|
|
|
2329
2266
|
Authorization: `Bearer ${accessTokenExp}`
|
|
2330
2267
|
}
|
|
2331
2268
|
}
|
|
2332
|
-
).then((res) =>
|
|
2269
|
+
).then(async (res) => {
|
|
2333
2270
|
const data = res.data;
|
|
2334
|
-
|
|
2335
|
-
|
|
2336
|
-
|
|
2271
|
+
await localStorage2.setToken(data.access_token);
|
|
2272
|
+
await localStorage2.setRefreshToken(data.refresh_token);
|
|
2273
|
+
axios.defaults.headers.common["Authorization"] = "Bearer " + data.access_token;
|
|
2337
2274
|
originalRequest.headers["Authorization"] = "Bearer " + data.access_token;
|
|
2338
2275
|
originalRequest.data = updateTokenParamInOriginalRequest(
|
|
2339
2276
|
originalRequest,
|
|
@@ -2341,26 +2278,25 @@ var axiosClient = {
|
|
|
2341
2278
|
);
|
|
2342
2279
|
processQueue(null, data.access_token);
|
|
2343
2280
|
resolve(instance.request(originalRequest));
|
|
2344
|
-
})
|
|
2345
|
-
|
|
2346
|
-
|
|
2347
|
-
yield clearAuthToken();
|
|
2281
|
+
}).catch(async (err) => {
|
|
2282
|
+
if (err && (err?.error_code === "AUTHEN_FAIL" || err?.error_code === "TOKEN_EXPIRED" || err?.error_code === "TOKEN_INCORRECT" || err?.code === "ERR_BAD_REQUEST") || err?.error_code === "ERR_2FA_006") {
|
|
2283
|
+
await clearAuthToken();
|
|
2348
2284
|
}
|
|
2349
2285
|
if (err && err.response) {
|
|
2350
|
-
const { error_code } =
|
|
2286
|
+
const { error_code } = err.response?.data || {};
|
|
2351
2287
|
if (error_code === "AUTHEN_FAIL") {
|
|
2352
|
-
|
|
2288
|
+
await clearAuthToken();
|
|
2353
2289
|
}
|
|
2354
2290
|
}
|
|
2355
2291
|
processQueue(err, null);
|
|
2356
|
-
})
|
|
2292
|
+
}).finally(() => {
|
|
2357
2293
|
isRefreshing = false;
|
|
2358
2294
|
});
|
|
2359
2295
|
});
|
|
2360
2296
|
}
|
|
2361
2297
|
}
|
|
2362
|
-
return Promise.reject(
|
|
2363
|
-
}
|
|
2298
|
+
return Promise.reject(await handleError3(error));
|
|
2299
|
+
}
|
|
2364
2300
|
);
|
|
2365
2301
|
const handleResponse = (res) => {
|
|
2366
2302
|
if (res && res.data) {
|
|
@@ -2369,7 +2305,6 @@ var axiosClient = {
|
|
|
2369
2305
|
return res;
|
|
2370
2306
|
};
|
|
2371
2307
|
const handleError2 = (error) => {
|
|
2372
|
-
var _a2, _b2, _c;
|
|
2373
2308
|
if (error.isAxiosError && error.code === "ECONNABORTED") {
|
|
2374
2309
|
console.error("Request Timeout Error:", error);
|
|
2375
2310
|
return "Request Timeout Error";
|
|
@@ -2377,17 +2312,17 @@ var axiosClient = {
|
|
|
2377
2312
|
console.error("Network Error:", error);
|
|
2378
2313
|
return "Network Error";
|
|
2379
2314
|
} else {
|
|
2380
|
-
console.error("Other Error:", error
|
|
2381
|
-
const errorMessage =
|
|
2382
|
-
return { message: errorMessage, status:
|
|
2315
|
+
console.error("Other Error:", error?.response);
|
|
2316
|
+
const errorMessage = error?.response?.data?.message || "An error occurred";
|
|
2317
|
+
return { message: errorMessage, status: error?.response?.status };
|
|
2383
2318
|
}
|
|
2384
2319
|
};
|
|
2385
|
-
const clearAuthToken = () =>
|
|
2386
|
-
|
|
2320
|
+
const clearAuthToken = async () => {
|
|
2321
|
+
await localStorage2.clearToken();
|
|
2387
2322
|
if (typeof window !== "undefined") {
|
|
2388
2323
|
window.location.href = `/login`;
|
|
2389
2324
|
}
|
|
2390
|
-
}
|
|
2325
|
+
};
|
|
2391
2326
|
function formatUrl(url, db2) {
|
|
2392
2327
|
return url + (db2 ? "?db=" + db2 : "");
|
|
2393
2328
|
}
|
|
@@ -2411,14 +2346,14 @@ var axiosClient = {
|
|
|
2411
2346
|
};
|
|
2412
2347
|
|
|
2413
2348
|
// src/store/index.ts
|
|
2414
|
-
|
|
2349
|
+
import { useDispatch, useSelector } from "react-redux";
|
|
2415
2350
|
|
|
2416
2351
|
// src/store/reducers/breadcrums-slice/index.ts
|
|
2417
|
-
|
|
2352
|
+
import { createSlice } from "@reduxjs/toolkit";
|
|
2418
2353
|
var initialState = {
|
|
2419
2354
|
breadCrumbs: []
|
|
2420
2355
|
};
|
|
2421
|
-
var breadcrumbsSlice =
|
|
2356
|
+
var breadcrumbsSlice = createSlice({
|
|
2422
2357
|
name: "breadcrumbs",
|
|
2423
2358
|
initialState,
|
|
2424
2359
|
reducers: {
|
|
@@ -2431,7 +2366,7 @@ var { setBreadCrumbs } = breadcrumbsSlice.actions;
|
|
|
2431
2366
|
var breadcrums_slice_default = breadcrumbsSlice.reducer;
|
|
2432
2367
|
|
|
2433
2368
|
// src/store/reducers/env-slice/index.ts
|
|
2434
|
-
|
|
2369
|
+
import { createSlice as createSlice2 } from "@reduxjs/toolkit";
|
|
2435
2370
|
var initialState2 = {
|
|
2436
2371
|
baseUrl: "",
|
|
2437
2372
|
requests: null,
|
|
@@ -2452,7 +2387,7 @@ var initialState2 = {
|
|
|
2452
2387
|
tz: "Asia/Saigon"
|
|
2453
2388
|
}
|
|
2454
2389
|
};
|
|
2455
|
-
var envSlice = (
|
|
2390
|
+
var envSlice = createSlice2({
|
|
2456
2391
|
name: "env",
|
|
2457
2392
|
initialState: initialState2,
|
|
2458
2393
|
reducers: {
|
|
@@ -2499,7 +2434,7 @@ var {
|
|
|
2499
2434
|
var env_slice_default = envSlice.reducer;
|
|
2500
2435
|
|
|
2501
2436
|
// src/store/reducers/excel-slice/index.ts
|
|
2502
|
-
|
|
2437
|
+
import { createSlice as createSlice3 } from "@reduxjs/toolkit";
|
|
2503
2438
|
var initialState3 = {
|
|
2504
2439
|
dataParse: null,
|
|
2505
2440
|
idFile: null,
|
|
@@ -2508,7 +2443,7 @@ var initialState3 = {
|
|
|
2508
2443
|
selectedFile: null,
|
|
2509
2444
|
errorData: null
|
|
2510
2445
|
};
|
|
2511
|
-
var excelSlice = (
|
|
2446
|
+
var excelSlice = createSlice3({
|
|
2512
2447
|
name: "excel",
|
|
2513
2448
|
initialState: initialState3,
|
|
2514
2449
|
reducers: {
|
|
@@ -2543,7 +2478,7 @@ var {
|
|
|
2543
2478
|
var excel_slice_default = excelSlice.reducer;
|
|
2544
2479
|
|
|
2545
2480
|
// src/store/reducers/form-slice/index.ts
|
|
2546
|
-
|
|
2481
|
+
import { createSlice as createSlice4 } from "@reduxjs/toolkit";
|
|
2547
2482
|
var initialState4 = {
|
|
2548
2483
|
viewDataStore: {},
|
|
2549
2484
|
isShowingModalDetail: false,
|
|
@@ -2553,7 +2488,7 @@ var initialState4 = {
|
|
|
2553
2488
|
listSubject: {},
|
|
2554
2489
|
dataUser: {}
|
|
2555
2490
|
};
|
|
2556
|
-
var formSlice = (
|
|
2491
|
+
var formSlice = createSlice4({
|
|
2557
2492
|
name: "form",
|
|
2558
2493
|
initialState: initialState4,
|
|
2559
2494
|
reducers: {
|
|
@@ -2592,15 +2527,15 @@ var {
|
|
|
2592
2527
|
var form_slice_default = formSlice.reducer;
|
|
2593
2528
|
|
|
2594
2529
|
// src/store/reducers/header-slice/index.ts
|
|
2595
|
-
|
|
2596
|
-
var headerSlice = (
|
|
2530
|
+
import { createSlice as createSlice5 } from "@reduxjs/toolkit";
|
|
2531
|
+
var headerSlice = createSlice5({
|
|
2597
2532
|
name: "header",
|
|
2598
2533
|
initialState: {
|
|
2599
2534
|
value: { allowedCompanyIds: [] }
|
|
2600
2535
|
},
|
|
2601
2536
|
reducers: {
|
|
2602
2537
|
setHeader: (state, action) => {
|
|
2603
|
-
state.value =
|
|
2538
|
+
state.value = { ...state.value, ...action.payload };
|
|
2604
2539
|
},
|
|
2605
2540
|
setAllowedCompanyIds: (state, action) => {
|
|
2606
2541
|
state.value.allowedCompanyIds = action.payload;
|
|
@@ -2611,7 +2546,7 @@ var { setAllowedCompanyIds, setHeader } = headerSlice.actions;
|
|
|
2611
2546
|
var header_slice_default = headerSlice.reducer;
|
|
2612
2547
|
|
|
2613
2548
|
// src/store/reducers/list-slice/index.ts
|
|
2614
|
-
|
|
2549
|
+
import { createSlice as createSlice6 } from "@reduxjs/toolkit";
|
|
2615
2550
|
var initialState5 = {
|
|
2616
2551
|
pageLimit: 10,
|
|
2617
2552
|
fields: {},
|
|
@@ -2625,7 +2560,7 @@ var initialState5 = {
|
|
|
2625
2560
|
page: 0,
|
|
2626
2561
|
domainTable: []
|
|
2627
2562
|
};
|
|
2628
|
-
var listSlice = (
|
|
2563
|
+
var listSlice = createSlice6({
|
|
2629
2564
|
name: "list",
|
|
2630
2565
|
initialState: initialState5,
|
|
2631
2566
|
reducers: {
|
|
@@ -2676,13 +2611,13 @@ var {
|
|
|
2676
2611
|
var list_slice_default = listSlice.reducer;
|
|
2677
2612
|
|
|
2678
2613
|
// src/store/reducers/login-slice/index.ts
|
|
2679
|
-
|
|
2614
|
+
import { createSlice as createSlice7 } from "@reduxjs/toolkit";
|
|
2680
2615
|
var initialState6 = {
|
|
2681
2616
|
db: "",
|
|
2682
2617
|
redirectTo: "/",
|
|
2683
2618
|
forgotPasswordUrl: "/"
|
|
2684
2619
|
};
|
|
2685
|
-
var loginSlice = (
|
|
2620
|
+
var loginSlice = createSlice7({
|
|
2686
2621
|
name: "login",
|
|
2687
2622
|
initialState: initialState6,
|
|
2688
2623
|
reducers: {
|
|
@@ -2701,14 +2636,14 @@ var { setDb, setRedirectTo, setForgotPasswordUrl } = loginSlice.actions;
|
|
|
2701
2636
|
var login_slice_default = loginSlice.reducer;
|
|
2702
2637
|
|
|
2703
2638
|
// src/store/reducers/navbar-slice/index.ts
|
|
2704
|
-
|
|
2639
|
+
import { createSlice as createSlice8 } from "@reduxjs/toolkit";
|
|
2705
2640
|
var initialState7 = {
|
|
2706
2641
|
menuFocus: {},
|
|
2707
2642
|
menuAction: {},
|
|
2708
2643
|
navbarWidth: 250,
|
|
2709
2644
|
menuList: []
|
|
2710
2645
|
};
|
|
2711
|
-
var navbarSlice = (
|
|
2646
|
+
var navbarSlice = createSlice8({
|
|
2712
2647
|
name: "navbar",
|
|
2713
2648
|
initialState: initialState7,
|
|
2714
2649
|
reducers: {
|
|
@@ -2730,11 +2665,11 @@ var { setMenuFocus, setMenuFocusAction, setNavbarWidth, setMenuList } = navbarSl
|
|
|
2730
2665
|
var navbar_slice_default = navbarSlice.reducer;
|
|
2731
2666
|
|
|
2732
2667
|
// src/store/reducers/profile-slice/index.ts
|
|
2733
|
-
|
|
2668
|
+
import { createSlice as createSlice9 } from "@reduxjs/toolkit";
|
|
2734
2669
|
var initialState8 = {
|
|
2735
2670
|
profile: {}
|
|
2736
2671
|
};
|
|
2737
|
-
var profileSlice = (
|
|
2672
|
+
var profileSlice = createSlice9({
|
|
2738
2673
|
name: "profile",
|
|
2739
2674
|
initialState: initialState8,
|
|
2740
2675
|
reducers: {
|
|
@@ -2747,7 +2682,7 @@ var { setProfile } = profileSlice.actions;
|
|
|
2747
2682
|
var profile_slice_default = profileSlice.reducer;
|
|
2748
2683
|
|
|
2749
2684
|
// src/store/reducers/search-slice/index.ts
|
|
2750
|
-
|
|
2685
|
+
import { createSlice as createSlice10 } from "@reduxjs/toolkit";
|
|
2751
2686
|
var initialState9 = {
|
|
2752
2687
|
groupByDomain: null,
|
|
2753
2688
|
searchBy: [],
|
|
@@ -2759,7 +2694,7 @@ var initialState9 = {
|
|
|
2759
2694
|
filterBy: [],
|
|
2760
2695
|
groupBy: []
|
|
2761
2696
|
};
|
|
2762
|
-
var searchSlice = (
|
|
2697
|
+
var searchSlice = createSlice10({
|
|
2763
2698
|
name: "search",
|
|
2764
2699
|
initialState: initialState9,
|
|
2765
2700
|
reducers: {
|
|
@@ -2833,7 +2768,7 @@ var {
|
|
|
2833
2768
|
var search_slice_default = searchSlice.reducer;
|
|
2834
2769
|
|
|
2835
2770
|
// src/store/store.ts
|
|
2836
|
-
|
|
2771
|
+
import { configureStore } from "@reduxjs/toolkit";
|
|
2837
2772
|
|
|
2838
2773
|
// node_modules/redux/dist/redux.mjs
|
|
2839
2774
|
function formatProdErrorMessage(code) {
|
|
@@ -3017,7 +2952,7 @@ var rootReducer = combineReducers({
|
|
|
3017
2952
|
excel: excel_slice_default,
|
|
3018
2953
|
profile: profile_slice_default
|
|
3019
2954
|
});
|
|
3020
|
-
var envStore =
|
|
2955
|
+
var envStore = configureStore({
|
|
3021
2956
|
reducer: rootReducer,
|
|
3022
2957
|
middleware: (getDefaultMiddleware) => getDefaultMiddleware({
|
|
3023
2958
|
serializableCheck: false
|
|
@@ -3025,7 +2960,20 @@ var envStore = (0, import_toolkit11.configureStore)({
|
|
|
3025
2960
|
});
|
|
3026
2961
|
|
|
3027
2962
|
// src/environment/EnvStore.ts
|
|
3028
|
-
var
|
|
2963
|
+
var EnvStore = class _EnvStore {
|
|
2964
|
+
static instance = null;
|
|
2965
|
+
envStore;
|
|
2966
|
+
baseUrl;
|
|
2967
|
+
requests;
|
|
2968
|
+
context;
|
|
2969
|
+
defaultCompany;
|
|
2970
|
+
config;
|
|
2971
|
+
companies;
|
|
2972
|
+
user;
|
|
2973
|
+
db;
|
|
2974
|
+
localStorageUtils;
|
|
2975
|
+
sessionStorageUtils;
|
|
2976
|
+
refreshTokenEndpoint;
|
|
3029
2977
|
constructor(envStore2, localStorageUtils2, sessionStorageUtils2) {
|
|
3030
2978
|
this.envStore = envStore2;
|
|
3031
2979
|
this.localStorageUtils = localStorageUtils2;
|
|
@@ -3044,25 +2992,26 @@ var _EnvStore = class _EnvStore {
|
|
|
3044
2992
|
}
|
|
3045
2993
|
setup() {
|
|
3046
2994
|
const env = this.envStore.getState().env;
|
|
3047
|
-
this.baseUrl = env
|
|
3048
|
-
this.requests = env
|
|
3049
|
-
this.context = env
|
|
3050
|
-
this.defaultCompany = env
|
|
3051
|
-
this.config = env
|
|
3052
|
-
this.companies =
|
|
3053
|
-
this.user = env
|
|
3054
|
-
this.db = env
|
|
3055
|
-
this.refreshTokenEndpoint = env
|
|
2995
|
+
this.baseUrl = env?.baseUrl;
|
|
2996
|
+
this.requests = env?.requests;
|
|
2997
|
+
this.context = env?.context;
|
|
2998
|
+
this.defaultCompany = env?.defaultCompany;
|
|
2999
|
+
this.config = env?.config;
|
|
3000
|
+
this.companies = env?.companies || [];
|
|
3001
|
+
this.user = env?.user;
|
|
3002
|
+
this.db = env?.db;
|
|
3003
|
+
this.refreshTokenEndpoint = env?.refreshTokenEndpoint;
|
|
3056
3004
|
console.log("Env setup:", this);
|
|
3057
3005
|
}
|
|
3058
3006
|
setupEnv(envConfig) {
|
|
3059
3007
|
const dispatch = this.envStore.dispatch;
|
|
3060
|
-
const env =
|
|
3008
|
+
const env = {
|
|
3009
|
+
...envConfig,
|
|
3061
3010
|
localStorageUtils: this.localStorageUtils,
|
|
3062
3011
|
sessionStorageUtils: this.sessionStorageUtils
|
|
3063
|
-
}
|
|
3012
|
+
};
|
|
3064
3013
|
const requests = axiosClient.init(env);
|
|
3065
|
-
dispatch(setEnv(
|
|
3014
|
+
dispatch(setEnv({ ...env, requests }));
|
|
3066
3015
|
this.setup();
|
|
3067
3016
|
}
|
|
3068
3017
|
setUid(uid) {
|
|
@@ -3096,8 +3045,6 @@ var _EnvStore = class _EnvStore {
|
|
|
3096
3045
|
this.setup();
|
|
3097
3046
|
}
|
|
3098
3047
|
};
|
|
3099
|
-
_EnvStore.instance = null;
|
|
3100
|
-
var EnvStore = _EnvStore;
|
|
3101
3048
|
function initEnv({
|
|
3102
3049
|
localStorageUtils: localStorageUtils2,
|
|
3103
3050
|
sessionStorageUtils: sessionStorageUtils2
|
|
@@ -3111,9 +3058,8 @@ function getEnv() {
|
|
|
3111
3058
|
}
|
|
3112
3059
|
return instance;
|
|
3113
3060
|
}
|
|
3114
|
-
|
|
3115
|
-
0 && (module.exports = {
|
|
3061
|
+
export {
|
|
3116
3062
|
EnvStore,
|
|
3117
3063
|
getEnv,
|
|
3118
3064
|
initEnv
|
|
3119
|
-
}
|
|
3065
|
+
};
|