using MediaBrowser.Model.Plugins;
namespace Jellyfin.Plugin.Jellypod.Configuration;
///
/// Plugin configuration for Jellypod.
///
public class PluginConfiguration : BasePluginConfiguration
{
///
/// Initializes a new instance of the class.
///
public PluginConfiguration()
{
PodcastStoragePath = string.Empty;
UpdateIntervalHours = 6;
GlobalAutoDownloadEnabled = true;
MaxConcurrentDownloads = 2;
MaxEpisodesPerPodcast = 50;
CreatePodcastFolders = true;
DownloadNewEpisodesOnly = true;
}
///
/// Gets or sets the path where podcasts will be stored.
/// Leave empty to use the default Jellyfin data path.
///
public string PodcastStoragePath { get; set; }
///
/// Gets or sets the update interval in hours for checking new episodes.
///
public int UpdateIntervalHours { get; set; }
///
/// Gets or sets a value indicating whether auto-download is enabled globally.
///
public bool GlobalAutoDownloadEnabled { get; set; }
///
/// Gets or sets the maximum number of concurrent downloads.
///
public int MaxConcurrentDownloads { get; set; }
///
/// Gets or sets the maximum episodes to keep per podcast (0 = unlimited).
///
public int MaxEpisodesPerPodcast { get; set; }
///
/// Gets or sets a value indicating whether to create subfolders for each podcast.
///
public bool CreatePodcastFolders { get; set; }
///
/// Gets or sets a value indicating whether to only download new episodes after subscription.
///
public bool DownloadNewEpisodesOnly { get; set; }
}