package types

type AlertKind string

const (
	CrowdsecAlertKind     AlertKind = "crowdsec"      // for alerts created from logs
	WAFAlertKind          AlertKind = "waf"           // for alerts generated by the WAF
	BotChallengeAlertKind AlertKind = "bot-challenge" // subset of WAF alerts, if client failed the challenge
	CAPIAlertKind         AlertKind = "capi"          // Alert created from a CAPI pull
	PAPIAlertKind         AlertKind = "papi"          // Alert created from a PAPI order
	CscliAlertKind        AlertKind = "cscli"         // Alert created from a cscli command
)

func (k AlertKind) String() string {
	return string(k)
}

func GetAlertKinds() []string {
	return []string{
		CrowdsecAlertKind.String(),
		WAFAlertKind.String(),
		//BotChallengeAlertKind.String(),
		CAPIAlertKind.String(),
		PAPIAlertKind.String(),
		CscliAlertKind.String(),
	}
}
