130 lines
3.4 KiB
TypeScript
130 lines
3.4 KiB
TypeScript
import { useRouter } from "next/navigation";
|
|
import axiosInterceptorInstance from "./axios-interceptor-instance";
|
|
import Cookies from "js-cookie";
|
|
|
|
export async function httpGetInterceptor(pathUrl: any) {
|
|
const response = await axiosInterceptorInstance
|
|
.get(pathUrl)
|
|
.catch((error) => error.response);
|
|
console.log("Response interceptor : ", response);
|
|
if (response?.status == 200 || response?.status == 201) {
|
|
return {
|
|
error: false,
|
|
message: "success",
|
|
data: response?.data,
|
|
};
|
|
} else if (response?.status == 401) {
|
|
Cookies.set("is_logout", "true");
|
|
// window.location.href = "/";
|
|
return {
|
|
error: true,
|
|
};
|
|
} else {
|
|
return {
|
|
error: true,
|
|
message: response?.data?.message || response?.data || null,
|
|
data: null,
|
|
};
|
|
}
|
|
}
|
|
|
|
export async function httpPostInterceptor(
|
|
pathUrl: any,
|
|
data: any,
|
|
headers?: any
|
|
) {
|
|
const response = await axiosInterceptorInstance
|
|
.post(pathUrl, data)
|
|
.catch((error) => error.response);
|
|
console.log("Response interceptor : ", response);
|
|
if (response?.status == 200 || response?.status == 201) {
|
|
return {
|
|
error: false,
|
|
message: "success",
|
|
data: response?.data,
|
|
};
|
|
} else if (response?.status == 401) {
|
|
Cookies.set("is_logout", "true");
|
|
// window.location.href = "/";
|
|
} else {
|
|
return {
|
|
error: true,
|
|
message: response?.data?.message || response?.data || null,
|
|
data: null,
|
|
};
|
|
}
|
|
}
|
|
|
|
export async function httpPutInterceptor(
|
|
pathUrl: any,
|
|
data: any,
|
|
headers?: any
|
|
) {
|
|
const response = await axiosInterceptorInstance
|
|
.put(pathUrl, data, { headers })
|
|
.catch((error) => error.response);
|
|
console.log("Response interceptor : ", response);
|
|
if (response?.status == 200 || response?.status == 201) {
|
|
return {
|
|
error: false,
|
|
message: "success",
|
|
data: response?.data,
|
|
};
|
|
} else if (response?.status == 401) {
|
|
Cookies.set("is_logout", "true");
|
|
// window.location.href = "/";
|
|
} else {
|
|
return {
|
|
error: true,
|
|
message: response?.data?.message || response?.data || null,
|
|
data: null,
|
|
};
|
|
}
|
|
}
|
|
|
|
export async function httpDeleteInterceptor(pathUrl: any) {
|
|
const response = await axiosInterceptorInstance
|
|
.delete(pathUrl)
|
|
.catch((error) => error.response);
|
|
console.log("Response interceptor : ", response);
|
|
if (response?.status == 200 || response?.status == 201) {
|
|
return {
|
|
error: false,
|
|
message: "success",
|
|
data: response?.data,
|
|
};
|
|
} else if (response?.status == 401) {
|
|
Cookies.set("is_logout", "true");
|
|
// window.location.href = "/";
|
|
} else {
|
|
return {
|
|
error: true,
|
|
message: response?.data?.message || response?.data || null,
|
|
data: null,
|
|
};
|
|
}
|
|
}
|
|
|
|
export async function httpGetInterceptorWithToken(pathUrl: any, headers?: any) {
|
|
const response = await axiosInterceptorInstance
|
|
.get(pathUrl, headers)
|
|
.catch((error) => error.response);
|
|
console.log("Response interceptor : ", response);
|
|
if (response?.status == 200 || response?.status == 201) {
|
|
return {
|
|
error: false,
|
|
message: "success",
|
|
data: response?.data,
|
|
};
|
|
} else if (response?.status == 401) {
|
|
Cookies.set("is_logout", "true");
|
|
// window.location.href = "/";
|
|
} else {
|
|
return {
|
|
error: true,
|
|
message: response?.data?.message || response?.data || null,
|
|
data: null,
|
|
};
|
|
}
|
|
}
|