acsi-core 1.2.31 → 1.2.35
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/containers/Login/apiClient/index.d.ts +5 -5
- package/dist/index.d.ts +4 -2
- package/dist/index.js +70 -33
- package/dist/index.js.map +1 -1
- package/dist/index.modern.js +68 -34
- package/dist/index.modern.js.map +1 -1
- package/dist/services/accountService.d.ts +6 -6
- package/dist/utils/constants.d.ts +1 -0
- package/dist/utils/sanitizeHTMLText.d.ts +2 -0
- package/dist/utils/sanitizeSrc.d.ts +7 -0
- package/package.json +3 -2
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export declare const getGoogleClientId: () => Promise<import("axios").AxiosResponse<any, any
|
|
2
|
-
export declare const apiLoginGoogle: (body: any) => Promise<import("axios").AxiosResponse<any, any
|
|
3
|
-
export declare const apiSendEmailCode: (body: any) => Promise<import("axios").AxiosResponse<any, any
|
|
4
|
-
export declare const apiCheckEmailCode: (params: any) => Promise<import("axios").AxiosResponse<any, any
|
|
5
|
-
export declare const apiGetImage: () => Promise<import("axios").AxiosResponse<any, any
|
|
1
|
+
export declare const getGoogleClientId: () => Promise<import("axios").AxiosResponse<any, any>>;
|
|
2
|
+
export declare const apiLoginGoogle: (body: any) => Promise<import("axios").AxiosResponse<any, any>>;
|
|
3
|
+
export declare const apiSendEmailCode: (body: any) => Promise<import("axios").AxiosResponse<any, any>>;
|
|
4
|
+
export declare const apiCheckEmailCode: (params: any) => Promise<import("axios").AxiosResponse<any, any>>;
|
|
5
|
+
export declare const apiGetImage: () => Promise<import("axios").AxiosResponse<any, any>>;
|
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
declare const historyCore: import("history").History<unknown>;
|
|
2
2
|
import { setLoading, setAlert, setTenant, setAddTenant, setTeam, setUser, setMenuCollapse, setIsRefetchSidebar, setLoadingPage, setIsFirstCalendar } from "./redux/commons/action";
|
|
3
|
-
import { BASE_URL, ACCESS_TOKEN, DATE_TIME_MIN_VALUE, OPENSALT_BASE_URL, ORGANIZATION_TEAM, ORGANIZATION_TENANT, TIMEZONE_ID } from "./utils/constants";
|
|
3
|
+
import { BASE_URL, ACCESS_TOKEN, DATE_TIME_MIN_VALUE, OPENSALT_BASE_URL, ORGANIZATION_TEAM, ORGANIZATION_TENANT, TIMEZONE_ID, UID_TENANT } from "./utils/constants";
|
|
4
4
|
import Login from "./containers/Login/views/Login";
|
|
5
5
|
import store from "./store";
|
|
6
6
|
import getAccessToken from "./utils/getAccessToken";
|
|
@@ -32,4 +32,6 @@ import getTimeZoneId from "./utils/getTimeZoneId";
|
|
|
32
32
|
import timeSpanToLocalMoment from "./utils/timeSpanToLocalMoment";
|
|
33
33
|
import timeSpanToUtc from "./utils/timeSpanToUtc";
|
|
34
34
|
import Cookies from "js-cookie";
|
|
35
|
-
|
|
35
|
+
import sanitizeSrc from "./utils/sanitizeSrc";
|
|
36
|
+
import sanitizeHTMLText from "./utils/sanitizeHTMLText";
|
|
37
|
+
export { setLoading, setLoadingPage, setIsFirstCalendar, BASE_URL, OPENSALT_BASE_URL, ACCESS_TOKEN, DATE_TIME_MIN_VALUE, ORGANIZATION_TEAM, ORGANIZATION_TENANT, TIMEZONE_ID, UID_TENANT, firstCheckToken, getImageUrl, Login, utcToLocalTime, timeSpanToUtc, getTimeZoneId, timeSpanToLocalMoment, getAccessToken, store, historyCore, setAlert, setUser, setTenant, setAddTenant, setTeam, setMenuCollapse, setIsRefetchSidebar, Loading, NotFound, LayoutContext, api, apiUpload, ConfirmDialog, CommonDialog, ToastContainer, toast, Role, Cookies, CustomPagination, useGoogleSignOut, CoreButton, CoreInput, CoreSelect, CoreCheckbox, CoreRadio, CoreError, CoreModal, CoreRange, CoreTextArea, CoreSearch, CoreSelectCompact, CoreInputCompact, CoreTitleInput, CoreTooltip, getErrorMessage, MarkdownLatexRender, RichContentRenderer, CustomSelect, CustomAsyncSelect, CustomCreatable, CustomSelectOption, GoogleOAuthProvider, useAmplitude, AmplitudeEvent, initializeAmplitude, initSentry, sanitizeHTMLText, sanitizeSrc };
|
package/dist/index.js
CHANGED
|
@@ -30,6 +30,7 @@ var Sentry = require('@sentry/react');
|
|
|
30
30
|
var fa = require('react-icons/fa');
|
|
31
31
|
var CreatableSelect = _interopDefault(require('react-select/creatable'));
|
|
32
32
|
var moment$1 = _interopDefault(require('moment-timezone'));
|
|
33
|
+
var DOMPurify = _interopDefault(require('dompurify'));
|
|
33
34
|
|
|
34
35
|
var setLoading = toolkit.createAction("common/setLoading");
|
|
35
36
|
var setLoadingPage = toolkit.createAction("common/setLoadingPage");
|
|
@@ -89,6 +90,7 @@ var COLORS = {
|
|
|
89
90
|
var ORGANIZATION_TENANT = "ORGANIZATION_TENANT";
|
|
90
91
|
var ORGANIZATION_TEAM = "ORGANIZATION_TEAM";
|
|
91
92
|
var TIMEZONE_ID = "TIMEZONE_ID";
|
|
93
|
+
var UID_TENANT = "uid";
|
|
92
94
|
|
|
93
95
|
var styleGlobal = {"signup_wrap":"_1KLz9","box-signin":"_2Jo1o","signin_title":"_3egBO","signup_link":"_1DoIT","google_button":"_34hK_","microsoft_button":"_19ESb","box-field":"_2e9xO","box-input":"_3zXRp","box-text":"_8NJga","box-button-email":"_21FPk","box-signin-container":"_1QERu","box-signin-text":"_2-znH","box-signin-logo":"_1aB2m","box-right":"_3qndF","image-slideshow":"_1aM7m","active":"_Vx1zf","box-right-body":"_JzdCr","box-right-footer":"_19aCA","pr-30":"_2HB5r","width-400":"_4ehXP"};
|
|
94
96
|
|
|
@@ -1721,6 +1723,7 @@ var apiUpload = axios.create({
|
|
|
1721
1723
|
[api, apiUpload].forEach(function (i) {
|
|
1722
1724
|
return i.interceptors.request.use(function (config) {
|
|
1723
1725
|
var token = getAccessToken();
|
|
1726
|
+
var organizationTenant = localStorage.getItem(ORGANIZATION_TENANT);
|
|
1724
1727
|
if (token) {
|
|
1725
1728
|
config.headers.Authorization = "Bearer " + token;
|
|
1726
1729
|
localStorage.setItem("LAST_TIME_REQUETST", moment().utc().format("YYYY-MM-DD HH:mm:ss"));
|
|
@@ -1729,9 +1732,8 @@ var apiUpload = axios.create({
|
|
|
1729
1732
|
if (imPersonate) {
|
|
1730
1733
|
config.headers.ImPersonate = imPersonate;
|
|
1731
1734
|
}
|
|
1732
|
-
|
|
1733
|
-
|
|
1734
|
-
config.headers["X-TenantID"] = tenantId;
|
|
1735
|
+
if (organizationTenant) {
|
|
1736
|
+
config.headers["X-Tenant-ID"] = organizationTenant;
|
|
1735
1737
|
}
|
|
1736
1738
|
return config;
|
|
1737
1739
|
}, function (error) {
|
|
@@ -1742,10 +1744,7 @@ var apiUpload = axios.create({
|
|
|
1742
1744
|
return i.interceptors.response.use(function (response) {
|
|
1743
1745
|
return response;
|
|
1744
1746
|
}, function (error) {
|
|
1745
|
-
if (error.response.status
|
|
1746
|
-
window.location.href = "/login";
|
|
1747
|
-
}
|
|
1748
|
-
if (error.response.status == 403) {
|
|
1747
|
+
if ((error.response.status == 403 || error.response.status == 401) && window.location.pathname !== '/login') {
|
|
1749
1748
|
var hostname = window.location.hostname;
|
|
1750
1749
|
var parts = hostname.split('.');
|
|
1751
1750
|
var domain = parts.slice(-2).join('.');
|
|
@@ -1753,6 +1752,7 @@ var apiUpload = axios.create({
|
|
|
1753
1752
|
localStorage.removeItem(ORGANIZATION_TENANT);
|
|
1754
1753
|
localStorage.removeItem(TIMEZONE_ID);
|
|
1755
1754
|
localStorage.removeItem(ORGANIZATION_TEAM);
|
|
1755
|
+
localStorage.removeItem(UID_TENANT);
|
|
1756
1756
|
Cookies.remove('auth', {
|
|
1757
1757
|
path: '/',
|
|
1758
1758
|
domain: "." + domain
|
|
@@ -1838,7 +1838,8 @@ var msalConfig = function msalConfig(clientId, redirectUri) {
|
|
|
1838
1838
|
};
|
|
1839
1839
|
|
|
1840
1840
|
var BlockLogin = function BlockLogin(_ref) {
|
|
1841
|
-
var
|
|
1841
|
+
var onNavigate = _ref.onNavigate,
|
|
1842
|
+
role = _ref.role,
|
|
1842
1843
|
hiddenSignup = _ref.hiddenSignup,
|
|
1843
1844
|
email = _ref.email,
|
|
1844
1845
|
setEmail = _ref.setEmail,
|
|
@@ -1954,15 +1955,9 @@ var BlockLogin = function BlockLogin(_ref) {
|
|
|
1954
1955
|
var redirectUrl = getRedirectUrl(authResult.data.role);
|
|
1955
1956
|
window.location.href = redirectUrl + "/dashboard";
|
|
1956
1957
|
dispatch(setLoading(false));
|
|
1957
|
-
} else {
|
|
1958
|
-
var _authResult$data2, _authResult$data2$rol, _authResult$data3;
|
|
1959
|
-
localStorage.setItem(ACCESS_TOKEN, tokenJWT);
|
|
1960
|
-
var domain = "/teacher";
|
|
1961
|
-
if ((_authResult$data2 = authResult.data) !== null && _authResult$data2 !== void 0 && (_authResult$data2$rol = _authResult$data2.roles) !== null && _authResult$data2$rol !== void 0 && _authResult$data2$rol.includes("Admin") || ((_authResult$data3 = authResult.data) === null || _authResult$data3 === void 0 ? void 0 : _authResult$data3.role) === "Admin") {
|
|
1962
|
-
domain = "/admin";
|
|
1963
|
-
}
|
|
1964
|
-
window.location.href = domain + "/dashboard";
|
|
1965
1958
|
}
|
|
1959
|
+
localStorage.setItem(ACCESS_TOKEN, tokenJWT);
|
|
1960
|
+
onNavigate("/dashboard");
|
|
1966
1961
|
dispatch(setLoading(false));
|
|
1967
1962
|
});
|
|
1968
1963
|
}
|
|
@@ -2011,8 +2006,8 @@ var BlockLogin = function BlockLogin(_ref) {
|
|
|
2011
2006
|
};
|
|
2012
2007
|
dispatch(setLoading(true));
|
|
2013
2008
|
return Promise.resolve(apiLoginGoogle(infoLogin)).then(function (authResult) {
|
|
2014
|
-
var _authResult$
|
|
2015
|
-
if (((_authResult$
|
|
2009
|
+
var _authResult$data2;
|
|
2010
|
+
if (((_authResult$data2 = authResult.data) === null || _authResult$data2 === void 0 ? void 0 : _authResult$data2.id) == null) {
|
|
2016
2011
|
dispatch(setLoading(false));
|
|
2017
2012
|
alert("Please contact admin.");
|
|
2018
2013
|
return;
|
|
@@ -2047,15 +2042,9 @@ var BlockLogin = function BlockLogin(_ref) {
|
|
|
2047
2042
|
var redirectUrl = getRedirectUrl(authResult.data.role);
|
|
2048
2043
|
window.location.href = redirectUrl + "/dashboard";
|
|
2049
2044
|
dispatch(setLoading(false));
|
|
2050
|
-
} else {
|
|
2051
|
-
var _authResult$data5, _authResult$data5$rol, _authResult$data6;
|
|
2052
|
-
localStorage.setItem(ACCESS_TOKEN, tokenJWT);
|
|
2053
|
-
var domain = "/teacher";
|
|
2054
|
-
if ((_authResult$data5 = authResult.data) !== null && _authResult$data5 !== void 0 && (_authResult$data5$rol = _authResult$data5.roles) !== null && _authResult$data5$rol !== void 0 && _authResult$data5$rol.includes("Admin") || ((_authResult$data6 = authResult.data) === null || _authResult$data6 === void 0 ? void 0 : _authResult$data6.role) === "Admin") {
|
|
2055
|
-
domain = "/admin";
|
|
2056
|
-
}
|
|
2057
|
-
window.location.href = domain + "/dashboard";
|
|
2058
2045
|
}
|
|
2046
|
+
localStorage.setItem(ACCESS_TOKEN, tokenJWT);
|
|
2047
|
+
onNavigate("/dashboard");
|
|
2059
2048
|
dispatch(setLoading(false));
|
|
2060
2049
|
});
|
|
2061
2050
|
}
|
|
@@ -2520,14 +2509,9 @@ var useLogin = function useLogin(onNavigate, trackEvent) {
|
|
|
2520
2509
|
if ((_data$data$roles = data.data.roles) !== null && _data$data$roles !== void 0 && _data$data$roles.includes("Admin")) {
|
|
2521
2510
|
domain = ADMIN_ORIGIN;
|
|
2522
2511
|
}
|
|
2523
|
-
|
|
2512
|
+
window.location.href = domain + "/dashboard";
|
|
2524
2513
|
} else {
|
|
2525
|
-
|
|
2526
|
-
var _domain = "/teacher";
|
|
2527
|
-
if ((_data$data$roles2 = data.data.roles) !== null && _data$data$roles2 !== void 0 && _data$data$roles2.includes("Admin")) {
|
|
2528
|
-
_domain = "/admin";
|
|
2529
|
-
}
|
|
2530
|
-
onNavigate(_domain + "/dashboard");
|
|
2514
|
+
onNavigate("/dashboard");
|
|
2531
2515
|
}
|
|
2532
2516
|
} else {
|
|
2533
2517
|
reactToastify.toast.error("The code is not correct. Please check again.");
|
|
@@ -3639,6 +3623,56 @@ var timeSpanToUtc = (function (time, timezone, format) {
|
|
|
3639
3623
|
}
|
|
3640
3624
|
});
|
|
3641
3625
|
|
|
3626
|
+
var sanitizeSrc = function sanitizeSrc(url) {
|
|
3627
|
+
if (!url || typeof url !== 'string') {
|
|
3628
|
+
return '';
|
|
3629
|
+
}
|
|
3630
|
+
url = url.trim().replace(/[\s\n\r\t]+/g, '');
|
|
3631
|
+
if (url.length > 2048) {
|
|
3632
|
+
return '';
|
|
3633
|
+
}
|
|
3634
|
+
var dangerousProtocols = ['javascript:', 'data:text/html', 'vbscript:', 'file:', 'about:', 'blob:'];
|
|
3635
|
+
var lowerUrl = url.toLowerCase();
|
|
3636
|
+
for (var _i = 0, _dangerousProtocols = dangerousProtocols; _i < _dangerousProtocols.length; _i++) {
|
|
3637
|
+
var protocol = _dangerousProtocols[_i];
|
|
3638
|
+
if (lowerUrl.startsWith(protocol)) {
|
|
3639
|
+
return '';
|
|
3640
|
+
}
|
|
3641
|
+
}
|
|
3642
|
+
var decoded = decodeURIComponent(url);
|
|
3643
|
+
var decodedLower = decoded.toLowerCase();
|
|
3644
|
+
for (var _i2 = 0, _dangerousProtocols2 = dangerousProtocols; _i2 < _dangerousProtocols2.length; _i2++) {
|
|
3645
|
+
var _protocol = _dangerousProtocols2[_i2];
|
|
3646
|
+
if (decodedLower.includes(_protocol)) {
|
|
3647
|
+
return '';
|
|
3648
|
+
}
|
|
3649
|
+
}
|
|
3650
|
+
try {
|
|
3651
|
+
if (url.startsWith('data:')) {
|
|
3652
|
+
if (/^data:image\/(png|jpeg|jpg|gif|webp|bmp|ico);base64,[A-Za-z0-9+/]+=*$/.test(url)) {
|
|
3653
|
+
return url;
|
|
3654
|
+
}
|
|
3655
|
+
return '';
|
|
3656
|
+
}
|
|
3657
|
+
var parsed = new URL(url, window.location.origin);
|
|
3658
|
+
if (parsed.protocol !== 'http:' && parsed.protocol !== 'https:') {
|
|
3659
|
+
return '';
|
|
3660
|
+
}
|
|
3661
|
+
if (parsed.username || parsed.password) {
|
|
3662
|
+
return '';
|
|
3663
|
+
}
|
|
3664
|
+
return parsed.href;
|
|
3665
|
+
} catch (error) {
|
|
3666
|
+
return '';
|
|
3667
|
+
}
|
|
3668
|
+
};
|
|
3669
|
+
|
|
3670
|
+
var sanitizeHTMLText = function sanitizeHTMLText(text) {
|
|
3671
|
+
var _DOMPurify$sanitize;
|
|
3672
|
+
if (!text) return "";
|
|
3673
|
+
return (_DOMPurify$sanitize = DOMPurify.sanitize(text)) != null ? _DOMPurify$sanitize : "";
|
|
3674
|
+
};
|
|
3675
|
+
|
|
3642
3676
|
var historyCore = history.createBrowserHistory();
|
|
3643
3677
|
|
|
3644
3678
|
Object.defineProperty(exports, 'GoogleOAuthProvider', {
|
|
@@ -3694,6 +3728,7 @@ exports.ORGANIZATION_TEAM = ORGANIZATION_TEAM;
|
|
|
3694
3728
|
exports.ORGANIZATION_TENANT = ORGANIZATION_TENANT;
|
|
3695
3729
|
exports.RichContentRenderer = RichContentRenderer;
|
|
3696
3730
|
exports.TIMEZONE_ID = TIMEZONE_ID;
|
|
3731
|
+
exports.UID_TENANT = UID_TENANT;
|
|
3697
3732
|
exports.api = api;
|
|
3698
3733
|
exports.apiUpload = apiUpload;
|
|
3699
3734
|
exports.firstCheckToken = firstCheckToken;
|
|
@@ -3704,6 +3739,8 @@ exports.getTimeZoneId = getTimeZoneId;
|
|
|
3704
3739
|
exports.historyCore = historyCore;
|
|
3705
3740
|
exports.initSentry = initSentry;
|
|
3706
3741
|
exports.initializeAmplitude = initializeAmplitude;
|
|
3742
|
+
exports.sanitizeHTMLText = sanitizeHTMLText;
|
|
3743
|
+
exports.sanitizeSrc = sanitizeSrc;
|
|
3707
3744
|
exports.setAddTenant = setAddTenant;
|
|
3708
3745
|
exports.setAlert = setAlert;
|
|
3709
3746
|
exports.setIsFirstCalendar = setIsFirstCalendar;
|