mirror of
https://github.com/fosrl/pangolin.git
synced 2026-08-12 23:40:40 +02:00
♻️ trigger alert correctly
This commit is contained in:
@@ -11,29 +11,17 @@
|
|||||||
* This file is not licensed under the AGPLv3.
|
* This file is not licensed under the AGPLv3.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import { Request, Response, NextFunction } from "express";
|
|
||||||
import { z } from "zod";
|
|
||||||
import { db } from "@server/db";
|
|
||||||
import {
|
|
||||||
alertRules,
|
|
||||||
alertSites,
|
|
||||||
alertHealthChecks,
|
|
||||||
alertResources
|
|
||||||
} from "@server/db";
|
|
||||||
import response from "@server/lib/response";
|
|
||||||
import HttpCode from "@server/types/HttpCode";
|
|
||||||
import createHttpError from "http-errors";
|
|
||||||
import logger from "@server/logger";
|
|
||||||
import { fromError } from "zod-validation-error";
|
|
||||||
import { OpenAPITags, registry } from "@server/openApi";
|
|
||||||
import { and, asc, desc, eq, inArray, like, or, sql } from "drizzle-orm";
|
|
||||||
import {
|
|
||||||
ListAlertRulesResponse,
|
|
||||||
type AlertAction,
|
|
||||||
type EmailAlertAction
|
|
||||||
} from "@server/routers/alertRule/types";
|
|
||||||
import { processTestAlerts } from "@server/private/lib/alerts/processTestAlerts";
|
|
||||||
import { getRandomItemInArray } from "@app/lib/getRandomItemInArray";
|
import { getRandomItemInArray } from "@app/lib/getRandomItemInArray";
|
||||||
|
import response from "@server/lib/response";
|
||||||
|
import logger from "@server/logger";
|
||||||
|
import { processTestAlerts } from "@server/private/lib/alerts/processTestAlerts";
|
||||||
|
import { type AlertAction } from "@server/routers/alertRule/types";
|
||||||
|
import HttpCode from "@server/types/HttpCode";
|
||||||
|
import { NextFunction, Request, Response } from "express";
|
||||||
|
import createHttpError from "http-errors";
|
||||||
|
import { z } from "zod";
|
||||||
|
import { fromError } from "zod-validation-error";
|
||||||
|
import type { TriggerSiteAlertResponse } from "../alertEvents";
|
||||||
|
|
||||||
const paramsSchema = z.strictObject({
|
const paramsSchema = z.strictObject({
|
||||||
orgId: z.string().nonempty()
|
orgId: z.string().nonempty()
|
||||||
@@ -203,6 +191,14 @@ export async function testAlertRule(
|
|||||||
actions: collectedActions,
|
actions: collectedActions,
|
||||||
data
|
data
|
||||||
});
|
});
|
||||||
|
|
||||||
|
return response<TriggerSiteAlertResponse>(res, {
|
||||||
|
data: { success: true },
|
||||||
|
success: true,
|
||||||
|
error: false,
|
||||||
|
message: "Alert triggered successfully",
|
||||||
|
status: HttpCode.OK
|
||||||
|
});
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
logger.error(error);
|
logger.error(error);
|
||||||
return next(
|
return next(
|
||||||
|
|||||||
Reference in New Issue
Block a user