Newsbot.Collector/Newsbot.Collector.Domain/Models/Config.cs

57 lines
1.5 KiB
C#

using Newsbot.Collector.Domain.Models.Config;
namespace Newsbot.Collector.Domain.Models;
public class ConfigModel
{
public ConnectionStrings? ConnectionStrings { get; set; }
public RedditConfig? Reddit { get; set; }
public YoutubeConfig? Youtube { get; set; }
public TwitchConfig? Twitch { get; set; }
public BasicSourceConfig? FinalFantasyXiv { get; set; }
public BasicSourceConfig? Rss { get; set; }
public BasicSourceConfig? CodeProjects { get; set; }
public NotificationsConfig? Notifications { get; set; }
public bool EnableSwagger { get; set; }
public bool RunDatabaseMigrationsOnStartup { get; set; }
public List<string>? ApiKeys { get; set; }
public JwtSettings? JwtSettings { get; set; }
}
public class RedditConfig
{
public bool IsEnabled { get; set; }
public bool PullHot { get; set; }
public bool PullNsfw { get; set; }
public bool PullTop { get; set; }
}
public class ConnectionStrings
{
public string? Database { get; set; }
public string? OpenTelemetry { get; set; }
}
public class BasicSourceConfig
{
public bool IsEnabled { get; set; }
}
public class YoutubeConfig
{
public bool IsEnabled { get; set; }
public bool Debug { get; set; }
}
public class TwitchConfig
{
public bool IsEnabled { get; set; }
public string? ClientId { get; set; }
public string? ClientSecret { get; set; }
}
public class NotificationsConfig
{
public BasicSourceConfig? Discord { get; set; }
}