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