Fixed a bunch of jellyfin issues

This commit is contained in:
tidusjar 2021-01-03 21:22:52 +00:00
parent 14c6170455
commit 6a062d5c40
12 changed files with 214 additions and 174 deletions

View file

@ -287,6 +287,7 @@ namespace Ombi.Core.Engine.V2
mapped.Requested = viewMovie.Requested;
mapped.PlexUrl = viewMovie.PlexUrl;
mapped.EmbyUrl = viewMovie.EmbyUrl;
mapped.JellyfinUrl = viewMovie.JellyfinUrl;
mapped.Subscribed = viewMovie.Subscribed;
mapped.ShowSubscribe = viewMovie.ShowSubscribe;

View file

@ -74,7 +74,8 @@ namespace Ombi.Core.Rule.Rules.Search
}
else
{
obj.JellyfinUrl = JellyfinHelper.GetJellyfinMediaUrl(item.JellyfinId, server?.ServerId, null);
var firstServer = s.Servers?.FirstOrDefault();
obj.JellyfinUrl = JellyfinHelper.GetJellyfinMediaUrl(item.JellyfinId, firstServer.ServerId, firstServer.FullUri);
}
}

View file

@ -11,5 +11,8 @@
public string StoragePath { get; set; }
public string SecurityKey { get; set; }
#if DEBUG
= "test";
#endif
}
}

View file

@ -224,7 +224,7 @@ namespace Ombi.Schedule.Jobs.Ombi
if (!hasImdb)
{
var id = await GetImdbId(hasTheMovieDb, hasTvDbId, show.Title, show.TheMovieDbId, show.TvDbId);
var id = await GetImdbId(hasTheMovieDb, hasTvDbId, show.Title, show.TheMovieDbId, show.TvDbId, RequestType.TvShow);
show.ImdbId = id;
_jellyfinRepo.UpdateWithoutSave(show);
}
@ -364,7 +364,7 @@ namespace Ombi.Schedule.Jobs.Ombi
if (!movie.HasImdb)
{
var imdbId = await GetImdbId(movie.HasTheMovieDb, false, movie.Title, movie.TheMovieDbId, string.Empty);
var imdbId = await GetImdbId(movie.HasTheMovieDb, false, movie.Title, movie.TheMovieDbId, string.Empty, RequestType.Movie);
movie.ImdbId = imdbId;
_jellyfinRepo.UpdateWithoutSave(movie);
}

View file

