using FrameworkDAL.DTO.EIPConversation; using System.Collections.Generic; namespace FrameworkDAL.DTO.MessageHub.MessageHubGenerator { /// /// Root settings for all MessageHub platforms. /// Loaded from appsettings.json via IOptions{MessageHubSettings} /// public class MessageHubSettings { public CelitixSettings Celitix { get; set; } = new(); public TelegramSettings Telegram { get; set; } = new(); public WhatsAppSettings WhatsApp { get; set; } = new(); public TeamsSettings Teams { get; set; } = new(); public SlackSettings Slack { get; set; } = new(); public Dictionary WhatsAppTemplates { get; set; } = new(); } #region Platform Settings public class TelegramSettings { public string BotToken { get; set; } = string.Empty; public string BaseUrl { get; set; } = "https://api.telegram.org"; public string? DefaultRecipient { get; set; } } public class WhatsAppSettings { public string AuthToken { get; set; } = string.Empty; public string PhoneNumberId { get; set; } = string.Empty; public string DefaultTemplateName { get; set; } = string.Empty; public string DefaultLanguageCode { get; set; } = "en_US"; } public class TeamsSettings { public string WebhookUrl { get; set; } = string.Empty; } public class SlackSettings { public string WebhookUrl { get; set; } = string.Empty; public string DefaultChannel { get; set; } = "#general"; public string DefaultUserName { get; set; } = "MessageHubBot"; public string DefaultIconEmoji { get; set; } = ":robot_face:"; } #endregion public class WhatsAppTemplateConfig { public string TemplateName { get; set; } = string.Empty; public string? LanguageCode { get; set; } public List ParameterKeys { get; set; } = new List(); } }