Add separate Jellyfin server type

Due to forthcoming changes to the Jellyfin API, this adds support for
Jellyfin as server type completely independent from Emby. It also undoes
the workarounds that treated Jellyfin as a subset of Emby.
This commit is contained in:
Joshua M. Boniface 2020-12-10 01:33:55 -05:00
parent ce39f205f3
commit 9fe644f3db
116 changed files with 3672 additions and 103 deletions

View file

@ -0,0 +1,22 @@
using System.Collections.Generic;
using Ombi.Settings.Settings.Models.External;
namespace Ombi.Core.Settings.Models.External
{
public sealed class JellyfinSettings : Ombi.Settings.Settings.Models.Settings
{
public bool Enable { get; set; }
public bool IsJellyfin { get; set; }
public List<JellyfinServers> Servers { get; set; } = new List<JellyfinServers>();
}
public class JellyfinServers : ExternalSettings
{
public string ServerId { get; set; }
public string Name { get; set; }
public string ApiKey { get; set; }
public string AdministratorId { get; set; }
public string ServerHostname { get; set; }
public bool EnableEpisodeSearching { get; set; }
}
}

View file

@ -3,6 +3,7 @@
public class JobSettings : Settings
{
public string EmbyContentSync { get; set; }
public string JellyfinContentSync { get; set; }
public string SonarrSync { get; set; }
public string RadarrSync { get; set; }
public string PlexContentSync { get; set; }
@ -18,4 +19,4 @@
public string MediaDatabaseRefresh { get; set; }
public string AutoDeleteRequests { get; set; }
}
}
}

View file

@ -21,6 +21,11 @@ namespace Ombi.Settings.Settings.Models
return ValidateCron(Get(s.EmbyContentSync, Cron.Hourly(5)));
}
public static string JellyfinContent(JobSettings s)
{
return ValidateCron(Get(s.JellyfinContentSync, Cron.Hourly(5)));
}
public static string PlexContent(JobSettings s)
{
return ValidateCron(Get(s.PlexContentSync, Cron.Daily(2)));
@ -97,4 +102,4 @@ namespace Ombi.Settings.Settings.Models
return _defaultCron;
}
}
}
}

View file

@ -7,10 +7,12 @@ namespace Ombi.Settings.Settings.Models
public bool ImportPlexAdmin { get; set; }
public bool ImportPlexUsers { get; set; }
public bool ImportEmbyUsers { get; set; }
public bool ImportJellyfinUsers { get; set; }
public int MovieRequestLimit { get; set; }
public int EpisodeRequestLimit { get; set; }
public List<string> DefaultRoles { get; set; } = new List<string>();
public List<string> BannedPlexUserIds { get; set; } = new List<string>();
public List<string> BannedEmbyUserIds { get; set; } = new List<string>();
public List<string> BannedJellyfinUserIds { get; set; } = new List<string>();
}
}
}