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();
}
}