using System.Text.Json.Serialization; namespace StellaOps.Notify.Models; /// /// Supported Notify channel types. /// [JsonConverter(typeof(JsonStringEnumConverter))] public enum NotifyChannelType { Slack, Teams, Email, Webhook, Custom, PagerDuty, OpsGenie, Cli, InAppInbox, InApp, } /// /// Delivery lifecycle states tracked for audit and retries. /// [JsonConverter(typeof(JsonStringEnumConverter))] public enum NotifyDeliveryStatus { Pending, Queued, Sending, Delivered, Sent, Failed, Throttled, Digested, Dropped, } /// /// Individual attempt status recorded during delivery retries. /// [JsonConverter(typeof(JsonStringEnumConverter))] public enum NotifyDeliveryAttemptStatus { Enqueued, Sending, Succeeded, Success = Succeeded, Failed, Throttled, Skipped, } /// /// Rendering modes for templates to help connectors decide format handling. /// [JsonConverter(typeof(JsonStringEnumConverter))] public enum NotifyTemplateRenderMode { Markdown, Html, AdaptiveCard, PlainText, Json, } /// /// Structured representation of rendered payload format. /// [JsonConverter(typeof(JsonStringEnumConverter))] public enum NotifyDeliveryFormat { Markdown, Html, PlainText, Slack, Teams, Email, Webhook, Json, PagerDuty, OpsGenie, Cli, InAppInbox, }