мейк реквест в обёртке
This commit is contained in:
parent
dae4e83014
commit
dc5e923ba6
@ -1,4 +1,4 @@
|
|||||||
import { makeRequest } from "@frontend/kitui";
|
import makeRequest from "@api/makeRequest";
|
||||||
|
|
||||||
import { parseAxiosError } from "@root/utils/parse-error";
|
import { parseAxiosError } from "@root/utils/parse-error";
|
||||||
|
|
||||||
|
@ -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 "@root/utils/parse-error"
|
import { parseAxiosError } from "@root/utils/parse-error"
|
||||||
|
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
import { Tariff, makeRequest } from "@frontend/kitui"
|
import { Tariff } from "@frontend/kitui"
|
||||||
import { parseAxiosError } from "@root/utils/parse-error"
|
import { parseAxiosError } from "@root/utils/parse-error"
|
||||||
|
import makeRequest from "@api/makeRequest"
|
||||||
|
|
||||||
export interface GetHistoryResponse {
|
export interface GetHistoryResponse {
|
||||||
totalPages: number;
|
totalPages: number;
|
||||||
|
32
src/api/makeRequest.ts
Normal file
32
src/api/makeRequest.ts
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
import * as KIT from "@frontend/kitui";
|
||||||
|
import { Method, ResponseType, AxiosError } from "axios";
|
||||||
|
import { clearAuthToken } from "@frontend/kitui";
|
||||||
|
import { clearUserData } from "@root/stores/user";
|
||||||
|
import { clearCustomTariffs } from "@root/stores/customTariffs";
|
||||||
|
import { clearTickets } from "@root/stores/tickets";
|
||||||
|
import { redirect } from "react-router-dom";
|
||||||
|
import {setNotEnoughMoneyAmount} from "@stores/cart"
|
||||||
|
|
||||||
|
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") {
|
||||||
|
|
||||||
|
clearAuthToken();
|
||||||
|
clearUserData();
|
||||||
|
clearCustomTariffs();
|
||||||
|
clearTickets();
|
||||||
|
setNotEnoughMoneyAmount(0)
|
||||||
|
redirect("/");
|
||||||
|
}
|
||||||
|
throw e
|
||||||
|
};
|
||||||
|
};
|
||||||
|
export default makeRequest;
|
@ -1,4 +1,4 @@
|
|||||||
import { makeRequest } from "@frontend/kitui";
|
import makeRequest from "@api/makeRequest"
|
||||||
import type { GetDiscountsResponse } from "@root/model/discount";
|
import type { GetDiscountsResponse } from "@root/model/discount";
|
||||||
import { useUserStore } from "@root/stores/user";
|
import { useUserStore } from "@root/stores/user";
|
||||||
import { parseAxiosError } from "@root/utils/parse-error";
|
import { parseAxiosError } from "@root/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";
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
import { makeRequest } from "@frontend/kitui"
|
import makeRequest from "@api/makeRequest"
|
||||||
import { parseAxiosError } from "@root/utils/parse-error"
|
import { parseAxiosError } from "@root/utils/parse-error"
|
||||||
|
|
||||||
export async function getRecentlyPurchasedTariffs(): Promise<[any | null, string?]> {
|
export async function getRecentlyPurchasedTariffs(): Promise<[any | null, string?]> {
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
import { Tariff, makeRequest } from "@frontend/kitui";
|
import makeRequest from "@api/makeRequest"
|
||||||
|
import { Tariff } from "@frontend/kitui";
|
||||||
import { parseAxiosError } from "@root/utils/parse-error";
|
import { parseAxiosError } from "@root/utils/parse-error";
|
||||||
|
|
||||||
import type { PrivilegeWithoutPrice, ServiceKeyToPrivilegesMap } from "@root/model/privilege";
|
import type { PrivilegeWithoutPrice, ServiceKeyToPrivilegesMap } from "@root/model/privilege";
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
import { makeRequest } from "@frontend/kitui";
|
import makeRequest from "@api/makeRequest"
|
||||||
import { parseAxiosError } from "@root/utils/parse-error";
|
import { parseAxiosError } from "@root/utils/parse-error";
|
||||||
|
|
||||||
import { SendTicketMessageRequest } from "@frontend/kitui";
|
import { SendTicketMessageRequest } from "@frontend/kitui";
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
import { User, makeRequest } from "@frontend/kitui"
|
import { User } from "@frontend/kitui"
|
||||||
|
import makeRequest from "@api/makeRequest"
|
||||||
import { PatchUserRequest } from "@root/model/user"
|
import { PatchUserRequest } from "@root/model/user"
|
||||||
import { parseAxiosError } from "@root/utils/parse-error"
|
import { parseAxiosError } from "@root/utils/parse-error"
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
import { makeRequest } from "@frontend/kitui"
|
import makeRequest from "@api/makeRequest"
|
||||||
|
|
||||||
import { jsonToFormdata } from "@root/utils/jsonToFormdata"
|
import { jsonToFormdata } from "@root/utils/jsonToFormdata"
|
||||||
import { parseAxiosError } from "@root/utils/parse-error"
|
import { parseAxiosError } from "@root/utils/parse-error"
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
import { makeRequest } from "@frontend/kitui";
|
import makeRequest from "@api/makeRequest"
|
||||||
import { SendPaymentRequest, SendPaymentResponse } from "@root/model/wallet";
|
import { SendPaymentRequest, SendPaymentResponse } from "@root/model/wallet";
|
||||||
import { parseAxiosError } from "@root/utils/parse-error";
|
import { parseAxiosError } from "@root/utils/parse-error";
|
||||||
|
|
||||||
|
@ -10,9 +10,9 @@ import {
|
|||||||
useMediaQuery,
|
useMediaQuery,
|
||||||
useTheme,
|
useTheme,
|
||||||
} from "@mui/material";
|
} from "@mui/material";
|
||||||
|
import makeRequest from "@api/makeRequest"
|
||||||
import {
|
import {
|
||||||
TicketMessage,
|
TicketMessage,
|
||||||
makeRequest,
|
|
||||||
useTicketsFetcher,
|
useTicketsFetcher,
|
||||||
useTicketMessages,
|
useTicketMessages,
|
||||||
getMessageFromFetchError,
|
getMessageFromFetchError,
|
||||||
|
@ -4,8 +4,6 @@ import File from "@components/icons/File"
|
|||||||
import { getDeclension } from "@utils/declension"
|
import { getDeclension } from "@utils/declension"
|
||||||
import { enqueueSnackbar } from "notistack"
|
import { enqueueSnackbar } from "notistack"
|
||||||
import { addTariffToCart } from "@root/stores/user"
|
import { addTariffToCart } from "@root/stores/user"
|
||||||
import {getMessageFromFetchError, makeRequest} from "@frontend/kitui"
|
|
||||||
import EmailIcon from "@mui/icons-material/Email"
|
|
||||||
|
|
||||||
export type History = {
|
export type History = {
|
||||||
title: string;
|
title: string;
|
||||||
|
@ -14,7 +14,8 @@ import ArrowDownwardIcon from "@mui/icons-material/ArrowDownward";
|
|||||||
import { useCallback, useEffect, useMemo, useRef, useState } from "react";
|
import { useCallback, useEffect, useMemo, useRef, useState } from "react";
|
||||||
import { useParams } from "react-router-dom";
|
import { useParams } from "react-router-dom";
|
||||||
import SendIcon from "@components/icons/SendIcon";
|
import SendIcon from "@components/icons/SendIcon";
|
||||||
import { makeRequest, throttle, useToken } from "@frontend/kitui";
|
import makeRequest from "@api/makeRequest"
|
||||||
|
import { throttle, useToken } from "@frontend/kitui";
|
||||||
import { enqueueSnackbar } from "notistack";
|
import { enqueueSnackbar } from "notistack";
|
||||||
import { useTicketStore } from "@root/stores/tickets";
|
import { useTicketStore } from "@root/stores/tickets";
|
||||||
import {
|
import {
|
||||||
|
@ -14,15 +14,13 @@ import { useFormik } from "formik";
|
|||||||
import InputTextfield from "@components/InputTextfield";
|
import InputTextfield from "@components/InputTextfield";
|
||||||
import PenaLogo from "@components/PenaLogo";
|
import PenaLogo from "@components/PenaLogo";
|
||||||
import { enqueueSnackbar } from "notistack";
|
import { enqueueSnackbar } from "notistack";
|
||||||
import { Link as RouterLink } from "react-router-dom";
|
|
||||||
import { object, string } from "yup";
|
import { object, string } from "yup";
|
||||||
import { useEffect, useState } from "react";
|
import { useEffect, useState } from "react";
|
||||||
import { useUserStore } from "@root/stores/user";
|
import { useUserStore } from "@root/stores/user";
|
||||||
import { cardShadow } from "@root/utils/theme";
|
import { cardShadow } from "@root/utils/theme";
|
||||||
|
|
||||||
import { recover } from "@root/api/auth";
|
import makeRequest from "@api/makeRequest"
|
||||||
import axios, {AxiosResponse} from "axios"
|
import { setAuthToken } from "@frontend/kitui"
|
||||||
import {getAuthToken, makeRequest, setAuthToken} from "@frontend/kitui"
|
|
||||||
interface Values {
|
interface Values {
|
||||||
password: string;
|
password: string;
|
||||||
}
|
}
|
||||||
|
@ -1,4 +1,3 @@
|
|||||||
import { makeRequest } from "@frontend/kitui"
|
|
||||||
import { ErrorInfo } from "react"
|
import { ErrorInfo } from "react"
|
||||||
|
|
||||||
|
|
||||||
|
@ -5,7 +5,8 @@
|
|||||||
"@root/*": ["./*"],
|
"@root/*": ["./*"],
|
||||||
"@utils/*": ["./utils/*"],
|
"@utils/*": ["./utils/*"],
|
||||||
"@components/*": ["./components/*"],
|
"@components/*": ["./components/*"],
|
||||||
"@stores/*": ["./stores/*"]
|
"@stores/*": ["./stores/*"],
|
||||||
|
"@api/*": ["./api/*"]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user