mirror of
https://github.com/SoPat712/allstarr.git
synced 2026-02-09 23:55:10 -05:00
51 lines
2.0 KiB
C#
51 lines
2.0 KiB
C#
namespace allstarr.Models.Settings;
|
|
|
|
/// <summary>
|
|
/// Configuration for Spotify playlist injection feature.
|
|
/// Requires Jellyfin Spotify Import Plugin: https://github.com/Viperinius/jellyfin-plugin-spotify-import
|
|
/// Uses JellyfinSettings.Url and JellyfinSettings.ApiKey for API access.
|
|
/// </summary>
|
|
public class SpotifyImportSettings
|
|
{
|
|
/// <summary>
|
|
/// Enable Spotify playlist injection feature
|
|
/// </summary>
|
|
public bool Enabled { get; set; }
|
|
|
|
/// <summary>
|
|
/// Hour when Spotify Import plugin runs (24-hour format, 0-23)
|
|
/// NOTE: This setting is now optional and only used for the sync window check.
|
|
/// The fetcher will search backwards from current time for the last 48 hours,
|
|
/// so timezone confusion is avoided.
|
|
/// </summary>
|
|
public int SyncStartHour { get; set; } = 16;
|
|
|
|
/// <summary>
|
|
/// Minute when Spotify Import plugin runs (0-59)
|
|
/// NOTE: This setting is now optional and only used for the sync window check.
|
|
/// </summary>
|
|
public int SyncStartMinute { get; set; } = 15;
|
|
|
|
/// <summary>
|
|
/// How many hours to search for missing tracks files after sync start time
|
|
/// This prevents the fetcher from running too frequently.
|
|
/// Set to 0 to disable the sync window check and always search on startup.
|
|
/// </summary>
|
|
public int SyncWindowHours { get; set; } = 2;
|
|
|
|
/// <summary>
|
|
/// Comma-separated list of Jellyfin playlist IDs to inject
|
|
/// Example: "4383a46d8bcac3be2ef9385053ea18df,ba50e26c867ec9d57ab2f7bf24cfd6b0"
|
|
/// Get IDs from Jellyfin playlist URLs
|
|
/// </summary>
|
|
public List<string> PlaylistIds { get; set; } = new();
|
|
|
|
/// <summary>
|
|
/// Comma-separated list of playlist names (must match Spotify Import plugin format)
|
|
/// Example: "Discover_Weekly,Release_Radar"
|
|
/// Must be in same order as PlaylistIds
|
|
/// Plugin replaces spaces with underscores in filenames
|
|
/// </summary>
|
|
public List<string> PlaylistNames { get; set; } = new();
|
|
}
|