@ -9,23 +9,24 @@ using Ombi.Store.Context.MySql;
namespace Ombi.Store.Migrations.ExternalMySql
{
[DbContext(typeof(ExternalMySqlContext))]
[Migration("20201212014227_Jellyfin")]
[Migration("20210103205509_Jellyfin")]
partial class Jellyfin
{
protected override void BuildTargetModel(ModelBuilder modelBuilder)
{
#pragma warning disable 612, 618
modelBuilder
.HasAnnotation("Relational:MaxIdentifierLength", 64)
.HasAnnotation("ProductVersion", "5.0.1");
modelBuilder.Entity("Ombi.Store.Entities.CouchPotatoCache", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("INTEGER");
.HasColumnType("int");
b.Property<int>("TheMovieDbId")
.HasColumnType("INTEGER");
.HasColumnType("int");
b.HasKey("Id");
@ -36,35 +37,35 @@ namespace Ombi.Store.Migrations.ExternalMySql
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("INTEGER");
.HasColumnType("int");
b.Property<DateTime>("AddedAt")
.HasColumnType("TEXT");
.HasColumnType("datetime(6)");
b.Property<string>("EmbyId")
.IsRequired()
.HasColumnType("TEXT");
.HasColumnType("varchar(255)");
b.Property<string>("ImdbId")
.HasColumnType("TEXT");
.HasColumnType("longtext");
b.Property<string>("ProviderId")
.HasColumnType("TEXT");
.HasColumnType("longtext");
b.Property<string>("TheMovieDbId")
.HasColumnType("TEXT");
.HasColumnType("longtext");
b.Property<string>("Title")
.HasColumnType("TEXT");
.HasColumnType("longtext");
b.Property<string>("TvDbId")
.HasColumnType("TEXT");
.HasColumnType("longtext");
b.Property<int>("Type")
.HasColumnType("INTEGER");
.HasColumnType("int");
b.Property<string>("Url")
.HasColumnType("TEXT");
.HasColumnType("longtext");
b.HasKey("Id");
@ -75,37 +76,37 @@ namespace Ombi.Store.Migrations.ExternalMySql
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("INTEGER");
.HasColumnType("int");
b.Property<DateTime>("AddedAt")
.HasColumnType("TEXT");
.HasColumnType("datetime(6)");
b.Property<string>("EmbyId")
.HasColumnType("TEXT");
.HasColumnType("longtext");
b.Property<int>("EpisodeNumber")
.HasColumnType("INTEGER");
.HasColumnType("int");
b.Property<string>("ImdbId")
.HasColumnType("TEXT");
.HasColumnType("longtext");
b.Property<string>("ParentId")
.HasColumnType("TEXT");
.HasColumnType("varchar(255)");
b.Property<string>("ProviderId")
.HasColumnType("TEXT");
.HasColumnType("longtext");
b.Property<int>("SeasonNumber")
.HasColumnType("INTEGER");
.HasColumnType("int");
b.Property<string>("TheMovieDbId")
.HasColumnType("TEXT");
.HasColumnType("longtext");
b.Property<string>("Title")
.HasColumnType("TEXT");
.HasColumnType("longtext");
b.Property<string>("TvDbId")
.HasColumnType("TEXT");
.HasColumnType("longtext");
b.HasKey("Id");
@ -118,35 +119,35 @@ namespace Ombi.Store.Migrations.ExternalMySql
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("INTEGER");
.HasColumnType("int");
b.Property<DateTime>("AddedAt")
.HasColumnType("TEXT");
.HasColumnType("datetime(6)");
b.Property<string>("ImdbId")
.HasColumnType("TEXT");
.HasColumnType("longtext");
b.Property<string>("JellyfinId")
.IsRequired()
.HasColumnType("TEXT");
.HasColumnType("varchar(255)");
b.Property<string>("ProviderId")
.HasColumnType("TEXT");
.HasColumnType("longtext");
b.Property<string>("TheMovieDbId")
.HasColumnType("TEXT");
.HasColumnType("longtext");
b.Property<string>("Title")
.HasColumnType("TEXT");
.HasColumnType("longtext");
b.Property<string>("TvDbId")
.HasColumnType("TEXT");
.HasColumnType("longtext");
b.Property<int>("Type")
.HasColumnType("INTEGER");
.HasColumnType("int");
b.Property<string>("Url")
.HasColumnType("TEXT");
.HasColumnType("longtext");
b.HasKey("Id");
@ -157,37 +158,37 @@ namespace Ombi.Store.Migrations.ExternalMySql
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("INTEGER");
.HasColumnType("int");
b.Property<DateTime>("AddedAt")
.HasColumnType("TEXT");
.HasColumnType("datetime(6)");
b.Property<int>("EpisodeNumber")
.HasColumnType("INTEGER");
.HasColumnType("int");
b.Property<string>("ImdbId")
.HasColumnType("TEXT");
.HasColumnType("longtext");
b.Property<string>("JellyfinId")
.HasColumnType("TEXT");
.HasColumnType("longtext");
b.Property<string>("ParentId")
.HasColumnType("TEXT");
.HasColumnType("varchar(255)");
b.Property<string>("ProviderId")
.HasColumnType("TEXT");
.HasColumnType("longtext");
b.Property<int>("SeasonNumber")
.HasColumnType("INTEGER");
.HasColumnType("int");
b.Property<string>("TheMovieDbId")
.HasColumnType("TEXT");
.HasColumnType("longtext");
b.Property<string>("Title")
.HasColumnType("TEXT");
.HasColumnType("longtext");
b.Property<string>("TvDbId")
.HasColumnType("TEXT");
.HasColumnType("longtext");
b.HasKey("Id");
@ -200,31 +201,31 @@ namespace Ombi.Store.Migrations.ExternalMySql
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("INTEGER");
.HasColumnType("int");
b.Property<DateTime>("AddedAt")
.HasColumnType("TEXT");
.HasColumnType("datetime(6)");
b.Property<int>("ArtistId")
.HasColumnType("INTEGER");
.HasColumnType("int");
b.Property<string>("ForeignAlbumId")
.HasColumnType("TEXT");
.HasColumnType("longtext");
b.Property<bool>("Monitored")
.HasColumnType("INTEGER");
.HasColumnType("tinyint(1)");
b.Property<decimal>("PercentOfTracks")
.HasColumnType("TEXT");
.HasColumnType("decimal(65,30)");
b.Property<DateTime>("ReleaseDate")
.HasColumnType("TEXT");
.HasColumnType("datetime(6)");
b.Property<string>("Title")
.HasColumnType("TEXT");
.HasColumnType("longtext");
b.Property<int>("TrackCount")
.HasColumnType("INTEGER");
.HasColumnType("int");
b.HasKey("Id");
@ -235,19 +236,19 @@ namespace Ombi.Store.Migrations.ExternalMySql
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("INTEGER");
.HasColumnType("int");
b.Property<int>("ArtistId")
.HasColumnType("INTEGER");
.HasColumnType("int");
b.Property<string>("ArtistName")
.HasColumnType("TEXT");
.HasColumnType("longtext");
b.Property<string>("ForeignArtistId")
.HasColumnType("TEXT");
.HasColumnType("longtext");
b.Property<bool>("Monitored")
.HasColumnType("INTEGER");
.HasColumnType("tinyint(1)");
b.HasKey("Id");
@ -258,25 +259,25 @@ namespace Ombi.Store.Migrations.ExternalMySql
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("INTEGER");
.HasColumnType("int");
b.Property<int>("EpisodeNumber")
.HasColumnType("INTEGER");
.HasColumnType("int");
b.Property<int>("GrandparentKey")
.HasColumnType("INTEGER");
.HasColumnType("int");
b.Property<int>("Key")
.HasColumnType("INTEGER");
.HasColumnType("int");
b.Property<int>("ParentKey")
.HasColumnType("INTEGER");
.HasColumnType("int");
b.Property<int>("SeasonNumber")
.HasColumnType("INTEGER");
.HasColumnType("int");
b.Property<string>("Title")
.HasColumnType("TEXT");
.HasColumnType("longtext");
b.HasKey("Id");
@ -289,22 +290,22 @@ namespace Ombi.Store.Migrations.ExternalMySql
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("INTEGER");
.HasColumnType("int");
b.Property<int>("ParentKey")
.HasColumnType("INTEGER");
.HasColumnType("int");
b.Property<int>("PlexContentId")
.HasColumnType("INTEGER");
.HasColumnType("int");
b.Property<int?>("PlexServerContentId")
.HasColumnType("INTEGER");
.HasColumnType("int");
b.Property<int>("SeasonKey")
.HasColumnType("INTEGER");
.HasColumnType("int");
b.Property<int>("SeasonNumber")
.HasColumnType("INTEGER");
.HasColumnType("int");
b.HasKey("Id");
@ -317,40 +318,40 @@ namespace Ombi.Store.Migrations.ExternalMySql
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("INTEGER");
.HasColumnType("int");
b.Property<DateTime>("AddedAt")
.HasColumnType("TEXT");
.HasColumnType("datetime(6)");
b.Property<string>("ImdbId")
.HasColumnType("TEXT");
.HasColumnType("longtext");
b.Property<int>("Key")
.HasColumnType("INTEGER");
.HasColumnType("int");
b.Property<string>("Quality")
.HasColumnType("TEXT");
.HasColumnType("longtext");
b.Property<string>("ReleaseYear")
.HasColumnType("TEXT");
.HasColumnType("longtext");
b.Property<int?>("RequestId")
.HasColumnType("INTEGER");
.HasColumnType("int");
b.Property<string>("TheMovieDbId")
.HasColumnType("TEXT");
.HasColumnType("longtext");
b.Property<string>("Title")
.HasColumnType("TEXT");
.HasColumnType("longtext");
b.Property<string>("TvDbId")
.HasColumnType("TEXT");
.HasColumnType("longtext");
b.Property<int>("Type")
.HasColumnType("INTEGER");
.HasColumnType("int");
b.Property<string>("Url")
.HasColumnType("TEXT");
.HasColumnType("longtext");
b.HasKey("Id");
@ -361,13 +362,13 @@ namespace Ombi.Store.Migrations.ExternalMySql
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("INTEGER");
.HasColumnType("int");
b.Property<bool>("HasFile")
.HasColumnType("INTEGER");
.HasColumnType("tinyint(1)");
b.Property<int>("TheMovieDbId")
.HasColumnType("INTEGER");
.HasColumnType("int");
b.HasKey("Id");
@ -378,10 +379,10 @@ namespace Ombi.Store.Migrations.ExternalMySql
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("INTEGER");
.HasColumnType("int");
b.Property<int>("TvDbId")
.HasColumnType("INTEGER");
.HasColumnType("int");
b.HasKey("Id");
@ -392,16 +393,16 @@ namespace Ombi.Store.Migrations.ExternalMySql
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("INTEGER");
.HasColumnType("int");
b.Property<int>("EpisodeNumber")
.HasColumnType("INTEGER");
.HasColumnType("int");
b.Property<int>("SeasonNumber")
.HasColumnType("INTEGER");
.HasColumnType("int");
b.Property<int>("TvDbId")
.HasColumnType("INTEGER");
.HasColumnType("int");
b.HasKey("Id");
@ -412,10 +413,10 @@ namespace Ombi.Store.Migrations.ExternalMySql
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("INTEGER");
.HasColumnType("int");
b.Property<int>("TvDbId")
.HasColumnType("INTEGER");
.HasColumnType("int");
b.HasKey("Id");
@ -426,19 +427,19 @@ namespace Ombi.Store.Migrations.ExternalMySql
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("INTEGER");
.HasColumnType("int");
b.Property<int>("EpisodeNumber")
.HasColumnType("INTEGER");
.HasColumnType("int");
b.Property<bool>("HasFile")
.HasColumnType("INTEGER");
.HasColumnType("tinyint(1)");
b.Property<int>("SeasonNumber")
.HasColumnType("INTEGER");
.HasColumnType("int");
b.Property<int>("TvDbId")
.HasColumnType("INTEGER");
.HasColumnType("int");
b.HasKey("Id");

View file

@ -12,17 +12,17 @@ namespace Ombi.Store.Migrations.ExternalMySql
name: "JellyfinContent",
columns: table => new
{
Id = table.Column<int>(nullable: false)
Id = table.Column<int>(type: "int", nullable: false)
.Annotation("MySql:ValueGenerationStrategy", MySqlValueGenerationStrategy.IdentityColumn),
Title = table.Column<string>(nullable: true),
ProviderId = table.Column<string>(nullable: true),
JellyfinId = table.Column<string>(nullable: false),
Type = table.Column<int>(nullable: false),
AddedAt = table.Column<DateTime>(nullable: false),
ImdbId = table.Column<string>(nullable: true),
TheMovieDbId = table.Column<string>(nullable: true),
TvDbId = table.Column<string>(nullable: true),
Url = table.Column<string>(nullable: true)
Title = table.Column<string>(type: "longtext", nullable: true),
ProviderId = table.Column<string>(type: "longtext", nullable: true),
JellyfinId = table.Column<string>(type: "varchar(255)", nullable: false),
Type = table.Column<int>(type: "int", nullable: false),
AddedAt = table.Column<DateTime>(type: "datetime(6)", nullable: false),
ImdbId = table.Column<string>(type: "longtext", nullable: true),
TheMovieDbId = table.Column<string>(type: "longtext", nullable: true),
TvDbId = table.Column<string>(type: "longtext", nullable: true),
Url = table.Column<string>(type: "longtext", nullable: true)
},
constraints: table =>
{
@ -34,18 +34,18 @@ namespace Ombi.Store.Migrations.ExternalMySql
name: "JellyfinEpisode",
columns: table => new
{
Id = table.Column<int>(nullable: false)
Id = table.Column<int>(type: "int", nullable: false)
.Annotation("MySql:ValueGenerationStrategy", MySqlValueGenerationStrategy.IdentityColumn),
Title = table.Column<string>(nullable: true),
JellyfinId = table.Column<string>(nullable: true),
EpisodeNumber = table.Column<int>(nullable: false),
SeasonNumber = table.Column<int>(nullable: false),
ParentId = table.Column<string>(nullable: true),
ProviderId = table.Column<string>(nullable: true),
AddedAt = table.Column<DateTime>(nullable: false),
TvDbId = table.Column<string>(nullable: true),
ImdbId = table.Column<string>(nullable: true),
TheMovieDbId = table.Column<string>(nullable: true)
Title = table.Column<string>(type: "longtext", nullable: true),
JellyfinId = table.Column<string>(type: "longtext", nullable: true),
EpisodeNumber = table.Column<int>(type: "int", nullable: false),
SeasonNumber = table.Column<int>(type: "int", nullable: false),
ParentId = table.Column<string>(type: "varchar(255)", nullable: true),
ProviderId = table.Column<string>(type: "longtext", nullable: true),
AddedAt = table.Column<DateTime>(type: "datetime(6)", nullable: false),
TvDbId = table.Column<string>(type: "longtext", nullable: true),
ImdbId = table.Column<string>(type: "longtext", nullable: true),
TheMovieDbId = table.Column<string>(type: "longtext", nullable: true)
},
constraints: table =>
{
@ -67,10 +67,10 @@ namespace Ombi.Store.Migrations.ExternalMySql
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropTable(
name: "JellyfinContent");
name: "JellyfinEpisode");
migrationBuilder.DropTable(
name: "JellyfinEpisode");
name: "JellyfinContent");
}
}
}

View file

@ -14,8 +14,8 @@ namespace Ombi.Store.Migrations.ExternalMySql
{
#pragma warning disable 612, 618
modelBuilder
.HasAnnotation("ProductVersion", "3.1.1")
.HasAnnotation("Relational:MaxIdentifierLength", 64);
.HasAnnotation("Relational:MaxIdentifierLength", 64)
.HasAnnotation("ProductVersion", "5.0.1");
modelBuilder.Entity("Ombi.Store.Entities.CouchPotatoCache", b =>
{
@ -42,28 +42,28 @@ namespace Ombi.Store.Migrations.ExternalMySql
b.Property<string>("EmbyId")
.IsRequired()
.HasColumnType("varchar(255) CHARACTER SET utf8mb4");
.HasColumnType("varchar(255)");
b.Property<string>("ImdbId")
.HasColumnType("longtext CHARACTER SET utf8mb4");
.HasColumnType("longtext");
b.Property<string>("ProviderId")
.HasColumnType("longtext CHARACTER SET utf8mb4");
.HasColumnType("longtext");
b.Property<string>("TheMovieDbId")
.HasColumnType("longtext CHARACTER SET utf8mb4");
.HasColumnType("longtext");
b.Property<string>("Title")
.HasColumnType("longtext CHARACTER SET utf8mb4");
.HasColumnType("longtext");
b.Property<string>("TvDbId")
.HasColumnType("longtext CHARACTER SET utf8mb4");
.HasColumnType("longtext");
b.Property<int>("Type")
.HasColumnType("int");
b.Property<string>("Url")
.HasColumnType("longtext CHARACTER SET utf8mb4");
.HasColumnType("longtext");
b.HasKey("Id");
@ -80,31 +80,31 @@ namespace Ombi.Store.Migrations.ExternalMySql
.HasColumnType("datetime(6)");
b.Property<string>("EmbyId")
.HasColumnType("longtext CHARACTER SET utf8mb4");
.HasColumnType("longtext");
b.Property<int>("EpisodeNumber")
.HasColumnType("int");
b.Property<string>("ImdbId")
.HasColumnType("longtext CHARACTER SET utf8mb4");
.HasColumnType("longtext");
b.Property<string>("ParentId")
.HasColumnType("varchar(255) CHARACTER SET utf8mb4");
.HasColumnType("varchar(255)");
b.Property<string>("ProviderId")
.HasColumnType("longtext CHARACTER SET utf8mb4");
.HasColumnType("longtext");
b.Property<int>("SeasonNumber")
.HasColumnType("int");
b.Property<string>("TheMovieDbId")
.HasColumnType("longtext CHARACTER SET utf8mb4");
.HasColumnType("longtext");
b.Property<string>("Title")
.HasColumnType("longtext CHARACTER SET utf8mb4");
.HasColumnType("longtext");
b.Property<string>("TvDbId")
.HasColumnType("longtext CHARACTER SET utf8mb4");
.HasColumnType("longtext");
b.HasKey("Id");
@ -123,29 +123,29 @@ namespace Ombi.Store.Migrations.ExternalMySql
.HasColumnType("datetime(6)");
b.Property<string>("ImdbId")
.HasColumnType("longtext CHARACTER SET utf8mb4");
.HasColumnType("longtext");
b.Property<string>("JellyfinId")
.IsRequired()
.HasColumnType("varchar(255) CHARACTER SET utf8mb4");
.HasColumnType("varchar(255)");
b.Property<string>("ProviderId")
.HasColumnType("longtext CHARACTER SET utf8mb4");
.HasColumnType("longtext");
b.Property<string>("TheMovieDbId")
.HasColumnType("longtext CHARACTER SET utf8mb4");
.HasColumnType("longtext");
b.Property<string>("Title")
.HasColumnType("longtext CHARACTER SET utf8mb4");
.HasColumnType("longtext");
b.Property<string>("TvDbId")
.HasColumnType("longtext CHARACTER SET utf8mb4");
.HasColumnType("longtext");
b.Property<int>("Type")
.HasColumnType("int");
b.Property<string>("Url")
.HasColumnType("longtext CHARACTER SET utf8mb4");
.HasColumnType("longtext");
b.HasKey("Id");
@ -159,34 +159,34 @@ namespace Ombi.Store.Migrations.ExternalMySql
.HasColumnType("int");
b.Property<DateTime>("AddedAt")
.HasColumnType("dateime(6)");
.HasColumnType("datetime(6)");
b.Property<int>("EpisodeNumber")
.HasColumnType("int");
b.Property<string>("ImdbId")
.HasColumnType("longtext CHARACTER SET utf8mb4");
.HasColumnType("longtext");
b.Property<string>("JellyfinId")
.HasColumnType("longtext CHARACTER SET utf8mb4");
.HasColumnType("longtext");
b.Property<string>("ParentId")
.HasColumnType("varchar(255) CHARACTER SET utf8mb4");
.HasColumnType("varchar(255)");
b.Property<string>("ProviderId")
.HasColumnType("longtext CHARACTER SET utf8mb4");
.HasColumnType("longtext");
b.Property<int>("SeasonNumber")
.HasColumnType("int");
b.Property<string>("TheMovieDbId")
.HasColumnType("longtext CHARACTER SET utf8mb4");
.HasColumnType("longtext");
b.Property<string>("Title")
.HasColumnType("longtext CHARACTER SET utf8mb4");
.HasColumnType("longtext");
b.Property<string>("TvDbId")
.HasColumnType("longtext CHARACTER SET utf8mb4");
.HasColumnType("longtext");
b.HasKey("Id");
@ -208,7 +208,7 @@ namespace Ombi.Store.Migrations.ExternalMySql
.HasColumnType("int");
b.Property<string>("ForeignAlbumId")
.HasColumnType("longtext CHARACTER SET utf8mb4");
.HasColumnType("longtext");
b.Property<bool>("Monitored")
.HasColumnType("tinyint(1)");
@ -220,7 +220,7 @@ namespace Ombi.Store.Migrations.ExternalMySql
.HasColumnType("datetime(6)");
b.Property<string>("Title")
.HasColumnType("longtext CHARACTER SET utf8mb4");
.HasColumnType("longtext");
b.Property<int>("TrackCount")
.HasColumnType("int");
@ -240,10 +240,10 @@ namespace Ombi.Store.Migrations.ExternalMySql
.HasColumnType("int");
b.Property<string>("ArtistName")
.HasColumnType("longtext CHARACTER SET utf8mb4");
.HasColumnType("longtext");
b.Property<string>("ForeignArtistId")
.HasColumnType("longtext CHARACTER SET utf8mb4");
.HasColumnType("longtext");
b.Property<bool>("Monitored")
.HasColumnType("tinyint(1)");
@ -275,7 +275,7 @@ namespace Ombi.Store.Migrations.ExternalMySql
.HasColumnType("int");
b.Property<string>("Title")
.HasColumnType("longtext CHARACTER SET utf8mb4");
.HasColumnType("longtext");
b.HasKey("Id");
@ -322,34 +322,34 @@ namespace Ombi.Store.Migrations.ExternalMySql
.HasColumnType("datetime(6)");
b.Property<string>("ImdbId")
.HasColumnType("longtext CHARACTER SET utf8mb4");
.HasColumnType("longtext");
b.Property<int>("Key")
.HasColumnType("int");
b.Property<string>("Quality")
.HasColumnType("longtext CHARACTER SET utf8mb4");
.HasColumnType("longtext");
b.Property<string>("ReleaseYear")
.HasColumnType("longtext CHARACTER SET utf8mb4");
.HasColumnType("longtext");
b.Property<int?>("RequestId")
.HasColumnType("int");
b.Property<string>("TheMovieDbId")
.HasColumnType("longtext CHARACTER SET utf8mb4");
.HasColumnType("longtext");
b.Property<string>("Title")
.HasColumnType("longtext CHARACTER SET utf8mb4");
.HasColumnType("longtext");
b.Property<string>("TvDbId")
.HasColumnType("longtext CHARACTER SET utf8mb4");
.HasColumnType("longtext");
b.Property<int>("Type")
.HasColumnType("int");
b.Property<string>("Url")
.HasColumnType("longtext CHARACTER SET utf8mb4");
.HasColumnType("longtext");
b.HasKey("Id");

View file

@ -39,7 +39,7 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Ombi.Schedule", "Ombi.Sched
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Ombi.Api.Emby", "Ombi.Api.Emby\Ombi.Api.Emby.csproj", "{08FF107D-31E1-470D-AF86-E09B015CEE06}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Ombi.Api.Jellyfin", "Ombi.Api.Jellyfin\Ombi.Api.Jellyfin.csproj", "{08FF107D-31E1-470D-AF86-E09B015CEE06}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Ombi.Api.Jellyfin", "Ombi.Api.Jellyfin\Ombi.Api.Jellyfin.csproj", "{F03757C7-5145-45C9-AFFF-B4E946755779}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Ombi.Api.Sonarr", "Ombi.Api.Sonarr\Ombi.Api.Sonarr.csproj", "{CFB5E008-D0D0-43C0-AA06-89E49D17F384}"
EndProject
@ -171,6 +171,10 @@ Global
{08FF107D-31E1-470D-AF86-E09B015CEE06}.Debug|Any CPU.Build.0 = Debug|Any CPU
{08FF107D-31E1-470D-AF86-E09B015CEE06}.Release|Any CPU.ActiveCfg = Release|Any CPU
{08FF107D-31E1-470D-AF86-E09B015CEE06}.Release|Any CPU.Build.0 = Release|Any CPU
{F03757C7-5145-45C9-AFFF-B4E946755779}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{F03757C7-5145-45C9-AFFF-B4E946755779}.Debug|Any CPU.Build.0 = Debug|Any CPU
{F03757C7-5145-45C9-AFFF-B4E946755779}.Release|Any CPU.ActiveCfg = Release|Any CPU
{F03757C7-5145-45C9-AFFF-B4E946755779}.Release|Any CPU.Build.0 = Release|Any CPU
{CFB5E008-D0D0-43C0-AA06-89E49D17F384}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{CFB5E008-D0D0-43C0-AA06-89E49D17F384}.Debug|Any CPU.Build.0 = Debug|Any CPU
{CFB5E008-D0D0-43C0-AA06-89E49D17F384}.Release|Any CPU.ActiveCfg = Release|Any CPU

View file

@ -24,9 +24,9 @@
Season {{season.seasonNumber}}</mat-checkbox>
<span *ngIf="season.seasonAvailable">Season {{season.seasonNumber}}</span>
</mat-panel-title>
<mat-panel-description>
<!-- <mat-panel-description>
Description
</mat-panel-description>
</mat-panel-description> -->
</mat-expansion-panel-header>
<div class="row" *ngFor="let ep of season.episodes">

View file

@ -6,6 +6,7 @@ using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.Logging;
using Ombi.Api.CouchPotato;
using Ombi.Api.Emby;
using Ombi.Api.Jellyfin;
using Ombi.Api.Lidarr;
using Ombi.Api.Plex;
using Ombi.Api.Radarr;
@ -37,6 +38,7 @@ namespace Ombi.Controllers.V1.External
[Produces("application/json")]
public class TesterController : Controller
{
/// <summary>
/// Initializes a new instance of the <see cref="TesterController" /> class.
/// </summary>
@ -44,7 +46,8 @@ namespace Ombi.Controllers.V1.External
IPushbulletNotification pushbullet, ISlackNotification slack, IPushoverNotification po, IMattermostNotification mm,
IPlexApi plex, IEmbyApiFactory emby, IRadarrApi radarr, ISonarrApi sonarr, ILogger<TesterController> log, IEmailProvider provider,
ICouchPotatoApi cpApi, ITelegramNotification telegram, ISickRageApi srApi, INewsletterJob newsletter, ILegacyMobileNotification mobileNotification,
ILidarrApi lidarrApi, IGotifyNotification gotifyNotification, IWhatsAppApi whatsAppApi, OmbiUserManager um, IWebhookNotification webhookNotification)
ILidarrApi lidarrApi, IGotifyNotification gotifyNotification, IWhatsAppApi whatsAppApi, OmbiUserManager um, IWebhookNotification webhookNotification,
IJellyfinApi jellyfinApi)
{
Service = service;
DiscordNotification = notification;
@ -69,6 +72,7 @@ namespace Ombi.Controllers.V1.External
WhatsAppApi = whatsAppApi;
UserManager = um;
WebhookNotification = webhookNotification;
_jellyfinApi = jellyfinApi;
}
private INotificationService Service { get; }
@ -93,7 +97,8 @@ namespace Ombi.Controllers.V1.External
private ILegacyMobileNotification MobileNotification { get; }
private ILidarrApi LidarrApi { get; }
private IWhatsAppApi WhatsAppApi { get; }
private OmbiUserManager UserManager {get;}
private OmbiUserManager UserManager {get; }
private readonly IJellyfinApi _jellyfinApi;
/// <summary>
/// Sends a test message to discord using the provided settings
@ -333,6 +338,26 @@ namespace Ombi.Controllers.V1.External
}
}
/// <summary>
/// Checks if we can connect to Jellyfin with the provided settings
/// </summary>
/// <param name="settings"></param>
/// <returns></returns>
[HttpPost("jellyfin")]
public async Task<bool> Jellyfin([FromBody] JellyfinServers settings)
{
try
{
var result = await _jellyfinApi.GetUsers(settings.FullUri, settings.ApiKey);
return result.Any();
}
catch (Exception e)
{
Log.LogError(LoggingEvents.Api, e, "Could not test Jellyfin");
return false;
}
}
/// <summary>
/// Checks if we can connect to Radarr with the provided settings
/// </summary>

View file

@ -53,6 +53,10 @@
<PackageReference Include="AutoMapper" Version="10.0.0" />
<PackageReference Include="CommandLineParser" Version="2.6.0" />
<PackageReference Include="Microsoft.AspNetCore.Authentication.JwtBearer" Version="5.0.0" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="5.0.1">
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
<PrivateAssets>all</PrivateAssets>
</PackageReference>
<PackageReference Include="Microsoft.Extensions.Configuration.CommandLine" Version="5.0.0" />
<PackageReference Include="Microsoft.Extensions.Logging.Debug" Version="5.0.0" />

View file

@ -92,6 +92,7 @@
"TheatricalRelease": "Theatrical Release: {{date}}",
"ViewOnPlex": "View On Plex",
"ViewOnEmby": "View On Emby",
"ViewOnJellyfin": "View On Jellyfin",
"RequestAdded": "Request for {{title}} has been added successfully",
"Similar": "Similar",
"Refine": "Refine",