Files
Finlytic/FinlyticNotify/Settings/NotifySettingKeys.cs
T

38 lines
2.3 KiB
C#

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