#[derive(Debug, Clone, Copy)]
pub struct EventEntry {
pub event_type: &'static str,
pub family: &'static str,
pub stability: &'static str,
pub required_plan: Option<&'static str>,
}
pub const EVENT_CATALOG: &[EventEntry] = &[
EventEntry { event_type: "transfer.created", family: "transfer", stability: "stable", required_plan: None },
EventEntry { event_type: "transfer.downloaded", family: "transfer", stability: "stable", required_plan: None },
EventEntry { event_type: "transfer.expired", family: "transfer", stability: "stable", required_plan: None },
EventEntry { event_type: "transfer.deleted", family: "transfer", stability: "stable", required_plan: None },
EventEntry { event_type: "transfer.cloned", family: "transfer", stability: "stable", required_plan: None },
EventEntry { event_type: "transfer.scanned", family: "transfer", stability: "stable", required_plan: None },
EventEntry { event_type: "transfer.scan_clean", family: "transfer", stability: "stable", required_plan: Some("pro") },
EventEntry { event_type: "transfer.scan_infected", family: "transfer", stability: "stable", required_plan: Some("pro") },
EventEntry { event_type: "transfer.scan_quarantined", family: "transfer", stability: "stable", required_plan: Some("pro") },
EventEntry { event_type: "transfer.limit_reached", family: "transfer", stability: "stable", required_plan: None },
EventEntry { event_type: "transfer.password_failed", family: "transfer", stability: "stable", required_plan: None },
EventEntry { event_type: "transfer.geo_blocked", family: "transfer", stability: "stable", required_plan: Some("ultra") },
EventEntry { event_type: "transfer.preview_opened", family: "transfer", stability: "beta", required_plan: None },
EventEntry { event_type: "transfer.email_sent", family: "transfer", stability: "stable", required_plan: None },
EventEntry { event_type: "transfer.e2e_created", family: "transfer", stability: "stable", required_plan: None },
EventEntry { event_type: "workspace.created", family: "workspace", stability: "stable", required_plan: None },
EventEntry { event_type: "workspace.plan_changed", family: "workspace", stability: "stable", required_plan: None },
EventEntry { event_type: "workspace.payment_succeeded", family: "workspace", stability: "stable", required_plan: None },
EventEntry { event_type: "workspace.payment_failed", family: "workspace", stability: "stable", required_plan: None },
EventEntry { event_type: "workspace.usage_limit_warning", family: "workspace", stability: "stable", required_plan: None },
EventEntry { event_type: "workspace.usage_limit_reached", family: "workspace", stability: "stable", required_plan: None },
EventEntry { event_type: "member.invited", family: "member", stability: "stable", required_plan: None },
EventEntry { event_type: "member.accepted", family: "member", stability: "stable", required_plan: None },
EventEntry { event_type: "member.removed", family: "member", stability: "stable", required_plan: None },
EventEntry { event_type: "api_key.created", family: "api_key", stability: "stable", required_plan: None },
EventEntry { event_type: "api_key.revoked", family: "api_key", stability: "stable", required_plan: None },
EventEntry { event_type: "api_key.rotated", family: "api_key", stability: "stable", required_plan: None },
EventEntry { event_type: "api_key.expired", family: "api_key", stability: "stable", required_plan: None },
EventEntry { event_type: "api_key.suspicious_usage", family: "api_key", stability: "beta", required_plan: Some("ultra") },
EventEntry { event_type: "api_token.created", family: "api_token", stability: "stable", required_plan: None },
EventEntry { event_type: "api_token.used", family: "api_token", stability: "beta", required_plan: None },
EventEntry { event_type: "api_token.expired", family: "api_token", stability: "stable", required_plan: None },
EventEntry { event_type: "webhook.delivery_failed_final", family: "webhook", stability: "stable", required_plan: None },
EventEntry { event_type: "webhook.endpoint_disabled", family: "webhook", stability: "stable", required_plan: None },
EventEntry { event_type: "scim.user_provisioned", family: "scim", stability: "stable", required_plan: Some("enterprise") },
EventEntry { event_type: "scim.user_deprovisioned", family: "scim", stability: "stable", required_plan: Some("enterprise") },
EventEntry { event_type: "saml.login_succeeded", family: "saml", stability: "stable", required_plan: Some("enterprise") },
EventEntry { event_type: "saml.login_failed", family: "saml", stability: "stable", required_plan: Some("enterprise") },
EventEntry { event_type: "audit.exported", family: "audit", stability: "stable", required_plan: None },
EventEntry { event_type: "audit.policy_violated", family: "audit", stability: "beta", required_plan: Some("ultra") },
EventEntry { event_type: "gdpr.deletion_requested", family: "gdpr", stability: "stable", required_plan: Some("pro") },
EventEntry { event_type: "gdpr.export_requested", family: "gdpr", stability: "stable", required_plan: Some("pro") },
EventEntry { event_type: "ping", family: "system", stability: "stable", required_plan: None },
];