diff --git a/Client/src/Features/UptimeMonitors/uptimeMonitorsSlice.js b/Client/src/Features/UptimeMonitors/uptimeMonitorsSlice.js index 0fd70c6b6..79af537e0 100644 --- a/Client/src/Features/UptimeMonitors/uptimeMonitorsSlice.js +++ b/Client/src/Features/UptimeMonitors/uptimeMonitorsSlice.js @@ -133,8 +133,8 @@ export const pauseUptimeMonitor = createAsyncThunk( "monitors/pauseMonitor", async (data, thunkApi) => { try { - const { authToken, monitor } = data; - const res = await networkService.pauseMonitorById(authToken, monitor._id); + const { authToken, monitorId } = data; + const res = await networkService.pauseMonitorById(authToken, monitorId); return res.data; } catch (error) { if (error.response && error.response.data) { diff --git a/Client/src/Pages/Monitors/Configure/index.jsx b/Client/src/Pages/Monitors/Configure/index.jsx index 13d4021f4..0fe54116a 100644 --- a/Client/src/Pages/Monitors/Configure/index.jsx +++ b/Client/src/Pages/Monitors/Configure/index.jsx @@ -8,6 +8,7 @@ import { createToast } from "../../../Utils/toastUtils"; import { logger } from "../../../Utils/Logger"; import { updateUptimeMonitor, + pauseUptimeMonitor, getUptimeMonitorById, getUptimeMonitorsByTeamId, deleteUptimeMonitor, @@ -136,7 +137,19 @@ const Configure = () => { const handlePause = async () => { try { - } catch (error) {} + const action = await dispatch( + pauseUptimeMonitor({ authToken, monitorId }) + ); + if (pauseUptimeMonitor.fulfilled.match(action)) { + const monitor = action.payload.data; + setMonitor(monitor); + } else if (pauseUptimeMonitor.rejected.match(action)) { + throw new Error(action.error.message); + } + } catch (error) { + logger.error("Error pausing monitor: " + monitorId); + createToast({ body: "Failed to pause monitor" }); + } }; const handleSubmit = async (event) => { diff --git a/Client/src/Utils/NetworkService.js b/Client/src/Utils/NetworkService.js index b85037118..26825401d 100644 --- a/Client/src/Utils/NetworkService.js +++ b/Client/src/Utils/NetworkService.js @@ -195,12 +195,16 @@ class NetworkService { * @returns {Promise} The response from the axios POST request. */ async pauseMonitorById(authToken, monitorId) { - return this.axiosInstance.post(`/monitors/pause/${monitorId}`, { - headers: { - Authorization: `Bearer ${authToken}`, - "Content-Type": "application/json", - }, - }); + return this.axiosInstance.post( + `/monitors/pause/${monitorId}`, + {}, + { + headers: { + Authorization: `Bearer ${authToken}`, + "Content-Type": "application/json", + }, + } + ); } /**