@fctc/interface-logic 1.5.7 → 1.5.9
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 -2
- package/dist/configs.d.ts +0 -1
- package/dist/configs.js +146 -124
- package/dist/{configs.cjs → configs.mjs} +111 -161
- package/dist/constants.js +41 -2
- package/dist/{constants.cjs → constants.mjs} +2 -40
- package/dist/{environment.d.cts → environment.d.mts} +1 -4
- package/dist/environment.d.ts +1 -4
- package/dist/environment.js +207 -189
- package/dist/{environment.cjs → environment.mjs} +172 -230
- package/dist/{hooks.d.cts → hooks.d.mts} +7 -2
- package/dist/hooks.d.ts +6 -1
- package/dist/hooks.js +1771 -1807
- package/dist/{hooks.cjs → hooks.mjs} +1674 -1915
- package/dist/{provider.d.cts → provider.d.mts} +1 -1
- package/dist/provider.d.ts +1 -1
- package/dist/provider.js +608 -629
- package/dist/{provider.cjs → provider.mjs} +574 -669
- package/dist/{services.d.cts → services.d.mts} +2 -1
- package/dist/services.d.ts +1 -0
- package/dist/services.js +1467 -1580
- package/dist/{services.cjs → services.mjs} +1428 -1627
- package/dist/{store.d.cts → store.d.mts} +155 -127
- package/dist/store.d.ts +155 -127
- package/dist/store.js +131 -41
- package/dist/{store.cjs → store.mjs} +30 -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 +81 -82
- package/dist/types.cjs +0 -17
- /package/dist/{constants.d.cts → constants.d.mts} +0 -0
- /package/dist/{view-type-BGJfDe73.d.cts → view-type-BGJfDe73.d.mts} +0 -0
package/dist/environment.js
CHANGED
|
@@ -1,49 +1,47 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __create = Object.create;
|
|
1
3
|
var __defProp = Object.defineProperty;
|
|
2
|
-
var
|
|
3
|
-
var
|
|
4
|
-
var
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
5
7
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
-
var
|
|
7
|
-
var
|
|
8
|
-
|
|
9
|
-
var __spreadValues = (a, b) => {
|
|
10
|
-
for (var prop in b || (b = {}))
|
|
11
|
-
if (__hasOwnProp.call(b, prop))
|
|
12
|
-
__defNormalProp(a, prop, b[prop]);
|
|
13
|
-
if (__getOwnPropSymbols)
|
|
14
|
-
for (var prop of __getOwnPropSymbols(b)) {
|
|
15
|
-
if (__propIsEnum.call(b, prop))
|
|
16
|
-
__defNormalProp(a, prop, b[prop]);
|
|
17
|
-
}
|
|
18
|
-
return a;
|
|
8
|
+
var __export = (target, all) => {
|
|
9
|
+
for (var name in all)
|
|
10
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
19
11
|
};
|
|
20
|
-
var
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
reject(e);
|
|
28
|
-
}
|
|
29
|
-
};
|
|
30
|
-
var rejected = (value) => {
|
|
31
|
-
try {
|
|
32
|
-
step(generator.throw(value));
|
|
33
|
-
} catch (e) {
|
|
34
|
-
reject(e);
|
|
35
|
-
}
|
|
36
|
-
};
|
|
37
|
-
var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
|
|
38
|
-
step((generator = generator.apply(__this, __arguments)).next());
|
|
39
|
-
});
|
|
12
|
+
var __copyProps = (to, from, except, desc) => {
|
|
13
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
+
for (let key of __getOwnPropNames(from))
|
|
15
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
16
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
17
|
+
}
|
|
18
|
+
return to;
|
|
40
19
|
};
|
|
20
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
22
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
23
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
24
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
25
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
26
|
+
mod
|
|
27
|
+
));
|
|
28
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
|
+
|
|
30
|
+
// src/environment.ts
|
|
31
|
+
var environment_exports = {};
|
|
32
|
+
__export(environment_exports, {
|
|
33
|
+
EnvStore: () => EnvStore,
|
|
34
|
+
env: () => env,
|
|
35
|
+
getEnv: () => getEnv,
|
|
36
|
+
initEnv: () => initEnv
|
|
37
|
+
});
|
|
38
|
+
module.exports = __toCommonJS(environment_exports);
|
|
41
39
|
|
|
42
40
|
// src/configs/axios-client.ts
|
|
43
|
-
|
|
41
|
+
var import_axios = __toESM(require("axios"));
|
|
44
42
|
|
|
45
43
|
// src/utils/format.ts
|
|
46
|
-
|
|
44
|
+
var import_moment = __toESM(require("moment"));
|
|
47
45
|
|
|
48
46
|
// src/utils/domain/py_tokenizer.ts
|
|
49
47
|
var TokenizerError = class extends Error {
|
|
@@ -1123,6 +1121,22 @@ var PyRelativeDelta = class _PyRelativeDelta {
|
|
|
1123
1121
|
this.microsecond = params.microsecond;
|
|
1124
1122
|
this.weekday = params.weekday;
|
|
1125
1123
|
}
|
|
1124
|
+
years;
|
|
1125
|
+
months;
|
|
1126
|
+
days;
|
|
1127
|
+
hours;
|
|
1128
|
+
minutes;
|
|
1129
|
+
seconds;
|
|
1130
|
+
microseconds;
|
|
1131
|
+
leapDays;
|
|
1132
|
+
year;
|
|
1133
|
+
month;
|
|
1134
|
+
day;
|
|
1135
|
+
hour;
|
|
1136
|
+
minute;
|
|
1137
|
+
second;
|
|
1138
|
+
microsecond;
|
|
1139
|
+
weekday;
|
|
1126
1140
|
negate() {
|
|
1127
1141
|
return new _PyRelativeDelta(this, -1);
|
|
1128
1142
|
}
|
|
@@ -1237,7 +1251,7 @@ function execOnIterable(iterable, func) {
|
|
|
1237
1251
|
if (typeof iterable === "object" && !Array.isArray(iterable) && !(iterable instanceof Set)) {
|
|
1238
1252
|
iterable = Object.keys(iterable);
|
|
1239
1253
|
}
|
|
1240
|
-
if (typeof
|
|
1254
|
+
if (typeof iterable?.[Symbol.iterator] !== "function") {
|
|
1241
1255
|
throw new EvaluationError("value not iterable");
|
|
1242
1256
|
}
|
|
1243
1257
|
return func(iterable);
|
|
@@ -1560,7 +1574,7 @@ function applyBinaryOp(ast, context) {
|
|
|
1560
1574
|
}
|
|
1561
1575
|
return Math.floor(left / right);
|
|
1562
1576
|
case "**":
|
|
1563
|
-
return
|
|
1577
|
+
return left ** right;
|
|
1564
1578
|
case "==":
|
|
1565
1579
|
return isEqual(left, right);
|
|
1566
1580
|
case "<>":
|
|
@@ -1682,7 +1696,7 @@ function evaluate(ast, context = {}) {
|
|
|
1682
1696
|
const dicts = /* @__PURE__ */ new Set();
|
|
1683
1697
|
let pyContext;
|
|
1684
1698
|
const evalContext = Object.create(context);
|
|
1685
|
-
if (!
|
|
1699
|
+
if (!evalContext?.context) {
|
|
1686
1700
|
Object.defineProperty(evalContext, "context", {
|
|
1687
1701
|
get() {
|
|
1688
1702
|
if (!pyContext) {
|
|
@@ -1693,18 +1707,17 @@ function evaluate(ast, context = {}) {
|
|
|
1693
1707
|
});
|
|
1694
1708
|
}
|
|
1695
1709
|
function _innerEvaluate(ast2) {
|
|
1696
|
-
|
|
1697
|
-
switch (ast2 == null ? void 0 : ast2.type) {
|
|
1710
|
+
switch (ast2?.type) {
|
|
1698
1711
|
case 0:
|
|
1699
1712
|
// Number
|
|
1700
1713
|
case 1:
|
|
1701
1714
|
return ast2.value;
|
|
1702
1715
|
case 5:
|
|
1703
1716
|
if (ast2.value in evalContext) {
|
|
1704
|
-
if (typeof evalContext[ast2.value] === "object" &&
|
|
1705
|
-
return
|
|
1717
|
+
if (typeof evalContext[ast2.value] === "object" && evalContext[ast2.value]?.id) {
|
|
1718
|
+
return evalContext[ast2.value]?.id;
|
|
1706
1719
|
}
|
|
1707
|
-
return
|
|
1720
|
+
return evalContext[ast2.value] ?? false;
|
|
1708
1721
|
} else if (ast2.value in BUILTINS) {
|
|
1709
1722
|
return BUILTINS[ast2.value];
|
|
1710
1723
|
} else {
|
|
@@ -1741,7 +1754,7 @@ function evaluate(ast, context = {}) {
|
|
|
1741
1754
|
const args = ast2.args.map(_evaluate);
|
|
1742
1755
|
const kwargs = {};
|
|
1743
1756
|
for (const kwarg in ast2.kwargs) {
|
|
1744
|
-
kwargs[kwarg] = _evaluate(ast2
|
|
1757
|
+
kwargs[kwarg] = _evaluate(ast2?.kwargs[kwarg]);
|
|
1745
1758
|
}
|
|
1746
1759
|
if (fnValue === PyDate || fnValue === PyDateTime || fnValue === PyTime || fnValue === PyRelativeDelta || fnValue === PyTimeDelta) {
|
|
1747
1760
|
return fnValue.create(...args, kwargs);
|
|
@@ -1820,25 +1833,9 @@ function escapeRegExp(str) {
|
|
|
1820
1833
|
var InvalidDomainError = class extends Error {
|
|
1821
1834
|
};
|
|
1822
1835
|
var Domain = class _Domain {
|
|
1823
|
-
|
|
1824
|
-
|
|
1825
|
-
|
|
1826
|
-
return new _Domain(descr.toString());
|
|
1827
|
-
} else {
|
|
1828
|
-
let rawAST;
|
|
1829
|
-
try {
|
|
1830
|
-
rawAST = typeof descr === "string" ? parseExpr(descr) : toAST(descr);
|
|
1831
|
-
} catch (error) {
|
|
1832
|
-
throw new InvalidDomainError(
|
|
1833
|
-
`Invalid domain representation: ${descr}`,
|
|
1834
|
-
{
|
|
1835
|
-
cause: error
|
|
1836
|
-
}
|
|
1837
|
-
);
|
|
1838
|
-
}
|
|
1839
|
-
this.ast = normalizeDomainAST(rawAST);
|
|
1840
|
-
}
|
|
1841
|
-
}
|
|
1836
|
+
ast = { type: -1, value: null };
|
|
1837
|
+
static TRUE;
|
|
1838
|
+
static FALSE;
|
|
1842
1839
|
static combine(domains, operator) {
|
|
1843
1840
|
if (domains.length === 0) {
|
|
1844
1841
|
return new _Domain([]);
|
|
@@ -1917,6 +1914,24 @@ var Domain = class _Domain {
|
|
|
1917
1914
|
processLeaf(d.ast.value, 0, "&", newDomain);
|
|
1918
1915
|
return newDomain;
|
|
1919
1916
|
}
|
|
1917
|
+
constructor(descr = []) {
|
|
1918
|
+
if (descr instanceof _Domain) {
|
|
1919
|
+
return new _Domain(descr.toString());
|
|
1920
|
+
} else {
|
|
1921
|
+
let rawAST;
|
|
1922
|
+
try {
|
|
1923
|
+
rawAST = typeof descr === "string" ? parseExpr(descr) : toAST(descr);
|
|
1924
|
+
} catch (error) {
|
|
1925
|
+
throw new InvalidDomainError(
|
|
1926
|
+
`Invalid domain representation: ${descr}`,
|
|
1927
|
+
{
|
|
1928
|
+
cause: error
|
|
1929
|
+
}
|
|
1930
|
+
);
|
|
1931
|
+
}
|
|
1932
|
+
this.ast = normalizeDomainAST(rawAST);
|
|
1933
|
+
}
|
|
1934
|
+
}
|
|
1920
1935
|
contains(record) {
|
|
1921
1936
|
const expr = evaluate(this.ast, record);
|
|
1922
1937
|
return matchDomain(record, expr);
|
|
@@ -1935,7 +1950,7 @@ var Domain = class _Domain {
|
|
|
1935
1950
|
return evaluatedAsList;
|
|
1936
1951
|
}
|
|
1937
1952
|
return this.toString();
|
|
1938
|
-
} catch
|
|
1953
|
+
} catch {
|
|
1939
1954
|
return this.toString();
|
|
1940
1955
|
}
|
|
1941
1956
|
}
|
|
@@ -2135,7 +2150,7 @@ function matchDomain(record, domain) {
|
|
|
2135
2150
|
}
|
|
2136
2151
|
|
|
2137
2152
|
// src/utils/function.ts
|
|
2138
|
-
|
|
2153
|
+
var import_react = require("react");
|
|
2139
2154
|
var updateTokenParamInOriginalRequest = (originalRequest, newAccessToken) => {
|
|
2140
2155
|
if (!originalRequest.data) return originalRequest.data;
|
|
2141
2156
|
if (typeof originalRequest.data === "string") {
|
|
@@ -2158,22 +2173,22 @@ var updateTokenParamInOriginalRequest = (originalRequest, newAccessToken) => {
|
|
|
2158
2173
|
|
|
2159
2174
|
// src/utils/storage/local-storage.ts
|
|
2160
2175
|
var localStorageUtils = () => {
|
|
2161
|
-
const setToken = (access_token) =>
|
|
2176
|
+
const setToken = async (access_token) => {
|
|
2162
2177
|
localStorage.setItem("accessToken", access_token);
|
|
2163
|
-
}
|
|
2164
|
-
const setRefreshToken = (refresh_token) =>
|
|
2178
|
+
};
|
|
2179
|
+
const setRefreshToken = async (refresh_token) => {
|
|
2165
2180
|
localStorage.setItem("refreshToken", refresh_token);
|
|
2166
|
-
}
|
|
2167
|
-
const getAccessToken = () =>
|
|
2181
|
+
};
|
|
2182
|
+
const getAccessToken = async () => {
|
|
2168
2183
|
return localStorage.getItem("accessToken");
|
|
2169
|
-
}
|
|
2170
|
-
const getRefreshToken = () =>
|
|
2184
|
+
};
|
|
2185
|
+
const getRefreshToken = async () => {
|
|
2171
2186
|
return localStorage.getItem("refreshToken");
|
|
2172
|
-
}
|
|
2173
|
-
const clearToken = () =>
|
|
2187
|
+
};
|
|
2188
|
+
const clearToken = async () => {
|
|
2174
2189
|
localStorage.removeItem("accessToken");
|
|
2175
2190
|
localStorage.removeItem("refreshToken");
|
|
2176
|
-
}
|
|
2191
|
+
};
|
|
2177
2192
|
return {
|
|
2178
2193
|
setToken,
|
|
2179
2194
|
setRefreshToken,
|
|
@@ -2185,9 +2200,9 @@ var localStorageUtils = () => {
|
|
|
2185
2200
|
|
|
2186
2201
|
// src/utils/storage/session-storage.ts
|
|
2187
2202
|
var sessionStorageUtils = () => {
|
|
2188
|
-
const getBrowserSession = () =>
|
|
2203
|
+
const getBrowserSession = async () => {
|
|
2189
2204
|
return sessionStorage.getItem("browserSession");
|
|
2190
|
-
}
|
|
2205
|
+
};
|
|
2191
2206
|
return {
|
|
2192
2207
|
getBrowserSession
|
|
2193
2208
|
};
|
|
@@ -2196,14 +2211,13 @@ var sessionStorageUtils = () => {
|
|
|
2196
2211
|
// src/configs/axios-client.ts
|
|
2197
2212
|
var axiosClient = {
|
|
2198
2213
|
init(config) {
|
|
2199
|
-
|
|
2200
|
-
const
|
|
2201
|
-
const sessionStorage2 = (_b = config.sessionStorageUtils) != null ? _b : sessionStorageUtils();
|
|
2214
|
+
const localStorage2 = config.localStorageUtils ?? localStorageUtils();
|
|
2215
|
+
const sessionStorage2 = config.sessionStorageUtils ?? sessionStorageUtils();
|
|
2202
2216
|
const db = config.db;
|
|
2203
2217
|
let isRefreshing = false;
|
|
2204
2218
|
let failedQueue = [];
|
|
2205
2219
|
const processQueue = (error, token = null) => {
|
|
2206
|
-
failedQueue
|
|
2220
|
+
failedQueue?.forEach((prom) => {
|
|
2207
2221
|
if (error) {
|
|
2208
2222
|
prom.reject(error);
|
|
2209
2223
|
} else {
|
|
@@ -2212,44 +2226,39 @@ var axiosClient = {
|
|
|
2212
2226
|
});
|
|
2213
2227
|
failedQueue = [];
|
|
2214
2228
|
};
|
|
2215
|
-
const instance =
|
|
2216
|
-
adapter:
|
|
2229
|
+
const instance = import_axios.default.create({
|
|
2230
|
+
adapter: import_axios.default.defaults.adapter,
|
|
2217
2231
|
baseURL: config.baseUrl,
|
|
2218
2232
|
timeout: 5e4,
|
|
2219
2233
|
paramsSerializer: (params) => new URLSearchParams(params).toString()
|
|
2220
2234
|
});
|
|
2221
|
-
instance.interceptors.request.use(
|
|
2222
|
-
|
|
2223
|
-
|
|
2224
|
-
|
|
2225
|
-
if (token) {
|
|
2226
|
-
config2.headers["Authorization"] = "Bearer " + token;
|
|
2227
|
-
}
|
|
2228
|
-
return config2;
|
|
2229
|
-
}),
|
|
2230
|
-
(error) => {
|
|
2231
|
-
Promise.reject(error);
|
|
2235
|
+
instance.interceptors.request.use(async (config2) => {
|
|
2236
|
+
const { useRefreshToken, useActionToken, actionToken } = config2;
|
|
2237
|
+
if (useActionToken && actionToken) {
|
|
2238
|
+
config2.headers["Action-Token"] = actionToken;
|
|
2232
2239
|
}
|
|
2233
|
-
|
|
2240
|
+
const getToken = useRefreshToken ? localStorage2.getRefreshToken : localStorage2.getAccessToken;
|
|
2241
|
+
const token = await getToken?.();
|
|
2242
|
+
if (token) config2.headers["Authorization"] = `Bearer ${token}`;
|
|
2243
|
+
return config2;
|
|
2244
|
+
}, Promise.reject);
|
|
2234
2245
|
instance.interceptors.response.use(
|
|
2235
2246
|
(response) => {
|
|
2236
2247
|
return handleResponse(response);
|
|
2237
2248
|
},
|
|
2238
|
-
(error) =>
|
|
2239
|
-
|
|
2240
|
-
const handleError3 = (error2) => __async(null, null, function* () {
|
|
2241
|
-
var _a3;
|
|
2249
|
+
async (error) => {
|
|
2250
|
+
const handleError3 = async (error2) => {
|
|
2242
2251
|
if (!error2.response) {
|
|
2243
2252
|
return error2;
|
|
2244
2253
|
}
|
|
2245
2254
|
const { data } = error2.response;
|
|
2246
|
-
if (data && data.code === 400 && ["invalid_grant"].includes(
|
|
2247
|
-
|
|
2255
|
+
if (data && data.code === 400 && ["invalid_grant"].includes(data.data?.error)) {
|
|
2256
|
+
await clearAuthToken();
|
|
2248
2257
|
}
|
|
2249
2258
|
return data;
|
|
2250
|
-
}
|
|
2259
|
+
};
|
|
2251
2260
|
const originalRequest = error.config;
|
|
2252
|
-
if ((
|
|
2261
|
+
if ((error.response?.status === 403 || error.response?.status === 401 || error.response?.status === 404) && ["TOKEN_EXPIRED", "AUTHEN_FAIL", 401, "ERR_2FA_006"].includes(
|
|
2253
2262
|
error.response.data.code
|
|
2254
2263
|
)) {
|
|
2255
2264
|
if (isRefreshing) {
|
|
@@ -2262,19 +2271,18 @@ var axiosClient = {
|
|
|
2262
2271
|
token
|
|
2263
2272
|
);
|
|
2264
2273
|
return instance.request(originalRequest);
|
|
2265
|
-
}).catch((err) =>
|
|
2266
|
-
|
|
2267
|
-
|
|
2268
|
-
yield clearAuthToken();
|
|
2274
|
+
}).catch(async (err) => {
|
|
2275
|
+
if ((err.response?.status === 400 || err.response?.status === 401) && ["invalid_grant"].includes(err.response.data.error)) {
|
|
2276
|
+
await clearAuthToken();
|
|
2269
2277
|
}
|
|
2270
|
-
})
|
|
2278
|
+
});
|
|
2271
2279
|
}
|
|
2272
|
-
const browserSession =
|
|
2273
|
-
const refreshToken =
|
|
2274
|
-
const accessTokenExp =
|
|
2280
|
+
const browserSession = await sessionStorage2.getBrowserSession();
|
|
2281
|
+
const refreshToken = await localStorage2.getRefreshToken();
|
|
2282
|
+
const accessTokenExp = await localStorage2.getAccessToken();
|
|
2275
2283
|
isRefreshing = true;
|
|
2276
2284
|
if (!refreshToken && (!browserSession || browserSession == "unActive")) {
|
|
2277
|
-
|
|
2285
|
+
await clearAuthToken();
|
|
2278
2286
|
} else {
|
|
2279
2287
|
const payload = Object.fromEntries(
|
|
2280
2288
|
Object.entries({
|
|
@@ -2285,9 +2293,8 @@ var axiosClient = {
|
|
|
2285
2293
|
}).filter(([_, value]) => !!value)
|
|
2286
2294
|
);
|
|
2287
2295
|
return new Promise(function(resolve) {
|
|
2288
|
-
|
|
2289
|
-
|
|
2290
|
-
`${config.baseUrl}${(_a3 = config.refreshTokenEndpoint) != null ? _a3 : "/authentication/oauth2/token" /* AUTH_TOKEN_PATH */}`,
|
|
2296
|
+
import_axios.default.post(
|
|
2297
|
+
`${config.baseUrl}${config.refreshTokenEndpoint ?? "/authentication/oauth2/token" /* AUTH_TOKEN_PATH */}`,
|
|
2291
2298
|
payload,
|
|
2292
2299
|
{
|
|
2293
2300
|
headers: {
|
|
@@ -2295,11 +2302,11 @@ var axiosClient = {
|
|
|
2295
2302
|
Authorization: `Bearer ${accessTokenExp}`
|
|
2296
2303
|
}
|
|
2297
2304
|
}
|
|
2298
|
-
).then((res) =>
|
|
2305
|
+
).then(async (res) => {
|
|
2299
2306
|
const data = res.data;
|
|
2300
|
-
|
|
2301
|
-
|
|
2302
|
-
|
|
2307
|
+
await localStorage2.setToken(data.access_token);
|
|
2308
|
+
await localStorage2.setRefreshToken(data.refresh_token);
|
|
2309
|
+
import_axios.default.defaults.headers.common["Authorization"] = "Bearer " + data.access_token;
|
|
2303
2310
|
originalRequest.headers["Authorization"] = "Bearer " + data.access_token;
|
|
2304
2311
|
originalRequest.data = updateTokenParamInOriginalRequest(
|
|
2305
2312
|
originalRequest,
|
|
@@ -2307,26 +2314,25 @@ var axiosClient = {
|
|
|
2307
2314
|
);
|
|
2308
2315
|
processQueue(null, data.access_token);
|
|
2309
2316
|
resolve(instance.request(originalRequest));
|
|
2310
|
-
})
|
|
2311
|
-
|
|
2312
|
-
|
|
2313
|
-
yield clearAuthToken();
|
|
2317
|
+
}).catch(async (err) => {
|
|
2318
|
+
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") {
|
|
2319
|
+
await clearAuthToken();
|
|
2314
2320
|
}
|
|
2315
2321
|
if (err && err.response) {
|
|
2316
|
-
const { error_code } =
|
|
2322
|
+
const { error_code } = err.response?.data || {};
|
|
2317
2323
|
if (error_code === "AUTHEN_FAIL") {
|
|
2318
|
-
|
|
2324
|
+
await clearAuthToken();
|
|
2319
2325
|
}
|
|
2320
2326
|
}
|
|
2321
2327
|
processQueue(err, null);
|
|
2322
|
-
})
|
|
2328
|
+
}).finally(() => {
|
|
2323
2329
|
isRefreshing = false;
|
|
2324
2330
|
});
|
|
2325
2331
|
});
|
|
2326
2332
|
}
|
|
2327
2333
|
}
|
|
2328
|
-
return Promise.reject(
|
|
2329
|
-
}
|
|
2334
|
+
return Promise.reject(await handleError3(error));
|
|
2335
|
+
}
|
|
2330
2336
|
);
|
|
2331
2337
|
const handleResponse = (res) => {
|
|
2332
2338
|
if (res && res.data) {
|
|
@@ -2335,7 +2341,6 @@ var axiosClient = {
|
|
|
2335
2341
|
return res;
|
|
2336
2342
|
};
|
|
2337
2343
|
const handleError2 = (error) => {
|
|
2338
|
-
var _a2, _b2, _c;
|
|
2339
2344
|
if (error.isAxiosError && error.code === "ECONNABORTED") {
|
|
2340
2345
|
console.error("Request Timeout Error:", error);
|
|
2341
2346
|
return "Request Timeout Error";
|
|
@@ -2343,17 +2348,17 @@ var axiosClient = {
|
|
|
2343
2348
|
console.error("Network Error:", error);
|
|
2344
2349
|
return "Network Error";
|
|
2345
2350
|
} else {
|
|
2346
|
-
console.error("Other Error:", error
|
|
2347
|
-
const errorMessage =
|
|
2348
|
-
return { message: errorMessage, status:
|
|
2351
|
+
console.error("Other Error:", error?.response);
|
|
2352
|
+
const errorMessage = error?.response?.data?.message || "An error occurred";
|
|
2353
|
+
return { message: errorMessage, status: error?.response?.status };
|
|
2349
2354
|
}
|
|
2350
2355
|
};
|
|
2351
|
-
const clearAuthToken = () =>
|
|
2352
|
-
|
|
2356
|
+
const clearAuthToken = async () => {
|
|
2357
|
+
await localStorage2.clearToken();
|
|
2353
2358
|
if (typeof window !== "undefined") {
|
|
2354
2359
|
window.location.href = `/login`;
|
|
2355
2360
|
}
|
|
2356
|
-
}
|
|
2361
|
+
};
|
|
2357
2362
|
function formatUrl(url, db2) {
|
|
2358
2363
|
return url + (db2 ? "?db=" + db2 : "");
|
|
2359
2364
|
}
|
|
@@ -2377,14 +2382,14 @@ var axiosClient = {
|
|
|
2377
2382
|
};
|
|
2378
2383
|
|
|
2379
2384
|
// src/store/index.ts
|
|
2380
|
-
|
|
2385
|
+
var import_react_redux = require("react-redux");
|
|
2381
2386
|
|
|
2382
2387
|
// src/store/reducers/breadcrums-slice/index.ts
|
|
2383
|
-
|
|
2388
|
+
var import_toolkit = require("@reduxjs/toolkit");
|
|
2384
2389
|
var initialState = {
|
|
2385
2390
|
breadCrumbs: []
|
|
2386
2391
|
};
|
|
2387
|
-
var breadcrumbsSlice = createSlice({
|
|
2392
|
+
var breadcrumbsSlice = (0, import_toolkit.createSlice)({
|
|
2388
2393
|
name: "breadcrumbs",
|
|
2389
2394
|
initialState,
|
|
2390
2395
|
reducers: {
|
|
@@ -2397,12 +2402,14 @@ var { setBreadCrumbs } = breadcrumbsSlice.actions;
|
|
|
2397
2402
|
var breadcrums_slice_default = breadcrumbsSlice.reducer;
|
|
2398
2403
|
|
|
2399
2404
|
// src/store/reducers/env-slice/index.ts
|
|
2400
|
-
|
|
2405
|
+
var import_toolkit2 = require("@reduxjs/toolkit");
|
|
2401
2406
|
var initialState2 = {
|
|
2402
2407
|
baseUrl: "",
|
|
2403
2408
|
requests: null,
|
|
2404
2409
|
companies: [],
|
|
2405
2410
|
user: {},
|
|
2411
|
+
db: "",
|
|
2412
|
+
refreshTokenEndpoint: "",
|
|
2406
2413
|
config: null,
|
|
2407
2414
|
envFile: null,
|
|
2408
2415
|
defaultCompany: {
|
|
@@ -2418,7 +2425,7 @@ var initialState2 = {
|
|
|
2418
2425
|
tz: "Asia/Saigon"
|
|
2419
2426
|
}
|
|
2420
2427
|
};
|
|
2421
|
-
var envSlice =
|
|
2428
|
+
var envSlice = (0, import_toolkit2.createSlice)({
|
|
2422
2429
|
name: "env",
|
|
2423
2430
|
initialState: initialState2,
|
|
2424
2431
|
reducers: {
|
|
@@ -2465,7 +2472,7 @@ var {
|
|
|
2465
2472
|
var env_slice_default = envSlice.reducer;
|
|
2466
2473
|
|
|
2467
2474
|
// src/store/reducers/excel-slice/index.ts
|
|
2468
|
-
|
|
2475
|
+
var import_toolkit3 = require("@reduxjs/toolkit");
|
|
2469
2476
|
var initialState3 = {
|
|
2470
2477
|
dataParse: null,
|
|
2471
2478
|
idFile: null,
|
|
@@ -2474,7 +2481,7 @@ var initialState3 = {
|
|
|
2474
2481
|
selectedFile: null,
|
|
2475
2482
|
errorData: null
|
|
2476
2483
|
};
|
|
2477
|
-
var excelSlice =
|
|
2484
|
+
var excelSlice = (0, import_toolkit3.createSlice)({
|
|
2478
2485
|
name: "excel",
|
|
2479
2486
|
initialState: initialState3,
|
|
2480
2487
|
reducers: {
|
|
@@ -2509,7 +2516,7 @@ var {
|
|
|
2509
2516
|
var excel_slice_default = excelSlice.reducer;
|
|
2510
2517
|
|
|
2511
2518
|
// src/store/reducers/form-slice/index.ts
|
|
2512
|
-
|
|
2519
|
+
var import_toolkit4 = require("@reduxjs/toolkit");
|
|
2513
2520
|
var initialState4 = {
|
|
2514
2521
|
viewDataStore: {},
|
|
2515
2522
|
isShowingModalDetail: false,
|
|
@@ -2519,7 +2526,7 @@ var initialState4 = {
|
|
|
2519
2526
|
listSubject: {},
|
|
2520
2527
|
dataUser: {}
|
|
2521
2528
|
};
|
|
2522
|
-
var formSlice =
|
|
2529
|
+
var formSlice = (0, import_toolkit4.createSlice)({
|
|
2523
2530
|
name: "form",
|
|
2524
2531
|
initialState: initialState4,
|
|
2525
2532
|
reducers: {
|
|
@@ -2558,15 +2565,15 @@ var {
|
|
|
2558
2565
|
var form_slice_default = formSlice.reducer;
|
|
2559
2566
|
|
|
2560
2567
|
// src/store/reducers/header-slice/index.ts
|
|
2561
|
-
|
|
2562
|
-
var headerSlice =
|
|
2568
|
+
var import_toolkit5 = require("@reduxjs/toolkit");
|
|
2569
|
+
var headerSlice = (0, import_toolkit5.createSlice)({
|
|
2563
2570
|
name: "header",
|
|
2564
2571
|
initialState: {
|
|
2565
2572
|
value: { allowedCompanyIds: [] }
|
|
2566
2573
|
},
|
|
2567
2574
|
reducers: {
|
|
2568
2575
|
setHeader: (state, action) => {
|
|
2569
|
-
state.value =
|
|
2576
|
+
state.value = { ...state.value, ...action.payload };
|
|
2570
2577
|
},
|
|
2571
2578
|
setAllowedCompanyIds: (state, action) => {
|
|
2572
2579
|
state.value.allowedCompanyIds = action.payload;
|
|
@@ -2577,7 +2584,7 @@ var { setAllowedCompanyIds, setHeader } = headerSlice.actions;
|
|
|
2577
2584
|
var header_slice_default = headerSlice.reducer;
|
|
2578
2585
|
|
|
2579
2586
|
// src/store/reducers/list-slice/index.ts
|
|
2580
|
-
|
|
2587
|
+
var import_toolkit6 = require("@reduxjs/toolkit");
|
|
2581
2588
|
var initialState5 = {
|
|
2582
2589
|
pageLimit: 10,
|
|
2583
2590
|
fields: {},
|
|
@@ -2591,7 +2598,7 @@ var initialState5 = {
|
|
|
2591
2598
|
page: 0,
|
|
2592
2599
|
domainTable: []
|
|
2593
2600
|
};
|
|
2594
|
-
var listSlice =
|
|
2601
|
+
var listSlice = (0, import_toolkit6.createSlice)({
|
|
2595
2602
|
name: "list",
|
|
2596
2603
|
initialState: initialState5,
|
|
2597
2604
|
reducers: {
|
|
@@ -2642,13 +2649,13 @@ var {
|
|
|
2642
2649
|
var list_slice_default = listSlice.reducer;
|
|
2643
2650
|
|
|
2644
2651
|
// src/store/reducers/login-slice/index.ts
|
|
2645
|
-
|
|
2652
|
+
var import_toolkit7 = require("@reduxjs/toolkit");
|
|
2646
2653
|
var initialState6 = {
|
|
2647
2654
|
db: "",
|
|
2648
2655
|
redirectTo: "/",
|
|
2649
2656
|
forgotPasswordUrl: "/"
|
|
2650
2657
|
};
|
|
2651
|
-
var loginSlice =
|
|
2658
|
+
var loginSlice = (0, import_toolkit7.createSlice)({
|
|
2652
2659
|
name: "login",
|
|
2653
2660
|
initialState: initialState6,
|
|
2654
2661
|
reducers: {
|
|
@@ -2667,14 +2674,14 @@ var { setDb, setRedirectTo, setForgotPasswordUrl } = loginSlice.actions;
|
|
|
2667
2674
|
var login_slice_default = loginSlice.reducer;
|
|
2668
2675
|
|
|
2669
2676
|
// src/store/reducers/navbar-slice/index.ts
|
|
2670
|
-
|
|
2677
|
+
var import_toolkit8 = require("@reduxjs/toolkit");
|
|
2671
2678
|
var initialState7 = {
|
|
2672
2679
|
menuFocus: {},
|
|
2673
2680
|
menuAction: {},
|
|
2674
2681
|
navbarWidth: 250,
|
|
2675
2682
|
menuList: []
|
|
2676
2683
|
};
|
|
2677
|
-
var navbarSlice =
|
|
2684
|
+
var navbarSlice = (0, import_toolkit8.createSlice)({
|
|
2678
2685
|
name: "navbar",
|
|
2679
2686
|
initialState: initialState7,
|
|
2680
2687
|
reducers: {
|
|
@@ -2696,11 +2703,11 @@ var { setMenuFocus, setMenuFocusAction, setNavbarWidth, setMenuList } = navbarSl
|
|
|
2696
2703
|
var navbar_slice_default = navbarSlice.reducer;
|
|
2697
2704
|
|
|
2698
2705
|
// src/store/reducers/profile-slice/index.ts
|
|
2699
|
-
|
|
2706
|
+
var import_toolkit9 = require("@reduxjs/toolkit");
|
|
2700
2707
|
var initialState8 = {
|
|
2701
2708
|
profile: {}
|
|
2702
2709
|
};
|
|
2703
|
-
var profileSlice =
|
|
2710
|
+
var profileSlice = (0, import_toolkit9.createSlice)({
|
|
2704
2711
|
name: "profile",
|
|
2705
2712
|
initialState: initialState8,
|
|
2706
2713
|
reducers: {
|
|
@@ -2713,7 +2720,7 @@ var { setProfile } = profileSlice.actions;
|
|
|
2713
2720
|
var profile_slice_default = profileSlice.reducer;
|
|
2714
2721
|
|
|
2715
2722
|
// src/store/reducers/search-slice/index.ts
|
|
2716
|
-
|
|
2723
|
+
var import_toolkit10 = require("@reduxjs/toolkit");
|
|
2717
2724
|
var initialState9 = {
|
|
2718
2725
|
groupByDomain: null,
|
|
2719
2726
|
searchBy: [],
|
|
@@ -2725,7 +2732,7 @@ var initialState9 = {
|
|
|
2725
2732
|
filterBy: [],
|
|
2726
2733
|
groupBy: []
|
|
2727
2734
|
};
|
|
2728
|
-
var searchSlice =
|
|
2735
|
+
var searchSlice = (0, import_toolkit10.createSlice)({
|
|
2729
2736
|
name: "search",
|
|
2730
2737
|
initialState: initialState9,
|
|
2731
2738
|
reducers: {
|
|
@@ -2799,7 +2806,7 @@ var {
|
|
|
2799
2806
|
var search_slice_default = searchSlice.reducer;
|
|
2800
2807
|
|
|
2801
2808
|
// src/store/store.ts
|
|
2802
|
-
|
|
2809
|
+
var import_toolkit11 = require("@reduxjs/toolkit");
|
|
2803
2810
|
|
|
2804
2811
|
// node_modules/redux/dist/redux.mjs
|
|
2805
2812
|
function formatProdErrorMessage(code) {
|
|
@@ -2983,7 +2990,7 @@ var rootReducer = combineReducers({
|
|
|
2983
2990
|
excel: excel_slice_default,
|
|
2984
2991
|
profile: profile_slice_default
|
|
2985
2992
|
});
|
|
2986
|
-
var envStore = configureStore({
|
|
2993
|
+
var envStore = (0, import_toolkit11.configureStore)({
|
|
2987
2994
|
reducer: rootReducer,
|
|
2988
2995
|
middleware: (getDefaultMiddleware) => getDefaultMiddleware({
|
|
2989
2996
|
serializableCheck: false
|
|
@@ -2992,61 +2999,72 @@ var envStore = configureStore({
|
|
|
2992
2999
|
|
|
2993
3000
|
// src/environment/EnvStore.ts
|
|
2994
3001
|
var EnvStore = class {
|
|
2995
|
-
|
|
2996
|
-
|
|
3002
|
+
baseUrl;
|
|
3003
|
+
requests;
|
|
3004
|
+
context;
|
|
3005
|
+
defaultCompany;
|
|
3006
|
+
config;
|
|
3007
|
+
companies;
|
|
3008
|
+
user;
|
|
3009
|
+
db;
|
|
3010
|
+
localStorageUtils;
|
|
3011
|
+
sessionStorageUtils;
|
|
3012
|
+
refreshTokenEndpoint;
|
|
3013
|
+
constructor(localStorageUtils2, sessionStorageUtils2) {
|
|
2997
3014
|
this.localStorageUtils = localStorageUtils2;
|
|
2998
3015
|
this.sessionStorageUtils = sessionStorageUtils2;
|
|
2999
3016
|
this.setup();
|
|
3000
3017
|
}
|
|
3001
3018
|
setup() {
|
|
3002
|
-
const env2 =
|
|
3003
|
-
this.baseUrl = env2
|
|
3004
|
-
this.requests = env2
|
|
3005
|
-
this.context = env2
|
|
3006
|
-
this.defaultCompany = env2
|
|
3007
|
-
this.config = env2
|
|
3008
|
-
this.companies =
|
|
3009
|
-
this.user = env2
|
|
3010
|
-
this.db = env2
|
|
3011
|
-
this.refreshTokenEndpoint = env2
|
|
3019
|
+
const env2 = envStore.getState().env;
|
|
3020
|
+
this.baseUrl = env2?.baseUrl;
|
|
3021
|
+
this.requests = env2?.requests;
|
|
3022
|
+
this.context = env2?.context;
|
|
3023
|
+
this.defaultCompany = env2?.defaultCompany;
|
|
3024
|
+
this.config = env2?.config;
|
|
3025
|
+
this.companies = env2?.companies || [];
|
|
3026
|
+
this.user = env2?.user;
|
|
3027
|
+
this.db = env2?.db;
|
|
3028
|
+
this.refreshTokenEndpoint = env2?.refreshTokenEndpoint;
|
|
3012
3029
|
}
|
|
3013
3030
|
setupEnv(envConfig) {
|
|
3014
|
-
const dispatch =
|
|
3015
|
-
const env2 =
|
|
3031
|
+
const dispatch = envStore.dispatch;
|
|
3032
|
+
const env2 = {
|
|
3033
|
+
...envConfig,
|
|
3016
3034
|
localStorageUtils: this.localStorageUtils,
|
|
3017
3035
|
sessionStorageUtils: this.sessionStorageUtils
|
|
3018
|
-
}
|
|
3036
|
+
};
|
|
3019
3037
|
const requests = axiosClient.init(env2);
|
|
3020
|
-
dispatch(setEnv(
|
|
3038
|
+
dispatch(setEnv({ ...env2, requests }));
|
|
3021
3039
|
this.setup();
|
|
3022
3040
|
}
|
|
3023
3041
|
setUid(uid) {
|
|
3024
|
-
const dispatch =
|
|
3042
|
+
const dispatch = envStore.dispatch;
|
|
3025
3043
|
dispatch(setUid(uid));
|
|
3026
3044
|
this.setup();
|
|
3027
3045
|
}
|
|
3028
3046
|
setLang(lang) {
|
|
3029
|
-
const dispatch =
|
|
3047
|
+
const dispatch = envStore.dispatch;
|
|
3030
3048
|
dispatch(setLang(lang));
|
|
3031
3049
|
this.setup();
|
|
3032
3050
|
}
|
|
3033
3051
|
setAllowCompanies(allowCompanies) {
|
|
3034
|
-
const dispatch =
|
|
3052
|
+
const dispatch = envStore.dispatch;
|
|
3035
3053
|
dispatch(setAllowCompanies(allowCompanies));
|
|
3036
3054
|
this.setup();
|
|
3037
3055
|
}
|
|
3038
3056
|
setCompanies(companies) {
|
|
3039
|
-
const dispatch =
|
|
3057
|
+
const dispatch = envStore.dispatch;
|
|
3040
3058
|
dispatch(setCompanies(companies));
|
|
3041
3059
|
this.setup();
|
|
3042
3060
|
}
|
|
3043
3061
|
setDefaultCompany(company) {
|
|
3044
|
-
const dispatch =
|
|
3062
|
+
const dispatch = envStore.dispatch;
|
|
3045
3063
|
dispatch(setDefaultCompany(company));
|
|
3046
3064
|
this.setup();
|
|
3047
3065
|
}
|
|
3048
3066
|
setUserInfo(userInfo) {
|
|
3049
|
-
const dispatch =
|
|
3067
|
+
const dispatch = envStore.dispatch;
|
|
3050
3068
|
dispatch(setUser(userInfo));
|
|
3051
3069
|
this.setup();
|
|
3052
3070
|
}
|
|
@@ -3056,17 +3074,17 @@ function initEnv({
|
|
|
3056
3074
|
localStorageUtils: localStorageUtils2,
|
|
3057
3075
|
sessionStorageUtils: sessionStorageUtils2
|
|
3058
3076
|
}) {
|
|
3059
|
-
env = new EnvStore(
|
|
3077
|
+
env = new EnvStore(localStorageUtils2, sessionStorageUtils2);
|
|
3060
3078
|
return env;
|
|
3061
3079
|
}
|
|
3062
3080
|
function getEnv() {
|
|
3063
|
-
if (!env)
|
|
3064
|
-
env = new EnvStore(envStore, localStorageUtils(), sessionStorageUtils());
|
|
3081
|
+
if (!env) env = new EnvStore(localStorageUtils(), sessionStorageUtils());
|
|
3065
3082
|
return env;
|
|
3066
3083
|
}
|
|
3067
|
-
export
|
|
3084
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
3085
|
+
0 && (module.exports = {
|
|
3068
3086
|
EnvStore,
|
|
3069
3087
|
env,
|
|
3070
3088
|
getEnv,
|
|
3071
3089
|
initEnv
|
|
3072
|
-
};
|
|
3090
|
+
});
|