@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
|
@@ -1,84 +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
|
-
env: () => env,
|
|
72
|
-
getEnv: () => getEnv,
|
|
73
|
-
initEnv: () => initEnv
|
|
74
|
-
});
|
|
75
|
-
module.exports = __toCommonJS(environment_exports);
|
|
76
|
-
|
|
77
1
|
// src/configs/axios-client.ts
|
|
78
|
-
|
|
2
|
+
import axios from "axios";
|
|
79
3
|
|
|
80
4
|
// src/utils/format.ts
|
|
81
|
-
|
|
5
|
+
import moment from "moment";
|
|
82
6
|
|
|
83
7
|
// src/utils/domain/py_tokenizer.ts
|
|
84
8
|
var TokenizerError = class extends Error {
|
|
@@ -1158,6 +1082,22 @@ var PyRelativeDelta = class _PyRelativeDelta {
|
|
|
1158
1082
|
this.microsecond = params.microsecond;
|
|
1159
1083
|
this.weekday = params.weekday;
|
|
1160
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;
|
|
1161
1101
|
negate() {
|
|
1162
1102
|
return new _PyRelativeDelta(this, -1);
|
|
1163
1103
|
}
|
|
@@ -1272,7 +1212,7 @@ function execOnIterable(iterable, func) {
|
|
|
1272
1212
|
if (typeof iterable === "object" && !Array.isArray(iterable) && !(iterable instanceof Set)) {
|
|
1273
1213
|
iterable = Object.keys(iterable);
|
|
1274
1214
|
}
|
|
1275
|
-
if (typeof
|
|
1215
|
+
if (typeof iterable?.[Symbol.iterator] !== "function") {
|
|
1276
1216
|
throw new EvaluationError("value not iterable");
|
|
1277
1217
|
}
|
|
1278
1218
|
return func(iterable);
|
|
@@ -1595,7 +1535,7 @@ function applyBinaryOp(ast, context) {
|
|
|
1595
1535
|
}
|
|
1596
1536
|
return Math.floor(left / right);
|
|
1597
1537
|
case "**":
|
|
1598
|
-
return
|
|
1538
|
+
return left ** right;
|
|
1599
1539
|
case "==":
|
|
1600
1540
|
return isEqual(left, right);
|
|
1601
1541
|
case "<>":
|
|
@@ -1717,7 +1657,7 @@ function evaluate(ast, context = {}) {
|
|
|
1717
1657
|
const dicts = /* @__PURE__ */ new Set();
|
|
1718
1658
|
let pyContext;
|
|
1719
1659
|
const evalContext = Object.create(context);
|
|
1720
|
-
if (!
|
|
1660
|
+
if (!evalContext?.context) {
|
|
1721
1661
|
Object.defineProperty(evalContext, "context", {
|
|
1722
1662
|
get() {
|
|
1723
1663
|
if (!pyContext) {
|
|
@@ -1728,18 +1668,17 @@ function evaluate(ast, context = {}) {
|
|
|
1728
1668
|
});
|
|
1729
1669
|
}
|
|
1730
1670
|
function _innerEvaluate(ast2) {
|
|
1731
|
-
|
|
1732
|
-
switch (ast2 == null ? void 0 : ast2.type) {
|
|
1671
|
+
switch (ast2?.type) {
|
|
1733
1672
|
case 0:
|
|
1734
1673
|
// Number
|
|
1735
1674
|
case 1:
|
|
1736
1675
|
return ast2.value;
|
|
1737
1676
|
case 5:
|
|
1738
1677
|
if (ast2.value in evalContext) {
|
|
1739
|
-
if (typeof evalContext[ast2.value] === "object" &&
|
|
1740
|
-
return
|
|
1678
|
+
if (typeof evalContext[ast2.value] === "object" && evalContext[ast2.value]?.id) {
|
|
1679
|
+
return evalContext[ast2.value]?.id;
|
|
1741
1680
|
}
|
|
1742
|
-
return
|
|
1681
|
+
return evalContext[ast2.value] ?? false;
|
|
1743
1682
|
} else if (ast2.value in BUILTINS) {
|
|
1744
1683
|
return BUILTINS[ast2.value];
|
|
1745
1684
|
} else {
|
|
@@ -1776,7 +1715,7 @@ function evaluate(ast, context = {}) {
|
|
|
1776
1715
|
const args = ast2.args.map(_evaluate);
|
|
1777
1716
|
const kwargs = {};
|
|
1778
1717
|
for (const kwarg in ast2.kwargs) {
|
|
1779
|
-
kwargs[kwarg] = _evaluate(ast2
|
|
1718
|
+
kwargs[kwarg] = _evaluate(ast2?.kwargs[kwarg]);
|
|
1780
1719
|
}
|
|
1781
1720
|
if (fnValue === PyDate || fnValue === PyDateTime || fnValue === PyTime || fnValue === PyRelativeDelta || fnValue === PyTimeDelta) {
|
|
1782
1721
|
return fnValue.create(...args, kwargs);
|
|
@@ -1855,25 +1794,9 @@ function escapeRegExp(str) {
|
|
|
1855
1794
|
var InvalidDomainError = class extends Error {
|
|
1856
1795
|
};
|
|
1857
1796
|
var Domain = class _Domain {
|
|
1858
|
-
|
|
1859
|
-
|
|
1860
|
-
|
|
1861
|
-
return new _Domain(descr.toString());
|
|
1862
|
-
} else {
|
|
1863
|
-
let rawAST;
|
|
1864
|
-
try {
|
|
1865
|
-
rawAST = typeof descr === "string" ? parseExpr(descr) : toAST(descr);
|
|
1866
|
-
} catch (error) {
|
|
1867
|
-
throw new InvalidDomainError(
|
|
1868
|
-
`Invalid domain representation: ${descr}`,
|
|
1869
|
-
{
|
|
1870
|
-
cause: error
|
|
1871
|
-
}
|
|
1872
|
-
);
|
|
1873
|
-
}
|
|
1874
|
-
this.ast = normalizeDomainAST(rawAST);
|
|
1875
|
-
}
|
|
1876
|
-
}
|
|
1797
|
+
ast = { type: -1, value: null };
|
|
1798
|
+
static TRUE;
|
|
1799
|
+
static FALSE;
|
|
1877
1800
|
static combine(domains, operator) {
|
|
1878
1801
|
if (domains.length === 0) {
|
|
1879
1802
|
return new _Domain([]);
|
|
@@ -1952,6 +1875,24 @@ var Domain = class _Domain {
|
|
|
1952
1875
|
processLeaf(d.ast.value, 0, "&", newDomain);
|
|
1953
1876
|
return newDomain;
|
|
1954
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
|
+
}
|
|
1955
1896
|
contains(record) {
|
|
1956
1897
|
const expr = evaluate(this.ast, record);
|
|
1957
1898
|
return matchDomain(record, expr);
|
|
@@ -1970,7 +1911,7 @@ var Domain = class _Domain {
|
|
|
1970
1911
|
return evaluatedAsList;
|
|
1971
1912
|
}
|
|
1972
1913
|
return this.toString();
|
|
1973
|
-
} catch
|
|
1914
|
+
} catch {
|
|
1974
1915
|
return this.toString();
|
|
1975
1916
|
}
|
|
1976
1917
|
}
|
|
@@ -2170,7 +2111,7 @@ function matchDomain(record, domain) {
|
|
|
2170
2111
|
}
|
|
2171
2112
|
|
|
2172
2113
|
// src/utils/function.ts
|
|
2173
|
-
|
|
2114
|
+
import { useEffect, useState } from "react";
|
|
2174
2115
|
var updateTokenParamInOriginalRequest = (originalRequest, newAccessToken) => {
|
|
2175
2116
|
if (!originalRequest.data) return originalRequest.data;
|
|
2176
2117
|
if (typeof originalRequest.data === "string") {
|
|
@@ -2193,22 +2134,22 @@ var updateTokenParamInOriginalRequest = (originalRequest, newAccessToken) => {
|
|
|
2193
2134
|
|
|
2194
2135
|
// src/utils/storage/local-storage.ts
|
|
2195
2136
|
var localStorageUtils = () => {
|
|
2196
|
-
const setToken = (access_token) =>
|
|
2137
|
+
const setToken = async (access_token) => {
|
|
2197
2138
|
localStorage.setItem("accessToken", access_token);
|
|
2198
|
-
}
|
|
2199
|
-
const setRefreshToken = (refresh_token) =>
|
|
2139
|
+
};
|
|
2140
|
+
const setRefreshToken = async (refresh_token) => {
|
|
2200
2141
|
localStorage.setItem("refreshToken", refresh_token);
|
|
2201
|
-
}
|
|
2202
|
-
const getAccessToken = () =>
|
|
2142
|
+
};
|
|
2143
|
+
const getAccessToken = async () => {
|
|
2203
2144
|
return localStorage.getItem("accessToken");
|
|
2204
|
-
}
|
|
2205
|
-
const getRefreshToken = () =>
|
|
2145
|
+
};
|
|
2146
|
+
const getRefreshToken = async () => {
|
|
2206
2147
|
return localStorage.getItem("refreshToken");
|
|
2207
|
-
}
|
|
2208
|
-
const clearToken = () =>
|
|
2148
|
+
};
|
|
2149
|
+
const clearToken = async () => {
|
|
2209
2150
|
localStorage.removeItem("accessToken");
|
|
2210
2151
|
localStorage.removeItem("refreshToken");
|
|
2211
|
-
}
|
|
2152
|
+
};
|
|
2212
2153
|
return {
|
|
2213
2154
|
setToken,
|
|
2214
2155
|
setRefreshToken,
|
|
@@ -2220,9 +2161,9 @@ var localStorageUtils = () => {
|
|
|
2220
2161
|
|
|
2221
2162
|
// src/utils/storage/session-storage.ts
|
|
2222
2163
|
var sessionStorageUtils = () => {
|
|
2223
|
-
const getBrowserSession = () =>
|
|
2164
|
+
const getBrowserSession = async () => {
|
|
2224
2165
|
return sessionStorage.getItem("browserSession");
|
|
2225
|
-
}
|
|
2166
|
+
};
|
|
2226
2167
|
return {
|
|
2227
2168
|
getBrowserSession
|
|
2228
2169
|
};
|
|
@@ -2231,14 +2172,13 @@ var sessionStorageUtils = () => {
|
|
|
2231
2172
|
// src/configs/axios-client.ts
|
|
2232
2173
|
var axiosClient = {
|
|
2233
2174
|
init(config) {
|
|
2234
|
-
|
|
2235
|
-
const
|
|
2236
|
-
const sessionStorage2 = (_b = config.sessionStorageUtils) != null ? _b : sessionStorageUtils();
|
|
2175
|
+
const localStorage2 = config.localStorageUtils ?? localStorageUtils();
|
|
2176
|
+
const sessionStorage2 = config.sessionStorageUtils ?? sessionStorageUtils();
|
|
2237
2177
|
const db = config.db;
|
|
2238
2178
|
let isRefreshing = false;
|
|
2239
2179
|
let failedQueue = [];
|
|
2240
2180
|
const processQueue = (error, token = null) => {
|
|
2241
|
-
failedQueue
|
|
2181
|
+
failedQueue?.forEach((prom) => {
|
|
2242
2182
|
if (error) {
|
|
2243
2183
|
prom.reject(error);
|
|
2244
2184
|
} else {
|
|
@@ -2247,44 +2187,39 @@ var axiosClient = {
|
|
|
2247
2187
|
});
|
|
2248
2188
|
failedQueue = [];
|
|
2249
2189
|
};
|
|
2250
|
-
const instance =
|
|
2251
|
-
adapter:
|
|
2190
|
+
const instance = axios.create({
|
|
2191
|
+
adapter: axios.defaults.adapter,
|
|
2252
2192
|
baseURL: config.baseUrl,
|
|
2253
2193
|
timeout: 5e4,
|
|
2254
2194
|
paramsSerializer: (params) => new URLSearchParams(params).toString()
|
|
2255
2195
|
});
|
|
2256
|
-
instance.interceptors.request.use(
|
|
2257
|
-
|
|
2258
|
-
|
|
2259
|
-
|
|
2260
|
-
if (token) {
|
|
2261
|
-
config2.headers["Authorization"] = "Bearer " + token;
|
|
2262
|
-
}
|
|
2263
|
-
return config2;
|
|
2264
|
-
}),
|
|
2265
|
-
(error) => {
|
|
2266
|
-
Promise.reject(error);
|
|
2196
|
+
instance.interceptors.request.use(async (config2) => {
|
|
2197
|
+
const { useRefreshToken, useActionToken, actionToken } = config2;
|
|
2198
|
+
if (useActionToken && actionToken) {
|
|
2199
|
+
config2.headers["Action-Token"] = actionToken;
|
|
2267
2200
|
}
|
|
2268
|
-
|
|
2201
|
+
const getToken = useRefreshToken ? localStorage2.getRefreshToken : localStorage2.getAccessToken;
|
|
2202
|
+
const token = await getToken?.();
|
|
2203
|
+
if (token) config2.headers["Authorization"] = `Bearer ${token}`;
|
|
2204
|
+
return config2;
|
|
2205
|
+
}, Promise.reject);
|
|
2269
2206
|
instance.interceptors.response.use(
|
|
2270
2207
|
(response) => {
|
|
2271
2208
|
return handleResponse(response);
|
|
2272
2209
|
},
|
|
2273
|
-
(error) =>
|
|
2274
|
-
|
|
2275
|
-
const handleError3 = (error2) => __async(null, null, function* () {
|
|
2276
|
-
var _a3;
|
|
2210
|
+
async (error) => {
|
|
2211
|
+
const handleError3 = async (error2) => {
|
|
2277
2212
|
if (!error2.response) {
|
|
2278
2213
|
return error2;
|
|
2279
2214
|
}
|
|
2280
2215
|
const { data } = error2.response;
|
|
2281
|
-
if (data && data.code === 400 && ["invalid_grant"].includes(
|
|
2282
|
-
|
|
2216
|
+
if (data && data.code === 400 && ["invalid_grant"].includes(data.data?.error)) {
|
|
2217
|
+
await clearAuthToken();
|
|
2283
2218
|
}
|
|
2284
2219
|
return data;
|
|
2285
|
-
}
|
|
2220
|
+
};
|
|
2286
2221
|
const originalRequest = error.config;
|
|
2287
|
-
if ((
|
|
2222
|
+
if ((error.response?.status === 403 || error.response?.status === 401 || error.response?.status === 404) && ["TOKEN_EXPIRED", "AUTHEN_FAIL", 401, "ERR_2FA_006"].includes(
|
|
2288
2223
|
error.response.data.code
|
|
2289
2224
|
)) {
|
|
2290
2225
|
if (isRefreshing) {
|
|
@@ -2297,19 +2232,18 @@ var axiosClient = {
|
|
|
2297
2232
|
token
|
|
2298
2233
|
);
|
|
2299
2234
|
return instance.request(originalRequest);
|
|
2300
|
-
}).catch((err) =>
|
|
2301
|
-
|
|
2302
|
-
|
|
2303
|
-
yield clearAuthToken();
|
|
2235
|
+
}).catch(async (err) => {
|
|
2236
|
+
if ((err.response?.status === 400 || err.response?.status === 401) && ["invalid_grant"].includes(err.response.data.error)) {
|
|
2237
|
+
await clearAuthToken();
|
|
2304
2238
|
}
|
|
2305
|
-
})
|
|
2239
|
+
});
|
|
2306
2240
|
}
|
|
2307
|
-
const browserSession =
|
|
2308
|
-
const refreshToken =
|
|
2309
|
-
const accessTokenExp =
|
|
2241
|
+
const browserSession = await sessionStorage2.getBrowserSession();
|
|
2242
|
+
const refreshToken = await localStorage2.getRefreshToken();
|
|
2243
|
+
const accessTokenExp = await localStorage2.getAccessToken();
|
|
2310
2244
|
isRefreshing = true;
|
|
2311
2245
|
if (!refreshToken && (!browserSession || browserSession == "unActive")) {
|
|
2312
|
-
|
|
2246
|
+
await clearAuthToken();
|
|
2313
2247
|
} else {
|
|
2314
2248
|
const payload = Object.fromEntries(
|
|
2315
2249
|
Object.entries({
|
|
@@ -2320,9 +2254,8 @@ var axiosClient = {
|
|
|
2320
2254
|
}).filter(([_, value]) => !!value)
|
|
2321
2255
|
);
|
|
2322
2256
|
return new Promise(function(resolve) {
|
|
2323
|
-
|
|
2324
|
-
|
|
2325
|
-
`${config.baseUrl}${(_a3 = config.refreshTokenEndpoint) != null ? _a3 : "/authentication/oauth2/token" /* AUTH_TOKEN_PATH */}`,
|
|
2257
|
+
axios.post(
|
|
2258
|
+
`${config.baseUrl}${config.refreshTokenEndpoint ?? "/authentication/oauth2/token" /* AUTH_TOKEN_PATH */}`,
|
|
2326
2259
|
payload,
|
|
2327
2260
|
{
|
|
2328
2261
|
headers: {
|
|
@@ -2330,11 +2263,11 @@ var axiosClient = {
|
|
|
2330
2263
|
Authorization: `Bearer ${accessTokenExp}`
|
|
2331
2264
|
}
|
|
2332
2265
|
}
|
|
2333
|
-
).then((res) =>
|
|
2266
|
+
).then(async (res) => {
|
|
2334
2267
|
const data = res.data;
|
|
2335
|
-
|
|
2336
|
-
|
|
2337
|
-
|
|
2268
|
+
await localStorage2.setToken(data.access_token);
|
|
2269
|
+
await localStorage2.setRefreshToken(data.refresh_token);
|
|
2270
|
+
axios.defaults.headers.common["Authorization"] = "Bearer " + data.access_token;
|
|
2338
2271
|
originalRequest.headers["Authorization"] = "Bearer " + data.access_token;
|
|
2339
2272
|
originalRequest.data = updateTokenParamInOriginalRequest(
|
|
2340
2273
|
originalRequest,
|
|
@@ -2342,26 +2275,25 @@ var axiosClient = {
|
|
|
2342
2275
|
);
|
|
2343
2276
|
processQueue(null, data.access_token);
|
|
2344
2277
|
resolve(instance.request(originalRequest));
|
|
2345
|
-
})
|
|
2346
|
-
|
|
2347
|
-
|
|
2348
|
-
yield clearAuthToken();
|
|
2278
|
+
}).catch(async (err) => {
|
|
2279
|
+
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") {
|
|
2280
|
+
await clearAuthToken();
|
|
2349
2281
|
}
|
|
2350
2282
|
if (err && err.response) {
|
|
2351
|
-
const { error_code } =
|
|
2283
|
+
const { error_code } = err.response?.data || {};
|
|
2352
2284
|
if (error_code === "AUTHEN_FAIL") {
|
|
2353
|
-
|
|
2285
|
+
await clearAuthToken();
|
|
2354
2286
|
}
|
|
2355
2287
|
}
|
|
2356
2288
|
processQueue(err, null);
|
|
2357
|
-
})
|
|
2289
|
+
}).finally(() => {
|
|
2358
2290
|
isRefreshing = false;
|
|
2359
2291
|
});
|
|
2360
2292
|
});
|
|
2361
2293
|
}
|
|
2362
2294
|
}
|
|
2363
|
-
return Promise.reject(
|
|
2364
|
-
}
|
|
2295
|
+
return Promise.reject(await handleError3(error));
|
|
2296
|
+
}
|
|
2365
2297
|
);
|
|
2366
2298
|
const handleResponse = (res) => {
|
|
2367
2299
|
if (res && res.data) {
|
|
@@ -2370,7 +2302,6 @@ var axiosClient = {
|
|
|
2370
2302
|
return res;
|
|
2371
2303
|
};
|
|
2372
2304
|
const handleError2 = (error) => {
|
|
2373
|
-
var _a2, _b2, _c;
|
|
2374
2305
|
if (error.isAxiosError && error.code === "ECONNABORTED") {
|
|
2375
2306
|
console.error("Request Timeout Error:", error);
|
|
2376
2307
|
return "Request Timeout Error";
|
|
@@ -2378,17 +2309,17 @@ var axiosClient = {
|
|
|
2378
2309
|
console.error("Network Error:", error);
|
|
2379
2310
|
return "Network Error";
|
|
2380
2311
|
} else {
|
|
2381
|
-
console.error("Other Error:", error
|
|
2382
|
-
const errorMessage =
|
|
2383
|
-
return { message: errorMessage, status:
|
|
2312
|
+
console.error("Other Error:", error?.response);
|
|
2313
|
+
const errorMessage = error?.response?.data?.message || "An error occurred";
|
|
2314
|
+
return { message: errorMessage, status: error?.response?.status };
|
|
2384
2315
|
}
|
|
2385
2316
|
};
|
|
2386
|
-
const clearAuthToken = () =>
|
|
2387
|
-
|
|
2317
|
+
const clearAuthToken = async () => {
|
|
2318
|
+
await localStorage2.clearToken();
|
|
2388
2319
|
if (typeof window !== "undefined") {
|
|
2389
2320
|
window.location.href = `/login`;
|
|
2390
2321
|
}
|
|
2391
|
-
}
|
|
2322
|
+
};
|
|
2392
2323
|
function formatUrl(url, db2) {
|
|
2393
2324
|
return url + (db2 ? "?db=" + db2 : "");
|
|
2394
2325
|
}
|
|
@@ -2412,14 +2343,14 @@ var axiosClient = {
|
|
|
2412
2343
|
};
|
|
2413
2344
|
|
|
2414
2345
|
// src/store/index.ts
|
|
2415
|
-
|
|
2346
|
+
import { useDispatch, useSelector } from "react-redux";
|
|
2416
2347
|
|
|
2417
2348
|
// src/store/reducers/breadcrums-slice/index.ts
|
|
2418
|
-
|
|
2349
|
+
import { createSlice } from "@reduxjs/toolkit";
|
|
2419
2350
|
var initialState = {
|
|
2420
2351
|
breadCrumbs: []
|
|
2421
2352
|
};
|
|
2422
|
-
var breadcrumbsSlice =
|
|
2353
|
+
var breadcrumbsSlice = createSlice({
|
|
2423
2354
|
name: "breadcrumbs",
|
|
2424
2355
|
initialState,
|
|
2425
2356
|
reducers: {
|
|
@@ -2432,12 +2363,14 @@ var { setBreadCrumbs } = breadcrumbsSlice.actions;
|
|
|
2432
2363
|
var breadcrums_slice_default = breadcrumbsSlice.reducer;
|
|
2433
2364
|
|
|
2434
2365
|
// src/store/reducers/env-slice/index.ts
|
|
2435
|
-
|
|
2366
|
+
import { createSlice as createSlice2 } from "@reduxjs/toolkit";
|
|
2436
2367
|
var initialState2 = {
|
|
2437
2368
|
baseUrl: "",
|
|
2438
2369
|
requests: null,
|
|
2439
2370
|
companies: [],
|
|
2440
2371
|
user: {},
|
|
2372
|
+
db: "",
|
|
2373
|
+
refreshTokenEndpoint: "",
|
|
2441
2374
|
config: null,
|
|
2442
2375
|
envFile: null,
|
|
2443
2376
|
defaultCompany: {
|
|
@@ -2453,7 +2386,7 @@ var initialState2 = {
|
|
|
2453
2386
|
tz: "Asia/Saigon"
|
|
2454
2387
|
}
|
|
2455
2388
|
};
|
|
2456
|
-
var envSlice = (
|
|
2389
|
+
var envSlice = createSlice2({
|
|
2457
2390
|
name: "env",
|
|
2458
2391
|
initialState: initialState2,
|
|
2459
2392
|
reducers: {
|
|
@@ -2500,7 +2433,7 @@ var {
|
|
|
2500
2433
|
var env_slice_default = envSlice.reducer;
|
|
2501
2434
|
|
|
2502
2435
|
// src/store/reducers/excel-slice/index.ts
|
|
2503
|
-
|
|
2436
|
+
import { createSlice as createSlice3 } from "@reduxjs/toolkit";
|
|
2504
2437
|
var initialState3 = {
|
|
2505
2438
|
dataParse: null,
|
|
2506
2439
|
idFile: null,
|
|
@@ -2509,7 +2442,7 @@ var initialState3 = {
|
|
|
2509
2442
|
selectedFile: null,
|
|
2510
2443
|
errorData: null
|
|
2511
2444
|
};
|
|
2512
|
-
var excelSlice = (
|
|
2445
|
+
var excelSlice = createSlice3({
|
|
2513
2446
|
name: "excel",
|
|
2514
2447
|
initialState: initialState3,
|
|
2515
2448
|
reducers: {
|
|
@@ -2544,7 +2477,7 @@ var {
|
|
|
2544
2477
|
var excel_slice_default = excelSlice.reducer;
|
|
2545
2478
|
|
|
2546
2479
|
// src/store/reducers/form-slice/index.ts
|
|
2547
|
-
|
|
2480
|
+
import { createSlice as createSlice4 } from "@reduxjs/toolkit";
|
|
2548
2481
|
var initialState4 = {
|
|
2549
2482
|
viewDataStore: {},
|
|
2550
2483
|
isShowingModalDetail: false,
|
|
@@ -2554,7 +2487,7 @@ var initialState4 = {
|
|
|
2554
2487
|
listSubject: {},
|
|
2555
2488
|
dataUser: {}
|
|
2556
2489
|
};
|
|
2557
|
-
var formSlice = (
|
|
2490
|
+
var formSlice = createSlice4({
|
|
2558
2491
|
name: "form",
|
|
2559
2492
|
initialState: initialState4,
|
|
2560
2493
|
reducers: {
|
|
@@ -2593,15 +2526,15 @@ var {
|
|
|
2593
2526
|
var form_slice_default = formSlice.reducer;
|
|
2594
2527
|
|
|
2595
2528
|
// src/store/reducers/header-slice/index.ts
|
|
2596
|
-
|
|
2597
|
-
var headerSlice = (
|
|
2529
|
+
import { createSlice as createSlice5 } from "@reduxjs/toolkit";
|
|
2530
|
+
var headerSlice = createSlice5({
|
|
2598
2531
|
name: "header",
|
|
2599
2532
|
initialState: {
|
|
2600
2533
|
value: { allowedCompanyIds: [] }
|
|
2601
2534
|
},
|
|
2602
2535
|
reducers: {
|
|
2603
2536
|
setHeader: (state, action) => {
|
|
2604
|
-
state.value =
|
|
2537
|
+
state.value = { ...state.value, ...action.payload };
|
|
2605
2538
|
},
|
|
2606
2539
|
setAllowedCompanyIds: (state, action) => {
|
|
2607
2540
|
state.value.allowedCompanyIds = action.payload;
|
|
@@ -2612,7 +2545,7 @@ var { setAllowedCompanyIds, setHeader } = headerSlice.actions;
|
|
|
2612
2545
|
var header_slice_default = headerSlice.reducer;
|
|
2613
2546
|
|
|
2614
2547
|
// src/store/reducers/list-slice/index.ts
|
|
2615
|
-
|
|
2548
|
+
import { createSlice as createSlice6 } from "@reduxjs/toolkit";
|
|
2616
2549
|
var initialState5 = {
|
|
2617
2550
|
pageLimit: 10,
|
|
2618
2551
|
fields: {},
|
|
@@ -2626,7 +2559,7 @@ var initialState5 = {
|
|
|
2626
2559
|
page: 0,
|
|
2627
2560
|
domainTable: []
|
|
2628
2561
|
};
|
|
2629
|
-
var listSlice = (
|
|
2562
|
+
var listSlice = createSlice6({
|
|
2630
2563
|
name: "list",
|
|
2631
2564
|
initialState: initialState5,
|
|
2632
2565
|
reducers: {
|
|
@@ -2677,13 +2610,13 @@ var {
|
|
|
2677
2610
|
var list_slice_default = listSlice.reducer;
|
|
2678
2611
|
|
|
2679
2612
|
// src/store/reducers/login-slice/index.ts
|
|
2680
|
-
|
|
2613
|
+
import { createSlice as createSlice7 } from "@reduxjs/toolkit";
|
|
2681
2614
|
var initialState6 = {
|
|
2682
2615
|
db: "",
|
|
2683
2616
|
redirectTo: "/",
|
|
2684
2617
|
forgotPasswordUrl: "/"
|
|
2685
2618
|
};
|
|
2686
|
-
var loginSlice = (
|
|
2619
|
+
var loginSlice = createSlice7({
|
|
2687
2620
|
name: "login",
|
|
2688
2621
|
initialState: initialState6,
|
|
2689
2622
|
reducers: {
|
|
@@ -2702,14 +2635,14 @@ var { setDb, setRedirectTo, setForgotPasswordUrl } = loginSlice.actions;
|
|
|
2702
2635
|
var login_slice_default = loginSlice.reducer;
|
|
2703
2636
|
|
|
2704
2637
|
// src/store/reducers/navbar-slice/index.ts
|
|
2705
|
-
|
|
2638
|
+
import { createSlice as createSlice8 } from "@reduxjs/toolkit";
|
|
2706
2639
|
var initialState7 = {
|
|
2707
2640
|
menuFocus: {},
|
|
2708
2641
|
menuAction: {},
|
|
2709
2642
|
navbarWidth: 250,
|
|
2710
2643
|
menuList: []
|
|
2711
2644
|
};
|
|
2712
|
-
var navbarSlice = (
|
|
2645
|
+
var navbarSlice = createSlice8({
|
|
2713
2646
|
name: "navbar",
|
|
2714
2647
|
initialState: initialState7,
|
|
2715
2648
|
reducers: {
|
|
@@ -2731,11 +2664,11 @@ var { setMenuFocus, setMenuFocusAction, setNavbarWidth, setMenuList } = navbarSl
|
|
|
2731
2664
|
var navbar_slice_default = navbarSlice.reducer;
|
|
2732
2665
|
|
|
2733
2666
|
// src/store/reducers/profile-slice/index.ts
|
|
2734
|
-
|
|
2667
|
+
import { createSlice as createSlice9 } from "@reduxjs/toolkit";
|
|
2735
2668
|
var initialState8 = {
|
|
2736
2669
|
profile: {}
|
|
2737
2670
|
};
|
|
2738
|
-
var profileSlice = (
|
|
2671
|
+
var profileSlice = createSlice9({
|
|
2739
2672
|
name: "profile",
|
|
2740
2673
|
initialState: initialState8,
|
|
2741
2674
|
reducers: {
|
|
@@ -2748,7 +2681,7 @@ var { setProfile } = profileSlice.actions;
|
|
|
2748
2681
|
var profile_slice_default = profileSlice.reducer;
|
|
2749
2682
|
|
|
2750
2683
|
// src/store/reducers/search-slice/index.ts
|
|
2751
|
-
|
|
2684
|
+
import { createSlice as createSlice10 } from "@reduxjs/toolkit";
|
|
2752
2685
|
var initialState9 = {
|
|
2753
2686
|
groupByDomain: null,
|
|
2754
2687
|
searchBy: [],
|
|
@@ -2760,7 +2693,7 @@ var initialState9 = {
|
|
|
2760
2693
|
filterBy: [],
|
|
2761
2694
|
groupBy: []
|
|
2762
2695
|
};
|
|
2763
|
-
var searchSlice = (
|
|
2696
|
+
var searchSlice = createSlice10({
|
|
2764
2697
|
name: "search",
|
|
2765
2698
|
initialState: initialState9,
|
|
2766
2699
|
reducers: {
|
|
@@ -2834,7 +2767,7 @@ var {
|
|
|
2834
2767
|
var search_slice_default = searchSlice.reducer;
|
|
2835
2768
|
|
|
2836
2769
|
// src/store/store.ts
|
|
2837
|
-
|
|
2770
|
+
import { configureStore } from "@reduxjs/toolkit";
|
|
2838
2771
|
|
|
2839
2772
|
// node_modules/redux/dist/redux.mjs
|
|
2840
2773
|
function formatProdErrorMessage(code) {
|
|
@@ -3018,7 +2951,7 @@ var rootReducer = combineReducers({
|
|
|
3018
2951
|
excel: excel_slice_default,
|
|
3019
2952
|
profile: profile_slice_default
|
|
3020
2953
|
});
|
|
3021
|
-
var envStore =
|
|
2954
|
+
var envStore = configureStore({
|
|
3022
2955
|
reducer: rootReducer,
|
|
3023
2956
|
middleware: (getDefaultMiddleware) => getDefaultMiddleware({
|
|
3024
2957
|
serializableCheck: false
|
|
@@ -3027,61 +2960,72 @@ var envStore = (0, import_toolkit11.configureStore)({
|
|
|
3027
2960
|
|
|
3028
2961
|
// src/environment/EnvStore.ts
|
|
3029
2962
|
var EnvStore = class {
|
|
3030
|
-
|
|
3031
|
-
|
|
2963
|
+
baseUrl;
|
|
2964
|
+
requests;
|
|
2965
|
+
context;
|
|
2966
|
+
defaultCompany;
|
|
2967
|
+
config;
|
|
2968
|
+
companies;
|
|
2969
|
+
user;
|
|
2970
|
+
db;
|
|
2971
|
+
localStorageUtils;
|
|
2972
|
+
sessionStorageUtils;
|
|
2973
|
+
refreshTokenEndpoint;
|
|
2974
|
+
constructor(localStorageUtils2, sessionStorageUtils2) {
|
|
3032
2975
|
this.localStorageUtils = localStorageUtils2;
|
|
3033
2976
|
this.sessionStorageUtils = sessionStorageUtils2;
|
|
3034
2977
|
this.setup();
|
|
3035
2978
|
}
|
|
3036
2979
|
setup() {
|
|
3037
|
-
const env2 =
|
|
3038
|
-
this.baseUrl = env2
|
|
3039
|
-
this.requests = env2
|
|
3040
|
-
this.context = env2
|
|
3041
|
-
this.defaultCompany = env2
|
|
3042
|
-
this.config = env2
|
|
3043
|
-
this.companies =
|
|
3044
|
-
this.user = env2
|
|
3045
|
-
this.db = env2
|
|
3046
|
-
this.refreshTokenEndpoint = env2
|
|
2980
|
+
const env2 = envStore.getState().env;
|
|
2981
|
+
this.baseUrl = env2?.baseUrl;
|
|
2982
|
+
this.requests = env2?.requests;
|
|
2983
|
+
this.context = env2?.context;
|
|
2984
|
+
this.defaultCompany = env2?.defaultCompany;
|
|
2985
|
+
this.config = env2?.config;
|
|
2986
|
+
this.companies = env2?.companies || [];
|
|
2987
|
+
this.user = env2?.user;
|
|
2988
|
+
this.db = env2?.db;
|
|
2989
|
+
this.refreshTokenEndpoint = env2?.refreshTokenEndpoint;
|
|
3047
2990
|
}
|
|
3048
2991
|
setupEnv(envConfig) {
|
|
3049
|
-
const dispatch =
|
|
3050
|
-
const env2 =
|
|
2992
|
+
const dispatch = envStore.dispatch;
|
|
2993
|
+
const env2 = {
|
|
2994
|
+
...envConfig,
|
|
3051
2995
|
localStorageUtils: this.localStorageUtils,
|
|
3052
2996
|
sessionStorageUtils: this.sessionStorageUtils
|
|
3053
|
-
}
|
|
2997
|
+
};
|
|
3054
2998
|
const requests = axiosClient.init(env2);
|
|
3055
|
-
dispatch(setEnv(
|
|
2999
|
+
dispatch(setEnv({ ...env2, requests }));
|
|
3056
3000
|
this.setup();
|
|
3057
3001
|
}
|
|
3058
3002
|
setUid(uid) {
|
|
3059
|
-
const dispatch =
|
|
3003
|
+
const dispatch = envStore.dispatch;
|
|
3060
3004
|
dispatch(setUid(uid));
|
|
3061
3005
|
this.setup();
|
|
3062
3006
|
}
|
|
3063
3007
|
setLang(lang) {
|
|
3064
|
-
const dispatch =
|
|
3008
|
+
const dispatch = envStore.dispatch;
|
|
3065
3009
|
dispatch(setLang(lang));
|
|
3066
3010
|
this.setup();
|
|
3067
3011
|
}
|
|
3068
3012
|
setAllowCompanies(allowCompanies) {
|
|
3069
|
-
const dispatch =
|
|
3013
|
+
const dispatch = envStore.dispatch;
|
|
3070
3014
|
dispatch(setAllowCompanies(allowCompanies));
|
|
3071
3015
|
this.setup();
|
|
3072
3016
|
}
|
|
3073
3017
|
setCompanies(companies) {
|
|
3074
|
-
const dispatch =
|
|
3018
|
+
const dispatch = envStore.dispatch;
|
|
3075
3019
|
dispatch(setCompanies(companies));
|
|
3076
3020
|
this.setup();
|
|
3077
3021
|
}
|
|
3078
3022
|
setDefaultCompany(company) {
|
|
3079
|
-
const dispatch =
|
|
3023
|
+
const dispatch = envStore.dispatch;
|
|
3080
3024
|
dispatch(setDefaultCompany(company));
|
|
3081
3025
|
this.setup();
|
|
3082
3026
|
}
|
|
3083
3027
|
setUserInfo(userInfo) {
|
|
3084
|
-
const dispatch =
|
|
3028
|
+
const dispatch = envStore.dispatch;
|
|
3085
3029
|
dispatch(setUser(userInfo));
|
|
3086
3030
|
this.setup();
|
|
3087
3031
|
}
|
|
@@ -3091,18 +3035,16 @@ function initEnv({
|
|
|
3091
3035
|
localStorageUtils: localStorageUtils2,
|
|
3092
3036
|
sessionStorageUtils: sessionStorageUtils2
|
|
3093
3037
|
}) {
|
|
3094
|
-
env = new EnvStore(
|
|
3038
|
+
env = new EnvStore(localStorageUtils2, sessionStorageUtils2);
|
|
3095
3039
|
return env;
|
|
3096
3040
|
}
|
|
3097
3041
|
function getEnv() {
|
|
3098
|
-
if (!env)
|
|
3099
|
-
env = new EnvStore(envStore, localStorageUtils(), sessionStorageUtils());
|
|
3042
|
+
if (!env) env = new EnvStore(localStorageUtils(), sessionStorageUtils());
|
|
3100
3043
|
return env;
|
|
3101
3044
|
}
|
|
3102
|
-
|
|
3103
|
-
0 && (module.exports = {
|
|
3045
|
+
export {
|
|
3104
3046
|
EnvStore,
|
|
3105
3047
|
env,
|
|
3106
3048
|
getEnv,
|
|
3107
3049
|
initEnv
|
|
3108
|
-
}
|
|
3050
|
+
};
|