refresh token fix, filter fix

dev
RekHoto 2 years ago
parent 83544e51f5
commit eefcb4f9b8

@ -338,7 +338,7 @@ export const useGetPendingPointsRange = (dbTable) => {
const rangesArr = RANGE_FILTERS_KEYS.map((key) => {
if ((/d[0-9]/.test(key))) return;
return {
[key]: [Math.floor(data[key][0]), Math.min(Math.ceil(data[key][1]), 4000)]
[key]: [Math.floor(data[key][0]), Math.ceil(data[key][1])]
}
}).filter(item => !!item);
const ranges = Object.assign({}, ...rangesArr);

@ -26,9 +26,10 @@ export const PointsFileUploadModal = ({onClose, isOpened}) => {
const myInterval = setInterval(async () => {
const response = await getImportStatus();
setImportStatus(response.task_status);
if (response.task_status === "Перерасчет ML завершен") {
if (response.task_status === "Перерасчет ML завершен" || !isOpened) {
setReport(response.data);
setIsImporting(false);
toggleUpdateCounter();
clearInterval(myInterval);
}
}, 2000);

@ -32,8 +32,8 @@ export const PendingPointsFilters = () => {
setFilterWithKey(newRanges[key], key);
return;
}
const gtChanged = ranges[key][0] !== newRanges[key][0];
const ltChanged = ranges[key][1] !== newRanges[key][1];
const gtChanged = ranges[key] && newRanges[key] && ranges[key][0] !== newRanges[key][0];
const ltChanged = ranges[key] && newRanges[key] && ranges[key][1] !== newRanges[key][1];
if (gtChanged || ltChanged) setFilterWithKey(newRanges[key], key);
});

@ -3,9 +3,8 @@ import { Alert, Button, Form, Input, Space, Typography } from "antd";
import { LockOutlined, UserOutlined } from "@ant-design/icons";
import React from "react";
import { Navigate } from "react-router-dom";
import { isAuthorized$, refreshToken } from "../stores/auth";
import { isAuthorized$, refreshTokenIntervalFunction, setAuthLocalStorage } from "../stores/auth";
import { signin, signinError$, signinLoading$ } from "../stores/signin";
import { logOut } from "../SignOut.jsx";
function LoginForm() {
const signinError = useStore(signinError$);
@ -13,27 +12,16 @@ function LoginForm() {
const onFinish = async (values) => {
const data = await signin(values);
localStorage.setItem("access_token", data.access_token);
localStorage.setItem("refresh_token", data.refresh_token);
localStorage.setItem("expires_in", data.expires_in);
setAuthLocalStorage(data);
let interval;
const onTick = async () => {
try {
await refreshToken();
} catch (error) {
clearInterval(interval);
logOut();
throw error;
}
}
setTimeout(async () => {
await onTick();
await refreshTokenIntervalFunction();
interval = setInterval(async () => {
await onTick();
await refreshTokenIntervalFunction();
}, (data.expires_in - 5) * 1000)
}, 0);
};
return (

@ -28,27 +28,34 @@ export const refreshToken = () => {
});
}
export const setAuthLocalStorage = (data) => {
localStorage.setItem("access_token", data.access_token);
localStorage.setItem("refresh_token", data.refresh_token);
localStorage.setItem("expires_in", data.expires_in);
}
export const refreshTokenIntervalFunction = async () => {
try {
const { data: refreshData } = await refreshToken();
setAuthLocalStorage(refreshData);
} catch (error) {
clearInterval(interval);
logOut();
throw error;
}
}
async function checkAuth() {
try {
const { data } = await refreshToken();
localStorage.setItem("access_token", data.access_token);
localStorage.setItem("refresh_token", data.refresh_token);
localStorage.setItem("expires_in", data.expires_in);
setAuthLocalStorage(data);
let interval;
const onTick = async () => {
try {
await refreshToken();
} catch (error) {
clearInterval(interval);
logOut();
throw error;
}
}
setTimeout(async () => {
await onTick();
await refreshTokenIntervalFunction();
interval = setInterval(async () => {
await onTick();
await refreshTokenIntervalFunction();
}, (data.expires_in - 5) * 1000)
}, 0);

Loading…
Cancel
Save