Something went wrong. Try again.
[READ-ONLY] Mirror of https://github.com/openstatusHQ/openstatus. ๐ซ Status page with uptime monitoring & API monitoring as code ๐ซ openstatus.dev
bun drizzle-orm monitoring monitoring-as-code nextjs observability on-call open-source shadcn-ui status-page statuspage synthetic-monitoring tinybird turso uptime uptime-checker uptime-monitor
Something went wrong. Try again.
4.3 kB ยท 143 lines
TypeScript
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144import type { NotificationProvider } from "@openstatus/db/src/schema";import type { NotificationContext } from "@openstatus/notification-base";import { sendAlert as sendWhatsappAlert, sendDegraded as sendWhatsappDegraded, sendRecovery as sendWhatsappRecovery,} from "@openstatus/notification-bird-whatsapp";import { sendAlert as sendDiscordAlert, sendDegraded as sendDiscordDegraded, sendRecovery as sendDiscordRecovery,} from "@openstatus/notification-discord";import { sendAlert as sendEmailAlert, sendDegraded as sendEmailDegraded, sendRecovery as sendEmailRecovery,} from "@openstatus/notification-emails";import { sendAlert as sendGoogleChatAlert, sendDegraded as sendGoogleChatDegraded, sendRecovery as sendGoogleChatRecovery,} from "@openstatus/notification-google-chat";import { sendAlert as sendGrafanaOncallAlert, sendDegraded as sendGrafanaOncallDegraded, sendRecovery as sendGrafanaOncallRecovery,} from "@openstatus/notification-grafana-oncall";import { sendAlert as sendMsTeamsAlert, sendDegraded as sendMsTeamsDegraded, sendRecovery as sendMsTeamsRecovery,} from "@openstatus/notification-ms-teams";import { sendAlert as sendNtfyAlert, sendDegraded as sendNtfyDegraded, sendRecovery as sendNtfyRecovery,} from "@openstatus/notification-ntfy";import { sendAlert as sendOpsGenieAlert, sendDegraded as sendOpsGenieDegraded, sendRecovery as sendOpsGenieRecovery,} from "@openstatus/notification-opsgenie";import { sendDegraded as sendPagerDutyDegraded, sendRecovery as sendPagerDutyRecovery, sendAlert as sendPagerdutyAlert,} from "@openstatus/notification-pagerduty";import { sendAlert as sendSlackAlert, sendDegraded as sendSlackDegraded, sendRecovery as sendSlackRecovery,} from "@openstatus/notification-slack";import { sendAlert as sendTelegramAlert, sendDegraded as sendTelegramDegraded, sendRecovery as sendTelegramRecovery,} from "@openstatus/notification-telegram";import { sendAlert as sendSmsAlert, sendDegraded as sendSmsDegraded, sendRecovery as sendSmsRecovery,} from "@openstatus/notification-twillio-sms";import { sendAlert as sendWebhookAlert, sendDegraded as sendWebhookDegraded, sendRecovery as sendWebhookRecovery,} from "@openstatus/notification-webhook";
type SendNotification = (props: NotificationContext) => Promise<void>;
type Notif = { sendAlert: SendNotification; sendRecovery: SendNotification; sendDegraded: SendNotification;};
export const providerToFunction: Record<NotificationProvider, Notif> = { discord: { sendAlert: sendDiscordAlert, sendRecovery: sendDiscordRecovery, sendDegraded: sendDiscordDegraded, }, email: { sendAlert: sendEmailAlert, sendRecovery: sendEmailRecovery, sendDegraded: sendEmailDegraded, }, "google-chat": { sendAlert: sendGoogleChatAlert, sendRecovery: sendGoogleChatRecovery, sendDegraded: sendGoogleChatDegraded, }, "grafana-oncall": { sendAlert: sendGrafanaOncallAlert, sendRecovery: sendGrafanaOncallRecovery, sendDegraded: sendGrafanaOncallDegraded, }, "ms-teams": { sendAlert: sendMsTeamsAlert, sendRecovery: sendMsTeamsRecovery, sendDegraded: sendMsTeamsDegraded, }, ntfy: { sendAlert: sendNtfyAlert, sendRecovery: sendNtfyRecovery, sendDegraded: sendNtfyDegraded, }, opsgenie: { sendAlert: sendOpsGenieAlert, sendRecovery: sendOpsGenieRecovery, sendDegraded: sendOpsGenieDegraded, }, pagerduty: { sendAlert: sendPagerdutyAlert, sendRecovery: sendPagerDutyRecovery, sendDegraded: sendPagerDutyDegraded, }, slack: { sendAlert: sendSlackAlert, sendRecovery: sendSlackRecovery, sendDegraded: sendSlackDegraded, }, sms: { sendAlert: sendSmsAlert, sendRecovery: sendSmsRecovery, sendDegraded: sendSmsDegraded, }, webhook: { sendAlert: sendWebhookAlert, sendRecovery: sendWebhookRecovery, sendDegraded: sendWebhookDegraded, }, whatsapp: { sendAlert: sendWhatsappAlert, sendRecovery: sendWhatsappRecovery, sendDegraded: sendWhatsappDegraded, }, telegram: { sendAlert: sendTelegramAlert, sendRecovery: sendTelegramRecovery, sendDegraded: sendTelegramDegraded, },};