remove authToken reading and passing in UI component and hooks

This commit is contained in:
dongfang
2025-02-18 04:56:26 +00:00
parent 6a1e5532e4
commit f2ae99768a
41 changed files with 76 additions and 135 deletions

View File

@@ -25,8 +25,6 @@ const ActionsMenu = ({
const [isOpen, setIsOpen] = useState(false);
const dispatch = useDispatch();
const theme = useTheme();
const authState = useSelector((state) => state.auth);
const authToken = authState.authToken;
const { isLoading } = useSelector((state) => state.uptimeMonitors);
const handleRemove = async (event) => {
@@ -34,7 +32,7 @@ const ActionsMenu = ({
event.stopPropagation();
let monitor = { _id: actions.id };
const action = await dispatch(
deleteUptimeMonitor({ authToken: authState.authToken, monitor })
deleteUptimeMonitor({ monitor })
);
if (action.meta.requestStatus === "fulfilled") {
setIsOpen(false); // close modal
@@ -49,7 +47,7 @@ const ActionsMenu = ({
try {
setIsLoading(true);
const action = await dispatch(
pauseUptimeMonitor({ authToken, monitorId: monitor._id })
pauseUptimeMonitor({ monitorId: monitor._id })
);
if (pauseUptimeMonitor.fulfilled.match(action)) {
const state = action?.payload?.data.isActive === false ? "paused" : "resumed";

View File

@@ -30,7 +30,7 @@ const PasswordPanel = () => {
const SPACING_GAP = theme.spacing(12);
//redux state
const { authToken, isLoading } = useSelector((state) => state.auth);
const { isLoading } = useSelector((state) => state.auth);
const idToName = {
"edit-current-password": "password",
@@ -89,7 +89,7 @@ const PasswordPanel = () => {
});
setErrors(newErrors);
} else {
const action = await dispatch(update({ authToken, localData }));
const action = await dispatch(update({ localData }));
if (action.payload.success) {
createToast({
body: "Your password was changed successfully.",

View File

@@ -32,7 +32,7 @@ const ProfilePanel = () => {
const SPACING_GAP = theme.spacing(12);
//redux state
const { user, authToken, isLoading } = useSelector((state) => state.auth);
const { user, isLoading } = useSelector((state) => state.auth);
const idToName = {
"edit-first-name": "firstName",
@@ -164,7 +164,7 @@ const ProfilePanel = () => {
return;
}
const action = await dispatch(update({ authToken, localData }));
const action = await dispatch(update({ localData }));
if (action.payload.success) {
createToast({
body: "Your profile data was changed successfully.",
@@ -187,7 +187,7 @@ const ProfilePanel = () => {
// Initiates the account deletion process
const handleDeleteAccount = async () => {
const action = await dispatch(deleteUser(authToken));
const action = await dispatch(deleteUser());
if (action.payload.success) {
dispatch(clearAuthState());
dispatch(clearUptimeMonitorState());

View File

@@ -23,7 +23,6 @@ const TeamPanel = () => {
const SPACING_GAP = theme.spacing(12);
const { authToken } = useSelector((state) => state.auth);
const [toInvite, setToInvite] = useState({
email: "",
role: ["0"],
@@ -63,9 +62,7 @@ const TeamPanel = () => {
useEffect(() => {
const fetchTeam = async () => {
try {
const response = await networkService.getAllUsers({
authToken: authToken,
});
const response = await networkService.getAllUsers();
setMembers(response.data.data);
} catch (error) {
createToast({
@@ -75,7 +72,7 @@ const TeamPanel = () => {
};
fetchTeam();
}, [authToken]);
}, []);
useEffect(() => {
const ROLE_MAP = {
@@ -150,7 +147,6 @@ const TeamPanel = () => {
try {
await networkService.requestInvitationToken({
authToken: authToken,
email: toInvite.email,
role: toInvite.role,
});

View File

@@ -4,17 +4,15 @@ import { useSelector } from "react-redux";
import { createToast } from "../../../../Utils/toastUtils";
const useCreateDistributedUptimeMonitor = ({ isCreate, monitorId }) => {
const { authToken, user } = useSelector((state) => state.auth);
const [isLoading, setIsLoading] = useState(false);
const [networkError, setNetworkError] = useState(false);
const createDistributedUptimeMonitor = async ({ form }) => {
setIsLoading(true);
try {
if (isCreate) {
await networkService.createMonitor({ authToken, monitor: form });
await networkService.createMonitor({ monitor: form });
} else {
await networkService.updateMonitor({ authToken, monitor: form, monitorId });
await networkService.updateMonitor({ monitor: form, monitorId });
}
return true;

View File

@@ -2,7 +2,7 @@ import { useEffect, useState } from "react";
import { networkService } from "../../../../main";
import { createToast } from "../../../../Utils/toastUtils";
export const useMonitorFetch = ({ authToken, monitorId, isCreate }) => {
export const useMonitorFetch = ({ monitorId, isCreate }) => {
const [networkError, setNetworkError] = useState(false);
const [isLoading, setIsLoading] = useState(true);
const [monitor, setMonitor] = useState(undefined);
@@ -12,7 +12,6 @@ export const useMonitorFetch = ({ authToken, monitorId, isCreate }) => {
try {
if (isCreate) return;
const res = await networkService.getUptimeDetailsById({
authToken: authToken,
monitorId: monitorId,
normalize: true,
});
@@ -25,7 +24,7 @@ export const useMonitorFetch = ({ authToken, monitorId, isCreate }) => {
}
};
fetchMonitors();
}, [authToken, monitorId, isCreate]);
}, [monitorId, isCreate]);
return [monitor, isLoading, networkError];
};

View File

@@ -48,7 +48,7 @@ const CreateDistributedUptime = () => {
];
// Redux state
const { user, authToken } = useSelector((state) => state.auth);
const { user } = useSelector((state) => state.auth);
// Local state
const [https, setHttps] = useState(true);
@@ -68,7 +68,6 @@ const CreateDistributedUptime = () => {
useCreateDistributedUptimeMonitor({ isCreate, monitorId });
const [monitor, monitorIsLoading, monitorNetworkError] = useMonitorFetch({
authToken,
monitorId,
isCreate,
});

View File

@@ -5,11 +5,10 @@ import { createToast } from "../../../../Utils/toastUtils";
const useDeleteMonitor = ({ monitorId }) => {
const [isLoading, setIsLoading] = useState(false);
const { authToken } = useSelector((state) => state.auth);
const deleteMonitor = async () => {
try {
setIsLoading(true);
await networkService.deleteMonitorById({ authToken, monitorId });
await networkService.deleteMonitorById({ monitorId });
return true;
} catch (error) {
createToast({

View File

@@ -53,7 +53,6 @@ const useSubscribeToDetails = ({ monitorId, isPublic, isPublished, dateRange })
const [monitor, setMonitor] = useState(undefined);
const [lastUpdateTrigger, setLastUpdateTrigger] = useState(0);
const [devices, setDevices] = useState(Array.from({ length: 5 }, getRandomDevice));
const authToken = useSelector((state) => state.auth.token);
const prevDateRangeRef = useRef(dateRange);
@@ -68,7 +67,6 @@ const useSubscribeToDetails = ({ monitorId, isPublic, isPublished, dateRange })
try {
const cleanup = networkService.subscribeToDistributedUptimeDetails({
authToken,
monitorId,
dateRange: dateRange,
normalize: true,
@@ -105,7 +103,6 @@ const useSubscribeToDetails = ({ monitorId, isPublic, isPublished, dateRange })
setNetworkError(true);
}
}, [
authToken,
dateRange,
monitorId,
retryCount,

View File

@@ -7,7 +7,7 @@ import { createToast } from "../../../../Utils/toastUtils";
const useSubscribeToMonitors = () => {
// Redux
const { authToken, user } = useSelector((state) => state.auth);
const { user } = useSelector((state) => state.auth);
// Local state
const [isLoading, setIsLoading] = useState(true);
@@ -22,7 +22,6 @@ const useSubscribeToMonitors = () => {
useEffect(() => {
try {
const cleanup = networkService.subscribeToDistributedUptimeMonitors({
authToken: authToken,
teamId: user.teamId,
limit: 25,
types: ["distributed_http"],
@@ -57,7 +56,7 @@ const useSubscribeToMonitors = () => {
});
setNetworkError(true);
}
}, [authToken, user, getMonitorWithPercentage, theme]);
}, [user, getMonitorWithPercentage, theme]);
return [isLoading, networkError, monitors, monitorsSummary, filteredMonitors];
};
export { useSubscribeToMonitors };

View File

@@ -9,12 +9,10 @@ const useStatusPageFetchByUrl = ({ url }) => {
const [statusPage, setStatusPage] = useState(undefined);
const [monitorId, setMonitorId] = useState(undefined);
const [isPublished, setIsPublished] = useState(false);
const { authToken } = useSelector((state) => state.auth);
useEffect(() => {
const fetchStatusPageByUrl = async () => {
try {
const response = await networkService.getStatusPageByUrl({
authToken,
url,
type: "distributed",
});
@@ -33,7 +31,7 @@ const useStatusPageFetchByUrl = ({ url }) => {
}
};
fetchStatusPageByUrl();
}, [authToken, url]);
}, [url]);
return [isLoading, networkError, statusPage, monitorId, isPublished];
};

View File

@@ -4,7 +4,7 @@ import { createToast } from "../../../Utils/toastUtils";
import { useSelector } from "react-redux";
const useChecksFetch = ({ selectedMonitor, filter, dateRange, page, rowsPerPage }) => {
//Redux
const { authToken, user } = useSelector((state) => state.auth);
const { user } = useSelector((state) => state.auth);
//Local
const [isLoading, setIsLoading] = useState(true);
@@ -20,7 +20,6 @@ const useChecksFetch = ({ selectedMonitor, filter, dateRange, page, rowsPerPage
if (selectedMonitor === "0") {
res = await networkService.getChecksByTeam({
authToken: authToken,
status: false,
teamId: user.teamId,
sortOrder: "desc",
@@ -32,7 +31,6 @@ const useChecksFetch = ({ selectedMonitor, filter, dateRange, page, rowsPerPage
});
} else {
res = await networkService.getChecksByMonitor({
authToken: authToken,
status: false,
monitorId: selectedMonitor,
sortOrder: "desc",
@@ -53,7 +51,7 @@ const useChecksFetch = ({ selectedMonitor, filter, dateRange, page, rowsPerPage
}
};
fetchChecks();
}, [authToken, user, dateRange, page, rowsPerPage, filter, selectedMonitor]);
}, [user, dateRange, page, rowsPerPage, filter, selectedMonitor]);
return { isLoading, networkError, checks, checksCount };
};

View File

@@ -1,7 +1,7 @@
import { useState, useEffect } from "react";
import { networkService } from "../../../main";
import { createToast } from "../../../Utils/toastUtils";
const useMonitorsFetch = ({ authToken, teamId }) => {
const useMonitorsFetch = ({ teamId }) => {
//Local state
const [isLoading, setIsLoading] = useState(true);
const [networkError, setNetworkError] = useState(false);
@@ -13,7 +13,6 @@ const useMonitorsFetch = ({ authToken, teamId }) => {
try {
setIsLoading(true);
const res = await networkService.getMonitorsByTeamId({
authToken,
teamId,
limit: null,
types: null,
@@ -44,7 +43,7 @@ const useMonitorsFetch = ({ authToken, teamId }) => {
};
fetchMonitors();
}, [authToken, teamId]);
}, [teamId]);
return { isLoading, monitors, networkError };
};

View File

@@ -16,7 +16,7 @@ const BREADCRUMBS = [{ name: `Incidents`, path: "/incidents" }];
const Incidents = () => {
// Redux state
const { authToken, user } = useSelector((state) => state.auth);
const { user } = useSelector((state) => state.auth);
// Local state
const [selectedMonitor, setSelectedMonitor] = useState("0");
@@ -26,7 +26,6 @@ const Incidents = () => {
const theme = useTheme();
const { monitors, isLoading, networkError } = useMonitorsFetch({
authToken,
teamId: user.teamId,
});

View File

@@ -48,7 +48,7 @@ const getAlertError = (errors) => {
const CreateInfrastructureMonitor = () => {
const theme = useTheme();
const { user, authToken } = useSelector((state) => state.auth);
const { user } = useSelector((state) => state.auth);
const monitorState = useSelector((state) => state.infrastructureMonitor);
const dispatch = useDispatch();
const navigate = useNavigate();
@@ -148,7 +148,7 @@ const CreateInfrastructureMonitor = () => {
};
const action = await dispatch(
createInfrastructureMonitor({ authToken, monitor: form })
createInfrastructureMonitor({ monitor: form })
);
if (action.meta.requestStatus === "fulfilled") {
createToast({ body: "Infrastructure monitor created successfully!" });

View File

@@ -7,13 +7,10 @@ const useHardwareMonitorsFetch = ({ monitorId, dateRange }) => {
const [networkError, setNetworkError] = useState(false);
const [monitor, setMonitor] = useState(undefined);
const { authToken } = useSelector((state) => state.auth);
useEffect(() => {
const fetchData = async () => {
try {
const response = await networkService.getHardwareDetailsByMonitorId({
authToken: authToken,
monitorId: monitorId,
dateRange: dateRange,
});
@@ -26,7 +23,7 @@ const useHardwareMonitorsFetch = ({ monitorId, dateRange }) => {
}
};
fetchData();
}, [monitorId, dateRange, authToken]);
}, [monitorId, dateRange]);
return {
isLoading,

View File

@@ -30,8 +30,6 @@ const InfrastructureMenu = ({ monitor, isAdmin, updateCallback }) => {
const [isOpen, setIsOpen] = useState(false);
const [isDialogOpen, setIsDialogOpen] = useState(false);
const theme = useTheme();
const authState = useSelector((state) => state.auth);
const authToken = authState.authToken;
const { isLoading } = useSelector((state) => state.uptimeMonitors);
const openMenu = (e) => {
@@ -61,7 +59,6 @@ const InfrastructureMenu = ({ monitor, isAdmin, updateCallback }) => {
const handleRemove = async () => {
try {
await networkService.deleteMonitorById({
authToken,
monitorId: monitor.id,
});
createToast({ body: "Monitor deleted successfully." });

View File

@@ -5,7 +5,7 @@ import { createToast } from "../../../../Utils/toastUtils";
const useMonitorFetch = ({ page, rowsPerPage, updateTrigger }) => {
// Redux state
const { authToken, user } = useSelector((state) => state.auth);
const { user } = useSelector((state) => state.auth);
// Local state
const [isLoading, setIsLoading] = useState(true);
@@ -17,7 +17,6 @@ const useMonitorFetch = ({ page, rowsPerPage, updateTrigger }) => {
const fetchMonitors = async () => {
try {
const response = await networkService.getMonitorsByTeamId({
authToken,
teamId: user.teamId,
limit: 1,
types: ["hardware"],
@@ -37,7 +36,7 @@ const useMonitorFetch = ({ page, rowsPerPage, updateTrigger }) => {
};
fetchMonitors();
}, [page, rowsPerPage, authToken, user.teamId, updateTrigger]);
}, [page, rowsPerPage, user.teamId, updateTrigger]);
return { monitors, summary, isLoading, networkError };
};

View File

@@ -113,7 +113,7 @@ const CreateMaintenance = () => {
const { maintenanceWindowId } = useParams();
const navigate = useNavigate();
const theme = useTheme();
const { user, authToken } = useSelector((state) => state.auth);
const { user } = useSelector((state) => state.auth);
const [monitors, setMonitors] = useState([]);
const [search, setSearch] = useState("");
const [isLoading, setIsLoading] = useState(false);
@@ -133,7 +133,6 @@ const CreateMaintenance = () => {
setIsLoading(true);
try {
const response = await networkService.getMonitorsByTeamId({
authToken: authToken,
teamId: user.teamId,
limit: null,
types: ["http", "ping", "pagespeed"],
@@ -146,7 +145,6 @@ const CreateMaintenance = () => {
}
const res = await networkService.getMaintenanceWindowById({
authToken: authToken,
maintenanceWindowId: maintenanceWindowId,
});
const maintenanceWindow = res.data.data;
@@ -174,7 +172,7 @@ const CreateMaintenance = () => {
}
};
fetchMonitors();
}, [authToken, user]);
}, [user]);
const handleSearch = (value) => {
setSearch(value);
@@ -239,7 +237,7 @@ const CreateMaintenance = () => {
submit.expiry = end;
}
const requestConfig = { authToken: authToken, maintenanceWindow: submit };
const requestConfig = { maintenanceWindow: submit };
if (maintenanceWindowId !== undefined) {
requestConfig.maintenanceWindowId = maintenanceWindowId;

View File

@@ -13,7 +13,6 @@ import Dialog from "../../../../Components/Dialog";
const ActionsMenu = ({ /* isAdmin, */ maintenanceWindow, updateCallback }) => {
maintenanceWindow;
const { authToken } = useSelector((state) => state.auth);
const [anchorEl, setAnchorEl] = useState(null);
const [isOpen, setIsOpen] = useState(false);
const [isLoading, setIsLoading] = useState(false);
@@ -26,7 +25,6 @@ const ActionsMenu = ({ /* isAdmin, */ maintenanceWindow, updateCallback }) => {
try {
setIsLoading(true);
await networkService.deleteMaintenanceWindow({
authToken,
maintenanceWindowId: maintenanceWindow._id,
});
updateCallback();
@@ -47,7 +45,6 @@ const ActionsMenu = ({ /* isAdmin, */ maintenanceWindow, updateCallback }) => {
active: !maintenanceWindow.active,
};
await networkService.editMaintenanceWindow({
authToken,
maintenanceWindowId: maintenanceWindow._id,
maintenanceWindow: data,
});

View File

@@ -13,7 +13,6 @@ import { useIsAdmin } from "../../Hooks/useIsAdmin";
const Maintenance = () => {
const theme = useTheme();
const navigate = useNavigate();
const { authToken } = useSelector((state) => state.auth);
const { rowsPerPage } = useSelector((state) => state.ui.maintenance);
const isAdmin = useIsAdmin();
const [maintenanceWindows, setMaintenanceWindows] = useState([]);
@@ -30,7 +29,6 @@ const Maintenance = () => {
const fetchMaintenanceWindows = async () => {
try {
const response = await networkService.getMaintenanceWindowsByTeamId({
authToken: authToken,
page: page,
rowsPerPage: rowsPerPage,
});
@@ -42,7 +40,7 @@ const Maintenance = () => {
}
};
fetchMaintenanceWindows();
}, [authToken, page, rowsPerPage, updateTrigger]);
}, [page, rowsPerPage, updateTrigger]);
return (
<Box

View File

@@ -31,7 +31,7 @@ const PageSpeedConfigure = () => {
const navigate = useNavigate();
const dispatch = useDispatch();
const MS_PER_MINUTE = 60000;
const { user, authToken } = useSelector((state) => state.auth);
const { user } = useSelector((state) => state.auth);
const { isLoading } = useSelector((state) => state.pageSpeedMonitors);
const { monitorId } = useParams();
const [monitor, setMonitor] = useState({});
@@ -59,7 +59,7 @@ const PageSpeedConfigure = () => {
useEffect(() => {
const fetchMonitor = async () => {
try {
const action = await dispatch(getPagespeedMonitorById({ authToken, monitorId }));
const action = await dispatch(getPagespeedMonitorById({ monitorId }));
if (getPagespeedMonitorById.fulfilled.match(action)) {
const monitor = action.payload.data;
@@ -73,7 +73,7 @@ const PageSpeedConfigure = () => {
}
};
fetchMonitor();
}, [dispatch, authToken, monitorId, navigate]);
}, [dispatch, monitorId, navigate]);
const handleChange = (event, name) => {
let { value, id } = event.target;
@@ -130,7 +130,7 @@ const PageSpeedConfigure = () => {
const handlePause = async () => {
try {
const action = await dispatch(pausePageSpeed({ authToken, monitorId }));
const action = await dispatch(pausePageSpeed({ monitorId }));
if (pausePageSpeed.fulfilled.match(action)) {
const monitor = action.payload.data;
setMonitor(monitor);
@@ -147,10 +147,10 @@ const PageSpeedConfigure = () => {
const handleSave = async (event) => {
event.preventDefault();
const action = await dispatch(updatePageSpeed({ authToken, monitor: monitor }));
const action = await dispatch(updatePageSpeed({ monitor: monitor }));
if (action.meta.requestStatus === "fulfilled") {
createToast({ body: "Monitor updated successfully!" });
dispatch(getPageSpeedByTeamId(authToken));
dispatch(getPageSpeedByTeamId());
} else {
createToast({ body: "Failed to update monitor." });
}
@@ -160,7 +160,7 @@ const PageSpeedConfigure = () => {
const handleRemove = async (event) => {
event.preventDefault();
setButtonLoading(true);
const action = await dispatch(deletePageSpeed({ authToken, monitor }));
const action = await dispatch(deletePageSpeed({ monitor }));
if (action.meta.requestStatus === "fulfilled") {
navigate("/pagespeed");
} else {

View File

@@ -54,7 +54,7 @@ const CreatePageSpeed = () => {
const [https, setHttps] = useState(true);
const [errors, setErrors] = useState({});
const { user, authToken } = useSelector((state) => state.auth);
const { user } = useSelector((state) => state.auth);
const { isLoading } = useSelector((state) => state.pageSpeedMonitors);
// Setup
@@ -87,7 +87,7 @@ const CreatePageSpeed = () => {
}
const checkEndpointAction = await dispatch(
checkEndpointResolution({ authToken, monitorURL: form.url })
checkEndpointResolution({ monitorURL: form.url })
);
if (checkEndpointAction.meta.requestStatus === "rejected") {
@@ -106,7 +106,7 @@ const CreatePageSpeed = () => {
notifications: monitor.notifications,
};
const action = await dispatch(createPageSpeed({ authToken, monitor: form }));
const action = await dispatch(createPageSpeed({ monitor: form }));
if (action.meta.requestStatus === "fulfilled") {
createToast({ body: "Monitor created successfully!" });
navigate("/pagespeed");

View File

@@ -2,7 +2,7 @@ import { useEffect, useState } from "react";
import { networkService } from "../../../../main";
import { createToast } from "../../../../Utils/toastUtils";
import { useNavigate } from "react-router-dom";
const useMonitorFetch = ({ authToken, monitorId }) => {
const useMonitorFetch = ({ monitorId }) => {
const navigate = useNavigate();
const [monitor, setMonitor] = useState(undefined);
@@ -13,7 +13,6 @@ const useMonitorFetch = ({ authToken, monitorId }) => {
const fetchMonitor = async () => {
try {
const res = await networkService.getStatsByMonitorId({
authToken: authToken,
monitorId: monitorId,
sortOrder: "desc",
limit: 50,
@@ -32,7 +31,7 @@ const useMonitorFetch = ({ authToken, monitorId }) => {
};
fetchMonitor();
}, [authToken, monitorId, navigate]);
}, [monitorId, navigate]);
return { monitor, audits, isLoading };
};

View File

@@ -25,10 +25,8 @@ const PageSpeedDetails = () => {
const theme = useTheme();
const isAdmin = useIsAdmin();
const { monitorId } = useParams();
const { authToken } = useSelector((state) => state.auth);
const { monitor, audits, isLoading, networkError } = useMonitorFetch({
authToken,
monitorId,
});

View File

@@ -2,7 +2,7 @@ import { useEffect, useState } from "react";
import { networkService } from "../../../../main";
import { createToast } from "../../../../Utils/toastUtils";
const useMonitorsFetch = ({ authToken, teamId }) => {
const useMonitorsFetch = ({ teamId }) => {
const [isLoading, setIsLoading] = useState(true);
const [monitors, setMonitors] = useState([]);
const [summary, setSummary] = useState({});
@@ -13,7 +13,6 @@ const useMonitorsFetch = ({ authToken, teamId }) => {
try {
setIsLoading(true);
const res = await networkService.getMonitorsByTeamId({
authToken: authToken,
teamId: teamId,
limit: 10,
types: ["pagespeed"],
@@ -38,7 +37,7 @@ const useMonitorsFetch = ({ authToken, teamId }) => {
};
fetchMonitors();
}, [authToken, teamId]);
}, [teamId]);
return { isLoading, monitors, summary, networkError };
};

View File

@@ -19,10 +19,9 @@ const BREADCRUMBS = [{ name: `pagespeed`, path: "/pagespeed" }];
const PageSpeed = () => {
const theme = useTheme();
const isAdmin = useIsAdmin();
const { user, authToken } = useSelector((state) => state.auth);
const { user } = useSelector((state) => state.auth);
const { isLoading, monitors, summary, networkError } = useMonitorsFetch({
authToken: authToken,
teamId: user.teamId,
});

View File

@@ -39,7 +39,7 @@ const SECONDS_PER_DAY = 86400;
const Settings = () => {
const theme = useTheme();
const isAdmin = useIsAdmin();
const { user, authToken } = useSelector((state) => state.auth);
const { user } = useSelector((state) => state.auth);
const { checkTTL } = user;
const { isLoading } = useSelector((state) => state.uptimeMonitors);
const { isLoading: authIsLoading } = useSelector((state) => state.auth);
@@ -115,11 +115,10 @@ const Settings = () => {
try {
setChecksIsLoading(true);
await networkService.updateChecksTTL({
authToken: authToken,
ttl: form.ttl,
});
const updatedUser = { ...user, checkTTL: form.ttl };
const action = await dispatch(update({ authToken, localData: updatedUser }));
const action = await dispatch(update({ localData: updatedUser }));
if (action.payload.success) {
createToast({
@@ -149,7 +148,7 @@ const Settings = () => {
const handleClearStats = async () => {
try {
const action = await dispatch(
deleteMonitorChecksByTeamId({ teamId: user.teamId, authToken })
deleteMonitorChecksByTeamId({ teamId: user.teamId })
);
if (deleteMonitorChecksByTeamId.fulfilled.match(action)) {
@@ -167,7 +166,7 @@ const Settings = () => {
const handleInsertDemoMonitors = async () => {
try {
const action = await dispatch(addDemoMonitors({ authToken }));
const action = await dispatch(addDemoMonitors());
if (addDemoMonitors.fulfilled.match(action)) {
createToast({ body: "Successfully added demo monitors" });
} else {
@@ -181,7 +180,7 @@ const Settings = () => {
const handleDeleteAllMonitors = async () => {
try {
const action = await dispatch(deleteAllMonitors({ authToken }));
const action = await dispatch(deleteAllMonitors());
if (deleteAllMonitors.fulfilled.match(action)) {
createToast({ body: "Successfully deleted all monitors" });
} else {

View File

@@ -4,14 +4,14 @@ import { useSelector } from "react-redux";
import { createToast } from "../../../../Utils/toastUtils";
const useCreateStatusPage = (isCreate, url) => {
const { authToken, user } = useSelector((state) => state.auth);
const { user } = useSelector((state) => state.auth);
const [isLoading, setIsLoading] = useState(false);
const [networkError, setNetworkError] = useState(false);
const createStatusPage = async ({ form }) => {
setIsLoading(true);
try {
await networkService.createStatusPage({ authToken, user, form, isCreate, url });
await networkService.createStatusPage({ user, form, isCreate, url });
return true;
} catch (error) {
setNetworkError(true);

View File

@@ -4,7 +4,7 @@ import { useSelector } from "react-redux";
import { createToast } from "../../../../Utils/toastUtils";
const useMonitorsFetch = () => {
const { user, authToken } = useSelector((state) => state.auth);
const { user } = useSelector((state) => state.auth);
const [monitors, setMonitors] = useState(undefined);
const [isLoading, setIsLoading] = useState(true);
@@ -13,7 +13,6 @@ const useMonitorsFetch = () => {
const fetchMonitors = async () => {
try {
const response = await networkService.getMonitorsByTeamId({
authToken: authToken,
teamId: user.teamId,
limit: null, // donot return any checks for the monitors
types: ["http"], // status page is available only for the uptime type
@@ -27,7 +26,7 @@ const useMonitorsFetch = () => {
}
};
fetchMonitors();
}, [authToken, user]);
}, [user]);
return [monitors, isLoading, networkError];
};

View File

@@ -5,11 +5,10 @@ import { createToast } from "../../../../Utils/toastUtils";
const useStatusPageDelete = (fetchStatusPage, url) => {
const [isLoading, setIsLoading] = useState(false);
const { authToken } = useSelector((state) => state.auth);
const deleteStatusPage = async () => {
try {
setIsLoading(true);
await networkService.deleteStatusPage({ authToken, url });
await networkService.deleteStatusPage({ url });
fetchStatusPage?.();
return true;
} catch (error) {

View File

@@ -10,13 +10,11 @@ const useStatusPageFetch = (isCreate = false, url) => {
const [networkError, setNetworkError] = useState(false);
const [statusPage, setStatusPage] = useState(undefined);
const [monitors, setMonitors] = useState(undefined);
const { authToken } = useSelector((state) => state.auth);
const theme = useTheme();
const { getMonitorWithPercentage } = useMonitorUtils();
const fetchStatusPage = useCallback(async () => {
try {
const response = await networkService.getStatusPageByUrl({
authToken,
url,
type: "uptime",
});
@@ -40,7 +38,7 @@ const useStatusPageFetch = (isCreate = false, url) => {
} finally {
setIsLoading(false);
}
}, [authToken, theme, getMonitorWithPercentage, url]);
}, [theme, getMonitorWithPercentage, url]);
useEffect(() => {
if (isCreate === true) {

View File

@@ -4,7 +4,7 @@ import { useSelector } from "react-redux";
import { createToast } from "../../../../Utils/toastUtils";
const useStatusPagesFetch = () => {
const { authToken, user } = useSelector((state) => state.auth);
const { user } = useSelector((state) => state.auth);
const [isLoading, setIsLoading] = useState(true);
const [networkError, setNetworkError] = useState(false);
@@ -14,7 +14,6 @@ const useStatusPagesFetch = () => {
const fetchStatusPages = async () => {
try {
const res = await networkService.getStatusPagesByTeamId({
authToken,
teamId: user.teamId,
});
setStatusPages(res?.data?.data);
@@ -28,7 +27,7 @@ const useStatusPagesFetch = () => {
}
};
fetchStatusPages();
}, [authToken, user]);
}, [user]);
return [isLoading, networkError, statusPages];
};

View File

@@ -48,7 +48,7 @@ const Configure = () => {
const navigate = useNavigate();
const theme = useTheme();
const dispatch = useDispatch();
const { user, authToken } = useSelector((state) => state.auth);
const { user } = useSelector((state) => state.auth);
const { isLoading } = useSelector((state) => state.uptimeMonitors);
const [monitor, setMonitor] = useState({});
const [errors, setErrors] = useState({});
@@ -76,7 +76,7 @@ const Configure = () => {
useEffect(() => {
const fetchMonitor = async () => {
try {
const action = await dispatch(getUptimeMonitorById({ authToken, monitorId }));
const action = await dispatch(getUptimeMonitorById({ monitorId }));
if (getUptimeMonitorById.fulfilled.match(action)) {
const monitor = action.payload.data;
@@ -90,7 +90,7 @@ const Configure = () => {
}
};
fetchMonitor();
}, [monitorId, authToken, navigate]);
}, [monitorId, navigate]);
const handleChange = (event, name) => {
let { value, id } = event.target;
@@ -147,7 +147,7 @@ const Configure = () => {
const handlePause = async () => {
try {
const action = await dispatch(pauseUptimeMonitor({ authToken, monitorId }));
const action = await dispatch(pauseUptimeMonitor({ monitorId }));
if (pauseUptimeMonitor.fulfilled.match(action)) {
const monitor = action.payload.data;
setMonitor(monitor);
@@ -164,7 +164,7 @@ const Configure = () => {
const handleSubmit = async (event) => {
event.preventDefault();
const action = await dispatch(updateUptimeMonitor({ authToken, monitor: monitor }));
const action = await dispatch(updateUptimeMonitor({ monitor: monitor }));
if (action.meta.requestStatus === "fulfilled") {
createToast({ body: "Monitor updated successfully!" });
} else {
@@ -175,7 +175,7 @@ const Configure = () => {
const [isOpen, setIsOpen] = useState(false);
const handleRemove = async (event) => {
event.preventDefault();
const action = await dispatch(deleteUptimeMonitor({ authToken, monitor }));
const action = await dispatch(deleteUptimeMonitor({ monitor }));
if (action.meta.requestStatus === "fulfilled") {
navigate("/uptime");
} else {

View File

@@ -68,7 +68,7 @@ const CreateMonitor = () => {
},
};
const { user, authToken } = useSelector((state) => state.auth);
const { user } = useSelector((state) => state.auth);
const { isLoading } = useSelector((state) => state.uptimeMonitors);
const dispatch = useDispatch();
const navigate = useNavigate();
@@ -126,7 +126,7 @@ const CreateMonitor = () => {
if (monitor.type === "http") {
// const checkEndpointAction = await dispatch(
// checkEndpointResolution({ authToken, monitorURL: form.url })
// checkEndpointResolution({ monitorURL: form.url })
// );
// if (checkEndpointAction.meta.requestStatus === "rejected") {
// createToast({
@@ -144,7 +144,7 @@ const CreateMonitor = () => {
userId: user._id,
notifications: monitor.notifications,
};
const action = await dispatch(createUptimeMonitor({ authToken, monitor: form }));
const action = await dispatch(createUptimeMonitor({ monitor: form }));
if (action.meta.requestStatus === "fulfilled") {
createToast({ body: "Monitor created successfully!" });
navigate("/uptime");
@@ -205,7 +205,7 @@ const CreateMonitor = () => {
useEffect(() => {
const fetchMonitor = async () => {
if (monitorId) {
const action = await dispatch(getUptimeMonitorById({ authToken, monitorId }));
const action = await dispatch(getUptimeMonitorById({ monitorId }));
if (action.payload.success) {
const data = action.payload.data;
@@ -228,7 +228,7 @@ const CreateMonitor = () => {
}
};
fetchMonitor();
}, [monitorId, authToken, dispatch, navigate]);
}, [monitorId, dispatch, navigate]);
return (
<Box className="create-monitor">

View File

@@ -5,7 +5,6 @@ import { formatDateWithTz } from "../../../../Utils/timeUtils";
const useCertificateFetch = ({
monitor,
authToken,
monitorId,
certificateDateFormat,
uiTimezone,
@@ -22,7 +21,6 @@ const useCertificateFetch = ({
try {
setIsLoading(true);
const res = await networkService.getCertificateExpiry({
authToken: authToken,
monitorId: monitorId,
});
if (res?.data?.data?.certificateDate) {
@@ -39,7 +37,7 @@ const useCertificateFetch = ({
}
};
fetchCertificate();
}, [authToken, monitorId, certificateDateFormat, uiTimezone, monitor]);
}, [monitorId, certificateDateFormat, uiTimezone, monitor]);
return [certificateExpiry, isLoading];
};

View File

@@ -3,7 +3,6 @@ import { useEffect } from "react";
import { networkService } from "../../../../main";
import { createToast } from "../../../../Utils/toastUtils";
export const useChecksFetch = ({
authToken,
monitorId,
dateRange,
page,
@@ -19,7 +18,6 @@ export const useChecksFetch = ({
try {
setIsLoading(true);
const res = await networkService.getChecksByMonitor({
authToken: authToken,
monitorId: monitorId,
sortOrder: "desc",
limit: null,
@@ -38,7 +36,7 @@ export const useChecksFetch = ({
}
};
fetchChecks();
}, [authToken, monitorId, dateRange, page, rowsPerPage]);
}, [monitorId, dateRange, page, rowsPerPage]);
return [checks, checksCount, isLoading, networkError];
};

View File

@@ -3,7 +3,7 @@ import { networkService } from "../../../../main";
import { useNavigate } from "react-router-dom";
import { createToast } from "../../../../Utils/toastUtils";
export const useMonitorFetch = ({ authToken, monitorId, dateRange }) => {
export const useMonitorFetch = ({ monitorId, dateRange }) => {
const [networkError, setNetworkError] = useState(false);
const [isLoading, setIsLoading] = useState(true);
const [monitor, setMonitor] = useState(undefined);
@@ -13,7 +13,6 @@ export const useMonitorFetch = ({ authToken, monitorId, dateRange }) => {
const fetchMonitors = async () => {
try {
const res = await networkService.getUptimeDetailsById({
authToken: authToken,
monitorId: monitorId,
dateRange: dateRange,
normalize: true,
@@ -27,7 +26,7 @@ export const useMonitorFetch = ({ authToken, monitorId, dateRange }) => {
}
};
fetchMonitors();
}, [authToken, dateRange, monitorId, navigate]);
}, [dateRange, monitorId, navigate]);
return [monitor, isLoading, networkError];
};

View File

@@ -31,7 +31,6 @@ const certificateDateFormat = "MMM D, YYYY h A";
const UptimeDetails = () => {
// Redux state
const { authToken } = useSelector((state) => state.auth);
const uiTimezone = useSelector((state) => state.ui.timezone);
// Local state
@@ -48,21 +47,18 @@ const UptimeDetails = () => {
const isAdmin = useIsAdmin();
const [monitor, monitorIsLoading, monitorNetworkError] = useMonitorFetch({
authToken,
monitorId,
dateRange,
});
const [certificateExpiry, certificateIsLoading] = useCertificateFetch({
monitor,
authToken,
monitorId,
certificateDateFormat,
uiTimezone,
});
const [checks, checksCount, checksAreLoading, checksNetworkError] = useChecksFetch({
authToken,
monitorId,
dateRange,
page,

View File

@@ -5,7 +5,6 @@ import { useTheme } from "@emotion/react";
import { useMonitorUtils } from "../../../../Hooks/useMonitorUtils";
export const useMonitorFetch = ({
authToken,
teamId,
limit,
page,
@@ -28,7 +27,6 @@ export const useMonitorFetch = ({
try {
setMonitorsAreLoading(true);
const res = await networkService.getMonitorsByTeamId({
authToken,
teamId,
limit,
types: ["http", "ping", "docker", "port"],
@@ -56,7 +54,6 @@ export const useMonitorFetch = ({
};
fetchMonitors();
}, [
authToken,
teamId,
limit,
field,

View File

@@ -54,7 +54,7 @@ CreateMonitorButton.propTypes = {
const UptimeMonitors = () => {
// Redux state
const { authToken, user } = useSelector((state) => state.auth);
const { user } = useSelector((state) => state.auth);
const rowsPerPage = useSelector((state) => state.ui.monitors.rowsPerPage);
// Local state
@@ -96,7 +96,6 @@ const UptimeMonitors = () => {
monitorsSummary,
networkError,
} = useMonitorsFetch({
authToken,
teamId,
limit: 25,
page: page,