From 38c76aefc2bd08e434ed6b1b11b29aa0a26ec7d5 Mon Sep 17 00:00:00 2001 From: TwinProduction Date: Mon, 2 Nov 2020 22:43:55 -0500 Subject: [PATCH] Validate interface implementation on compile --- alerting/provider/provider.go | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/alerting/provider/provider.go b/alerting/provider/provider.go index 41e8b0fd..06be60c6 100644 --- a/alerting/provider/provider.go +++ b/alerting/provider/provider.go @@ -2,6 +2,9 @@ package provider import ( "github.com/TwinProduction/gatus/alerting/provider/custom" + "github.com/TwinProduction/gatus/alerting/provider/pagerduty" + "github.com/TwinProduction/gatus/alerting/provider/slack" + "github.com/TwinProduction/gatus/alerting/provider/twilio" "github.com/TwinProduction/gatus/core" ) @@ -13,3 +16,11 @@ type AlertProvider interface { // ToCustomAlertProvider converts the provider into a custom.AlertProvider ToCustomAlertProvider(service *core.Service, alert *core.Alert, result *core.Result, resolved bool) *custom.AlertProvider } + +var ( + // Validate interface implementation on compile + _ AlertProvider = (*custom.AlertProvider)(nil) + _ AlertProvider = (*twilio.AlertProvider)(nil) + _ AlertProvider = (*slack.AlertProvider)(nil) + _ AlertProvider = (*pagerduty.AlertProvider)(nil) +)