мейк реквест в обёртке
This commit is contained in:
parent
06a462edfc
commit
f849bb84a1
@ -21,10 +21,10 @@ import {
|
|||||||
createUserAccount,
|
createUserAccount,
|
||||||
devlog,
|
devlog,
|
||||||
getMessageFromFetchError,
|
getMessageFromFetchError,
|
||||||
makeRequest,
|
|
||||||
UserAccount,
|
UserAccount,
|
||||||
useUserFetcher,
|
useUserFetcher,
|
||||||
} from "@frontend/kitui";
|
} from "@frontend/kitui";
|
||||||
|
import makeRequest from "@api/makeRequest";
|
||||||
import type { OriginalUserAccount } from "@root/user";
|
import type { OriginalUserAccount } from "@root/user";
|
||||||
import {
|
import {
|
||||||
clearUserData,
|
clearUserData,
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
import { makeRequest } from "@frontend/kitui";
|
import makeRequest from "@api/makeRequest";
|
||||||
|
|
||||||
import type {
|
import type {
|
||||||
LoginRequest,
|
LoginRequest,
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
import { UserAccount, makeRequest } from "@frontend/kitui";
|
import { UserAccount } from "@frontend/kitui";
|
||||||
import { AxiosError } from "axios";
|
import makeRequest from "@api/makeRequest";
|
||||||
|
|
||||||
import { parseAxiosError } from "@utils/parse-error";
|
import { parseAxiosError } from "@utils/parse-error";
|
||||||
|
|
||||||
|
31
src/api/makeRequest.ts
Normal file
31
src/api/makeRequest.ts
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
import * as KIT from "@frontend/kitui";
|
||||||
|
import { Method, ResponseType, AxiosError } from "axios";
|
||||||
|
import { clearAuthToken } from "@frontend/kitui";
|
||||||
|
import { cleanAuthTicketData } from "@root/ticket";
|
||||||
|
import { clearUserData } from "@root/user";
|
||||||
|
import { clearQuizData } from "@root/quizes/store";
|
||||||
|
import { redirect } from "react-router-dom";
|
||||||
|
|
||||||
|
|
||||||
|
interface MakeRequest { method?: Method | undefined; url: string; body?: unknown; useToken?: boolean | undefined; contentType?: boolean | undefined; responseType?: ResponseType | undefined; signal?: AbortSignal | undefined; withCredentials?: boolean | undefined; }
|
||||||
|
|
||||||
|
async function makeRequest<TRequest = unknown, TResponse = unknown>(data: MakeRequest): Promise<TResponse> {
|
||||||
|
try {
|
||||||
|
const response = await KIT.makeRequest<unknown>(data)
|
||||||
|
|
||||||
|
return response as TResponse
|
||||||
|
} catch (e) {
|
||||||
|
const error = e as AxiosError;
|
||||||
|
//@ts-ignore
|
||||||
|
if (error.response?.status === 400 && error.response?.data?.message === "refreshToken is empty") {
|
||||||
|
|
||||||
|
cleanAuthTicketData();
|
||||||
|
clearAuthToken();
|
||||||
|
clearUserData();
|
||||||
|
clearQuizData();
|
||||||
|
redirect("/");
|
||||||
|
}
|
||||||
|
throw e
|
||||||
|
};
|
||||||
|
};
|
||||||
|
export default makeRequest;
|
@ -1,4 +1,4 @@
|
|||||||
import { makeRequest } from "@frontend/kitui";
|
import makeRequest from "@api/makeRequest";
|
||||||
|
|
||||||
import { parseAxiosError } from "@utils/parse-error";
|
import { parseAxiosError } from "@utils/parse-error";
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
import { makeRequest } from "@frontend/kitui";
|
import makeRequest from "@api/makeRequest";
|
||||||
import { CreateQuestionRequest } from "model/question/create";
|
import { CreateQuestionRequest } from "model/question/create";
|
||||||
import { RawQuestion } from "model/question/question";
|
import { RawQuestion } from "model/question/question";
|
||||||
import {
|
import {
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
import { makeRequest } from "@frontend/kitui";
|
import makeRequest from "@api/makeRequest";
|
||||||
import { defaultQuizConfig } from "@model/quizSettings";
|
import { defaultQuizConfig } from "@model/quizSettings";
|
||||||
import { CopyQuizRequest, CopyQuizResponse } from "model/quiz/copy";
|
import { CopyQuizRequest, CopyQuizResponse } from "model/quiz/copy";
|
||||||
import { CreateQuizRequest } from "model/quiz/create";
|
import { CreateQuizRequest } from "model/quiz/create";
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
import { makeRequest } from "@frontend/kitui";
|
import makeRequest from "@api/makeRequest";
|
||||||
import { RawResult } from "@model/result/result";
|
import { RawResult } from "@model/result/result";
|
||||||
|
|
||||||
interface IResultListBody {
|
interface IResultListBody {
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
import { makeRequest } from "@frontend/kitui";
|
import makeRequest from "@api/makeRequest";
|
||||||
|
|
||||||
import { parseAxiosError } from "@utils/parse-error";
|
import { parseAxiosError } from "@utils/parse-error";
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
import { makeRequest } from "@frontend/kitui";
|
import makeRequest from "@api/makeRequest";
|
||||||
import { parseAxiosError } from "../utils/parse-error";
|
import { parseAxiosError } from "../utils/parse-error";
|
||||||
|
|
||||||
import { SendTicketMessageRequest } from "@frontend/kitui";
|
import { SendTicketMessageRequest } from "@frontend/kitui";
|
||||||
|
@ -1,7 +1,8 @@
|
|||||||
import { logout } from "@api/auth";
|
import { logout } from "@api/auth";
|
||||||
import { activatePromocode } from "@api/promocode";
|
import { activatePromocode } from "@api/promocode";
|
||||||
import type { Tariff } from "@frontend/kitui";
|
import type { Tariff } from "@frontend/kitui";
|
||||||
import { clearAuthToken, makeRequest, useToken } from "@frontend/kitui";
|
import { useToken } from "@frontend/kitui";
|
||||||
|
import makeRequest from "@api/makeRequest";
|
||||||
import ArrowLeft from "@icons/questionsPage/arrowLeft";
|
import ArrowLeft from "@icons/questionsPage/arrowLeft";
|
||||||
import type { GetTariffsResponse } from "@model/tariff";
|
import type { GetTariffsResponse } from "@model/tariff";
|
||||||
import {
|
import {
|
||||||
|
@ -18,8 +18,8 @@ import { object, string } from "yup";
|
|||||||
import { useEffect, useState } from "react";
|
import { useEffect, useState } from "react";
|
||||||
import { useUserStore } from "@root/user";
|
import { useUserStore } from "@root/user";
|
||||||
|
|
||||||
import { getAuthToken, makeRequest, setAuthToken } from "@frontend/kitui";
|
import makeRequest from "@api/makeRequest";
|
||||||
import { FormContactFieldName } from "@model/quizSettings";
|
import { setAuthToken } from "@frontend/kitui";
|
||||||
import { parseAxiosError } from "@utils/parse-error";
|
import { parseAxiosError } from "@utils/parse-error";
|
||||||
interface Values {
|
interface Values {
|
||||||
password: string;
|
password: string;
|
||||||
|
@ -15,7 +15,7 @@ import {
|
|||||||
import { deleteQuiz, setEditQuizId } from "@root/quizes/actions";
|
import { deleteQuiz, setEditQuizId } from "@root/quizes/actions";
|
||||||
import { Link, useNavigate } from "react-router-dom";
|
import { Link, useNavigate } from "react-router-dom";
|
||||||
import { inCart } from "../../pages/Tariffs/Tariffs";
|
import { inCart } from "../../pages/Tariffs/Tariffs";
|
||||||
import { makeRequest } from "@frontend/kitui";
|
import makeRequest from "@api/makeRequest";
|
||||||
import { enqueueSnackbar } from "notistack";
|
import { enqueueSnackbar } from "notistack";
|
||||||
import { useDomainDefine } from "@utils/hooks/useDomainDefine";
|
import { useDomainDefine } from "@utils/hooks/useDomainDefine";
|
||||||
import CopyIcon from "@icons/CopyIcon";
|
import CopyIcon from "@icons/CopyIcon";
|
||||||
|
@ -3,7 +3,7 @@ import { useUserStore } from "@root/user";
|
|||||||
import { Box, Button, Modal, Typography } from "@mui/material";
|
import { Box, Button, Modal, Typography } from "@mui/material";
|
||||||
import { mutate } from "swr";
|
import { mutate } from "swr";
|
||||||
import { enqueueSnackbar } from "notistack";
|
import { enqueueSnackbar } from "notistack";
|
||||||
import { makeRequest } from "@frontend/kitui";
|
import makeRequest from "@api/makeRequest";
|
||||||
import { parseAxiosError } from "@utils/parse-error";
|
import { parseAxiosError } from "@utils/parse-error";
|
||||||
|
|
||||||
export function CheckFastlink() {
|
export function CheckFastlink() {
|
||||||
|
@ -1,10 +1,10 @@
|
|||||||
import {
|
import {
|
||||||
TicketMessage,
|
TicketMessage,
|
||||||
makeRequest,
|
|
||||||
useSSESubscription,
|
useSSESubscription,
|
||||||
useTicketMessages,
|
useTicketMessages,
|
||||||
useTicketsFetcher,
|
useTicketsFetcher,
|
||||||
} from "@frontend/kitui";
|
} from "@frontend/kitui";
|
||||||
|
import makeRequest from "@api/makeRequest";
|
||||||
import FloatingSupportChat from "./FloatingSupportChat";
|
import FloatingSupportChat from "./FloatingSupportChat";
|
||||||
import { useUserStore } from "@root/user";
|
import { useUserStore } from "@root/user";
|
||||||
import { useCallback, useEffect, useState } from "react";
|
import { useCallback, useEffect, useState } from "react";
|
||||||
|
Loading…
Reference in New Issue
Block a user