using FinlyticCore.Models.Settings;
namespace FinlyticNotify.Settings;
///
/// Definition of all typed dynamic configuration keys and standard settings for FinlyticNotify.
///
public static class NotifySettingKeys
{
// --- Logging Channels ---
public static readonly SettingKey NotifyChannel = new("Logging.Channel.Notify", true);
public static readonly SettingKey NotificationDeliveryChannel = new("Logging.Channel.NotificationDelivery", true);
public static readonly SettingKey HealthPingChannel = new("Logging.Channel.Health", true);
public static readonly SettingKey MqttChannel = new("Logging.Channel.MQTT", true);
// --- ntfy Server & Topic Configuration ---
public static readonly SettingKey NtfyBaseUrl = new("Ntfy.BaseUrl", "http://localhost:8080");
public static readonly SettingKey NtfyTopicPrefix = new("Ntfy.TopicPrefix", "finlytic");
public static readonly SettingKey NtfyBroadcastChannel = new("Ntfy.BroadcastChannel", "broadcast");
public static readonly SettingKey NtfyNewsChannel = new("Ntfy.NewsChannel", "news");
public static readonly SettingKey NtfyDefaultUsername = new("Ntfy.DefaultUsername", "admin");
// --- Authentication (Optional for secured/private ntfy instances) ---
public static readonly SettingKey NtfyAuthToken = new("Ntfy.AuthToken", "");
public static readonly SettingKey NtfyUsername = new("Ntfy.Username", "");
public static readonly SettingKey NtfyPassword = new("Ntfy.Password", "");
// --- Notification Filters & Toggles ---
public static readonly SettingKey NtfyMinProposalScore = new("Ntfy.MinProposalScore", 70.0m);
public static readonly SettingKey NotifyOnProposals = new("Ntfy.NotifyOnProposals", true);
public static readonly SettingKey NotifyOnTradeUpdates = new("Ntfy.NotifyOnTradeUpdates", true);
public static readonly SettingKey NotifyOnBotTrades = new("Ntfy.NotifyOnBotTrades", true);
public static readonly SettingKey NotifyOnNews = new("Ntfy.NotifyOnNews", true);
// --- Click URL & Frontend Integration ---
public static readonly SettingKey ClickBaseUrl = new("Ntfy.ClickBaseUrl", "http://localhost:3000");
}