diff --git a/client/src/Hooks/checkHooks.js b/client/src/Hooks/checkHooks.js index f23e1eaea..3e5567cf6 100644 --- a/client/src/Hooks/checkHooks.js +++ b/client/src/Hooks/checkHooks.js @@ -185,6 +185,23 @@ const useResolveIncident = () => { return [resolveIncident, isLoading]; }; +const useAckMonitorChecks = () => { + const [isLoading, setIsLoading] = useState(false); + const { t } = useTranslation(); + + const ackMonitorChecks = async (monitorId, setUpdateTrigger) => { + try { + setIsLoading(true); + } catch (error) { + createToast({ body: t("checkHooks.failureResolveMonitor") }); + } finally { + setIsLoading(false); + } + }; + + return [ackMonitorChecks, isLoading]; +}; + const useAckAllChecks = () => { const [isLoading, setIsLoading] = useState(false); const { t } = useTranslation(); @@ -209,5 +226,6 @@ export { useFetchChecksTeam, useFetchChecksSummaryByTeamId, useResolveIncident, + useAckMonitorChecks, useAckAllChecks, }; diff --git a/client/src/Utils/NetworkService.js b/client/src/Utils/NetworkService.js index 5b33f97af..a711ceb21 100644 --- a/client/src/Utils/NetworkService.js +++ b/client/src/Utils/NetworkService.js @@ -631,6 +631,12 @@ class NetworkService { }); } + async updateMonitorChecksStatus(config) { + return this.axiosInstance.put(`/checks/monitor/${config.monitorId}`, { + ack: config.ack, + }); + } + async updateAllChecksStatus(config) { return this.axiosInstance.put(`/checks/team/`, { ack: config.ack, diff --git a/client/src/locales/en.json b/client/src/locales/en.json index 131b39952..b88b1d8a1 100644 --- a/client/src/locales/en.json +++ b/client/src/locales/en.json @@ -218,6 +218,7 @@ "checkFrequency": "Check frequency", "checkHooks": { "failureResolveAll": "Failed to resolve all incidents.", + "failureResolveMonitor": "Failed to resolve monitor incidents.", "failureResolveOne": "Failed to resolve incident." }, "checkingEvery": "Checking every",