Duncan Tourolle 4679b77d1a
Some checks failed
🏗️ Build Plugin / call (push) Failing after 0s
📝 Create/Update Release Draft & Release Bump PR / call (push) Failing after 0s
🔬 Run CodeQL / call (push) Failing after 0s
🧪 Test Plugin / call (push) Failing after 0s
First POC with podcasts library
2025-12-13 23:57:58 +01:00

60 lines
1.8 KiB
C#

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