mirror of
https://github.com/bluewave-labs/Checkmate.git
synced 2026-05-18 07:28:31 -05:00
Merge pull request #1524 from jasneetsingh6114/feat/issue-1482
Inform Admin incase of server issue.
This commit is contained in:
@@ -3,6 +3,8 @@ const BASE_URL = import.meta.env.VITE_APP_API_BASE_URL;
|
||||
const FALLBACK_BASE_URL = "http://localhost:5000/api/v1";
|
||||
import { clearAuthState } from "../Features/Auth/authSlice";
|
||||
import { clearUptimeMonitorState } from "../Features/UptimeMonitors/uptimeMonitorsSlice";
|
||||
import { createToast } from "./toastUtils";
|
||||
|
||||
class NetworkService {
|
||||
constructor(store, dispatch, navigate) {
|
||||
this.store = store;
|
||||
@@ -25,11 +27,7 @@ class NetworkService {
|
||||
this.axiosInstance.interceptors.response.use(
|
||||
(response) => response,
|
||||
(error) => {
|
||||
if (error.response && error.response.status === 401) {
|
||||
dispatch(clearAuthState());
|
||||
dispatch(clearUptimeMonitorState());
|
||||
navigate("/login");
|
||||
}
|
||||
this.handleError(error);
|
||||
return Promise.reject(error);
|
||||
}
|
||||
);
|
||||
@@ -39,6 +37,30 @@ class NetworkService {
|
||||
this.axiosInstance.defaults.baseURL = url;
|
||||
};
|
||||
|
||||
handleError(error) {
|
||||
if (error.response) {
|
||||
const status = error.response.status;
|
||||
if (status === 401) {
|
||||
this.dispatch(clearAuthState());
|
||||
this.dispatch(clearUptimeMonitorState());
|
||||
this.navigate("/login");
|
||||
} else if (status >= 500) {
|
||||
// Display toast for server errors to all users
|
||||
createToast({
|
||||
variant: "error",
|
||||
body: "Checkmate server is not running or has issues. Please check.",
|
||||
});
|
||||
}
|
||||
} else if (error.request) {
|
||||
// Show a toast informing the user the server didn't respond
|
||||
createToast({
|
||||
variant: "error",
|
||||
body: "The server did not respond. Please check your network or try again later.",
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
cleanup() {
|
||||
if (this.unsubscribe) {
|
||||
this.unsubscribe();
|
||||
|
||||
Reference in New Issue
Block a user