Interface improvements (#34)
* fix plex library synchronization * add basic plex movie synchronization * proxy plex movie thumbnails (posters) * add plex path replacements * use transcoded plex artwork * remove unsynchronized plex movies on save; queue plex library scan on save * log plex path replacements * prefer buttons instead of menus * lock plex libraries before sync * add movie to collection from paged view * fix plex import memory use; quick add seasons/shows * quick add episode to collection * add favicon * add search page * disable plex for now
This commit is contained in:
@@ -1,14 +1,14 @@
|
||||
// <auto-generated />
|
||||
|
||||
using System;
|
||||
using ErsatzTV.Infrastructure.Data;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Microsoft.EntityFrameworkCore.Infrastructure;
|
||||
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
|
||||
|
||||
namespace ErsatzTV.Infrastructure.Migrations
|
||||
{
|
||||
[DbContext(typeof(TvContext))]
|
||||
partial class TvContextModelSnapshot : ModelSnapshot
|
||||
internal class TvContextModelSnapshot : ModelSnapshot
|
||||
{
|
||||
protected override void BuildModel(ModelBuilder modelBuilder)
|
||||
{
|
||||
@@ -16,7 +16,9 @@ namespace ErsatzTV.Infrastructure.Migrations
|
||||
modelBuilder
|
||||
.HasAnnotation("ProductVersion", "5.0.3");
|
||||
|
||||
modelBuilder.Entity("ErsatzTV.Core.Domain.Artwork", b =>
|
||||
modelBuilder.Entity(
|
||||
"ErsatzTV.Core.Domain.Artwork",
|
||||
b =>
|
||||
{
|
||||
b.Property<int>("Id")
|
||||
.ValueGeneratedOnAdd()
|
||||
@@ -64,7 +66,9 @@ namespace ErsatzTV.Infrastructure.Migrations
|
||||
b.ToTable("Artwork");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("ErsatzTV.Core.Domain.Channel", b =>
|
||||
modelBuilder.Entity(
|
||||
"ErsatzTV.Core.Domain.Channel",
|
||||
b =>
|
||||
{
|
||||
b.Property<int>("Id")
|
||||
.ValueGeneratedOnAdd()
|
||||
@@ -95,7 +99,9 @@ namespace ErsatzTV.Infrastructure.Migrations
|
||||
b.ToTable("Channel");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("ErsatzTV.Core.Domain.Collection", b =>
|
||||
modelBuilder.Entity(
|
||||
"ErsatzTV.Core.Domain.Collection",
|
||||
b =>
|
||||
{
|
||||
b.Property<int>("Id")
|
||||
.ValueGeneratedOnAdd()
|
||||
@@ -109,7 +115,9 @@ namespace ErsatzTV.Infrastructure.Migrations
|
||||
b.ToTable("Collection");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("ErsatzTV.Core.Domain.CollectionItem", b =>
|
||||
modelBuilder.Entity(
|
||||
"ErsatzTV.Core.Domain.CollectionItem",
|
||||
b =>
|
||||
{
|
||||
b.Property<int>("CollectionId")
|
||||
.HasColumnType("INTEGER");
|
||||
@@ -124,7 +132,9 @@ namespace ErsatzTV.Infrastructure.Migrations
|
||||
b.ToTable("CollectionItem");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("ErsatzTV.Core.Domain.ConfigElement", b =>
|
||||
modelBuilder.Entity(
|
||||
"ErsatzTV.Core.Domain.ConfigElement",
|
||||
b =>
|
||||
{
|
||||
b.Property<int>("Id")
|
||||
.ValueGeneratedOnAdd()
|
||||
@@ -144,7 +154,9 @@ namespace ErsatzTV.Infrastructure.Migrations
|
||||
b.ToTable("ConfigElement");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("ErsatzTV.Core.Domain.EpisodeMetadata", b =>
|
||||
modelBuilder.Entity(
|
||||
"ErsatzTV.Core.Domain.EpisodeMetadata",
|
||||
b =>
|
||||
{
|
||||
b.Property<int>("Id")
|
||||
.ValueGeneratedOnAdd()
|
||||
@@ -193,7 +205,9 @@ namespace ErsatzTV.Infrastructure.Migrations
|
||||
b.ToTable("EpisodeMetadata");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("ErsatzTV.Core.Domain.FFmpegProfile", b =>
|
||||
modelBuilder.Entity(
|
||||
"ErsatzTV.Core.Domain.FFmpegProfile",
|
||||
b =>
|
||||
{
|
||||
b.Property<int>("Id")
|
||||
.ValueGeneratedOnAdd()
|
||||
@@ -257,7 +271,9 @@ namespace ErsatzTV.Infrastructure.Migrations
|
||||
b.ToTable("FFmpegProfile");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("ErsatzTV.Core.Domain.Library", b =>
|
||||
modelBuilder.Entity(
|
||||
"ErsatzTV.Core.Domain.Library",
|
||||
b =>
|
||||
{
|
||||
b.Property<int>("Id")
|
||||
.ValueGeneratedOnAdd()
|
||||
@@ -282,7 +298,9 @@ namespace ErsatzTV.Infrastructure.Migrations
|
||||
b.ToTable("Library");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("ErsatzTV.Core.Domain.LibraryPath", b =>
|
||||
modelBuilder.Entity(
|
||||
"ErsatzTV.Core.Domain.LibraryPath",
|
||||
b =>
|
||||
{
|
||||
b.Property<int>("Id")
|
||||
.ValueGeneratedOnAdd()
|
||||
@@ -301,7 +319,9 @@ namespace ErsatzTV.Infrastructure.Migrations
|
||||
b.ToTable("LibraryPath");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("ErsatzTV.Core.Domain.MediaFile", b =>
|
||||
modelBuilder.Entity(
|
||||
"ErsatzTV.Core.Domain.MediaFile",
|
||||
b =>
|
||||
{
|
||||
b.Property<int>("Id")
|
||||
.ValueGeneratedOnAdd()
|
||||
@@ -323,7 +343,9 @@ namespace ErsatzTV.Infrastructure.Migrations
|
||||
b.ToTable("MediaFile");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("ErsatzTV.Core.Domain.MediaItem", b =>
|
||||
modelBuilder.Entity(
|
||||
"ErsatzTV.Core.Domain.MediaItem",
|
||||
b =>
|
||||
{
|
||||
b.Property<int>("Id")
|
||||
.ValueGeneratedOnAdd()
|
||||
@@ -339,7 +361,9 @@ namespace ErsatzTV.Infrastructure.Migrations
|
||||
b.ToTable("MediaItem");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("ErsatzTV.Core.Domain.MediaSource", b =>
|
||||
modelBuilder.Entity(
|
||||
"ErsatzTV.Core.Domain.MediaSource",
|
||||
b =>
|
||||
{
|
||||
b.Property<int>("Id")
|
||||
.ValueGeneratedOnAdd()
|
||||
@@ -350,7 +374,9 @@ namespace ErsatzTV.Infrastructure.Migrations
|
||||
b.ToTable("MediaSource");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("ErsatzTV.Core.Domain.MediaVersion", b =>
|
||||
modelBuilder.Entity(
|
||||
"ErsatzTV.Core.Domain.MediaVersion",
|
||||
b =>
|
||||
{
|
||||
b.Property<int>("Id")
|
||||
.ValueGeneratedOnAdd()
|
||||
@@ -404,7 +430,9 @@ namespace ErsatzTV.Infrastructure.Migrations
|
||||
b.ToTable("MediaVersion");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("ErsatzTV.Core.Domain.MovieMetadata", b =>
|
||||
modelBuilder.Entity(
|
||||
"ErsatzTV.Core.Domain.MovieMetadata",
|
||||
b =>
|
||||
{
|
||||
b.Property<int>("Id")
|
||||
.ValueGeneratedOnAdd()
|
||||
@@ -453,7 +481,9 @@ namespace ErsatzTV.Infrastructure.Migrations
|
||||
b.ToTable("MovieMetadata");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("ErsatzTV.Core.Domain.Playout", b =>
|
||||
modelBuilder.Entity(
|
||||
"ErsatzTV.Core.Domain.Playout",
|
||||
b =>
|
||||
{
|
||||
b.Property<int>("Id")
|
||||
.ValueGeneratedOnAdd()
|
||||
@@ -477,7 +507,9 @@ namespace ErsatzTV.Infrastructure.Migrations
|
||||
b.ToTable("Playout");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("ErsatzTV.Core.Domain.PlayoutItem", b =>
|
||||
modelBuilder.Entity(
|
||||
"ErsatzTV.Core.Domain.PlayoutItem",
|
||||
b =>
|
||||
{
|
||||
b.Property<int>("Id")
|
||||
.ValueGeneratedOnAdd()
|
||||
@@ -504,7 +536,9 @@ namespace ErsatzTV.Infrastructure.Migrations
|
||||
b.ToTable("PlayoutItem");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("ErsatzTV.Core.Domain.PlayoutProgramScheduleAnchor", b =>
|
||||
modelBuilder.Entity(
|
||||
"ErsatzTV.Core.Domain.PlayoutProgramScheduleAnchor",
|
||||
b =>
|
||||
{
|
||||
b.Property<int>("Id")
|
||||
.ValueGeneratedOnAdd()
|
||||
@@ -538,7 +572,9 @@ namespace ErsatzTV.Infrastructure.Migrations
|
||||
b.ToTable("PlayoutProgramScheduleAnchor");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("ErsatzTV.Core.Domain.PlexConnection", b =>
|
||||
modelBuilder.Entity(
|
||||
"ErsatzTV.Core.Domain.PlexConnection",
|
||||
b =>
|
||||
{
|
||||
b.Property<int>("Id")
|
||||
.ValueGeneratedOnAdd()
|
||||
@@ -560,33 +596,33 @@ namespace ErsatzTV.Infrastructure.Migrations
|
||||
b.ToTable("PlexConnection");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("ErsatzTV.Core.Domain.PlexMediaItemPart", b =>
|
||||
modelBuilder.Entity(
|
||||
"ErsatzTV.Core.Domain.PlexPathReplacement",
|
||||
b =>
|
||||
{
|
||||
b.Property<int>("Id")
|
||||
.ValueGeneratedOnAdd()
|
||||
.HasColumnType("INTEGER");
|
||||
|
||||
b.Property<int>("Duration")
|
||||
.HasColumnType("INTEGER");
|
||||
|
||||
b.Property<string>("File")
|
||||
b.Property<string>("LocalPath")
|
||||
.HasColumnType("TEXT");
|
||||
|
||||
b.Property<string>("Key")
|
||||
b.Property<int>("PlexMediaSourceId")
|
||||
.HasColumnType("INTEGER");
|
||||
|
||||
b.Property<string>("PlexPath")
|
||||
.HasColumnType("TEXT");
|
||||
|
||||
b.Property<int>("PlexId")
|
||||
.HasColumnType("INTEGER");
|
||||
|
||||
b.Property<int>("Size")
|
||||
.HasColumnType("INTEGER");
|
||||
|
||||
b.HasKey("Id");
|
||||
|
||||
b.ToTable("PlexMediaItemPart");
|
||||
b.HasIndex("PlexMediaSourceId");
|
||||
|
||||
b.ToTable("PlexPathReplacement");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("ErsatzTV.Core.Domain.ProgramSchedule", b =>
|
||||
modelBuilder.Entity(
|
||||
"ErsatzTV.Core.Domain.ProgramSchedule",
|
||||
b =>
|
||||
{
|
||||
b.Property<int>("Id")
|
||||
.ValueGeneratedOnAdd()
|
||||
@@ -606,7 +642,9 @@ namespace ErsatzTV.Infrastructure.Migrations
|
||||
b.ToTable("ProgramSchedule");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("ErsatzTV.Core.Domain.ProgramScheduleItem", b =>
|
||||
modelBuilder.Entity(
|
||||
"ErsatzTV.Core.Domain.ProgramScheduleItem",
|
||||
b =>
|
||||
{
|
||||
b.Property<int>("Id")
|
||||
.ValueGeneratedOnAdd()
|
||||
@@ -641,7 +679,9 @@ namespace ErsatzTV.Infrastructure.Migrations
|
||||
b.ToTable("ProgramScheduleItem");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("ErsatzTV.Core.Domain.Resolution", b =>
|
||||
modelBuilder.Entity(
|
||||
"ErsatzTV.Core.Domain.Resolution",
|
||||
b =>
|
||||
{
|
||||
b.Property<int>("Id")
|
||||
.ValueGeneratedOnAdd()
|
||||
@@ -661,7 +701,9 @@ namespace ErsatzTV.Infrastructure.Migrations
|
||||
b.ToTable("Resolution");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("ErsatzTV.Core.Domain.SeasonMetadata", b =>
|
||||
modelBuilder.Entity(
|
||||
"ErsatzTV.Core.Domain.SeasonMetadata",
|
||||
b =>
|
||||
{
|
||||
b.Property<int>("Id")
|
||||
.ValueGeneratedOnAdd()
|
||||
@@ -704,7 +746,9 @@ namespace ErsatzTV.Infrastructure.Migrations
|
||||
b.ToTable("SeasonMetadata");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("ErsatzTV.Core.Domain.ShowMetadata", b =>
|
||||
modelBuilder.Entity(
|
||||
"ErsatzTV.Core.Domain.ShowMetadata",
|
||||
b =>
|
||||
{
|
||||
b.Property<int>("Id")
|
||||
.ValueGeneratedOnAdd()
|
||||
@@ -753,14 +797,18 @@ namespace ErsatzTV.Infrastructure.Migrations
|
||||
b.ToTable("ShowMetadata");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("ErsatzTV.Core.Domain.LocalLibrary", b =>
|
||||
modelBuilder.Entity(
|
||||
"ErsatzTV.Core.Domain.LocalLibrary",
|
||||
b =>
|
||||
{
|
||||
b.HasBaseType("ErsatzTV.Core.Domain.Library");
|
||||
|
||||
b.ToTable("LocalLibrary");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("ErsatzTV.Core.Domain.PlexLibrary", b =>
|
||||
modelBuilder.Entity(
|
||||
"ErsatzTV.Core.Domain.PlexLibrary",
|
||||
b =>
|
||||
{
|
||||
b.HasBaseType("ErsatzTV.Core.Domain.Library");
|
||||
|
||||
@@ -773,7 +821,24 @@ namespace ErsatzTV.Infrastructure.Migrations
|
||||
b.ToTable("PlexLibrary");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("ErsatzTV.Core.Domain.Episode", b =>
|
||||
modelBuilder.Entity(
|
||||
"ErsatzTV.Core.Domain.PlexMediaFile",
|
||||
b =>
|
||||
{
|
||||
b.HasBaseType("ErsatzTV.Core.Domain.MediaFile");
|
||||
|
||||
b.Property<string>("Key")
|
||||
.HasColumnType("TEXT");
|
||||
|
||||
b.Property<int>("PlexId")
|
||||
.HasColumnType("INTEGER");
|
||||
|
||||
b.ToTable("PlexMediaFile");
|
||||
});
|
||||
|
||||
modelBuilder.Entity(
|
||||
"ErsatzTV.Core.Domain.Episode",
|
||||
b =>
|
||||
{
|
||||
b.HasBaseType("ErsatzTV.Core.Domain.MediaItem");
|
||||
|
||||
@@ -788,14 +853,18 @@ namespace ErsatzTV.Infrastructure.Migrations
|
||||
b.ToTable("Episode");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("ErsatzTV.Core.Domain.Movie", b =>
|
||||
modelBuilder.Entity(
|
||||
"ErsatzTV.Core.Domain.Movie",
|
||||
b =>
|
||||
{
|
||||
b.HasBaseType("ErsatzTV.Core.Domain.MediaItem");
|
||||
|
||||
b.ToTable("Movie");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("ErsatzTV.Core.Domain.Season", b =>
|
||||
modelBuilder.Entity(
|
||||
"ErsatzTV.Core.Domain.Season",
|
||||
b =>
|
||||
{
|
||||
b.HasBaseType("ErsatzTV.Core.Domain.MediaItem");
|
||||
|
||||
@@ -810,21 +879,27 @@ namespace ErsatzTV.Infrastructure.Migrations
|
||||
b.ToTable("Season");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("ErsatzTV.Core.Domain.Show", b =>
|
||||
modelBuilder.Entity(
|
||||
"ErsatzTV.Core.Domain.Show",
|
||||
b =>
|
||||
{
|
||||
b.HasBaseType("ErsatzTV.Core.Domain.MediaItem");
|
||||
|
||||
b.ToTable("Show");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("ErsatzTV.Core.Domain.LocalMediaSource", b =>
|
||||
modelBuilder.Entity(
|
||||
"ErsatzTV.Core.Domain.LocalMediaSource",
|
||||
b =>
|
||||
{
|
||||
b.HasBaseType("ErsatzTV.Core.Domain.MediaSource");
|
||||
|
||||
b.ToTable("LocalMediaSource");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("ErsatzTV.Core.Domain.PlexMediaSource", b =>
|
||||
modelBuilder.Entity(
|
||||
"ErsatzTV.Core.Domain.PlexMediaSource",
|
||||
b =>
|
||||
{
|
||||
b.HasBaseType("ErsatzTV.Core.Domain.MediaSource");
|
||||
|
||||
@@ -840,7 +915,9 @@ namespace ErsatzTV.Infrastructure.Migrations
|
||||
b.ToTable("PlexMediaSource");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("ErsatzTV.Core.Domain.ProgramScheduleItemDuration", b =>
|
||||
modelBuilder.Entity(
|
||||
"ErsatzTV.Core.Domain.ProgramScheduleItemDuration",
|
||||
b =>
|
||||
{
|
||||
b.HasBaseType("ErsatzTV.Core.Domain.ProgramScheduleItem");
|
||||
|
||||
@@ -853,14 +930,18 @@ namespace ErsatzTV.Infrastructure.Migrations
|
||||
b.ToTable("ProgramScheduleDurationItem");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("ErsatzTV.Core.Domain.ProgramScheduleItemFlood", b =>
|
||||
modelBuilder.Entity(
|
||||
"ErsatzTV.Core.Domain.ProgramScheduleItemFlood",
|
||||
b =>
|
||||
{
|
||||
b.HasBaseType("ErsatzTV.Core.Domain.ProgramScheduleItem");
|
||||
|
||||
b.ToTable("ProgramScheduleFloodItem");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("ErsatzTV.Core.Domain.ProgramScheduleItemMultiple", b =>
|
||||
modelBuilder.Entity(
|
||||
"ErsatzTV.Core.Domain.ProgramScheduleItemMultiple",
|
||||
b =>
|
||||
{
|
||||
b.HasBaseType("ErsatzTV.Core.Domain.ProgramScheduleItem");
|
||||
|
||||
@@ -870,29 +951,30 @@ namespace ErsatzTV.Infrastructure.Migrations
|
||||
b.ToTable("ProgramScheduleMultipleItem");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("ErsatzTV.Core.Domain.ProgramScheduleItemOne", b =>
|
||||
modelBuilder.Entity(
|
||||
"ErsatzTV.Core.Domain.ProgramScheduleItemOne",
|
||||
b =>
|
||||
{
|
||||
b.HasBaseType("ErsatzTV.Core.Domain.ProgramScheduleItem");
|
||||
|
||||
b.ToTable("ProgramScheduleOneItem");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("ErsatzTV.Core.Domain.PlexMovie", b =>
|
||||
modelBuilder.Entity(
|
||||
"ErsatzTV.Core.Domain.PlexMovie",
|
||||
b =>
|
||||
{
|
||||
b.HasBaseType("ErsatzTV.Core.Domain.Movie");
|
||||
|
||||
b.Property<string>("Key")
|
||||
.HasColumnType("TEXT");
|
||||
|
||||
b.Property<int?>("PartId")
|
||||
.HasColumnType("INTEGER");
|
||||
|
||||
b.HasIndex("PartId");
|
||||
|
||||
b.ToTable("PlexMovie");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("ErsatzTV.Core.Domain.Artwork", b =>
|
||||
modelBuilder.Entity(
|
||||
"ErsatzTV.Core.Domain.Artwork",
|
||||
b =>
|
||||
{
|
||||
b.HasOne("ErsatzTV.Core.Domain.Channel", null)
|
||||
.WithMany("Artwork")
|
||||
@@ -920,7 +1002,9 @@ namespace ErsatzTV.Infrastructure.Migrations
|
||||
.OnDelete(DeleteBehavior.Cascade);
|
||||
});
|
||||
|
||||
modelBuilder.Entity("ErsatzTV.Core.Domain.Channel", b =>
|
||||
modelBuilder.Entity(
|
||||
"ErsatzTV.Core.Domain.Channel",
|
||||
b =>
|
||||
{
|
||||
b.HasOne("ErsatzTV.Core.Domain.FFmpegProfile", "FFmpegProfile")
|
||||
.WithMany()
|
||||
@@ -931,7 +1015,9 @@ namespace ErsatzTV.Infrastructure.Migrations
|
||||
b.Navigation("FFmpegProfile");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("ErsatzTV.Core.Domain.CollectionItem", b =>
|
||||
modelBuilder.Entity(
|
||||
"ErsatzTV.Core.Domain.CollectionItem",
|
||||
b =>
|
||||
{
|
||||
b.HasOne("ErsatzTV.Core.Domain.Collection", "Collection")
|
||||
.WithMany("CollectionItems")
|
||||
@@ -950,7 +1036,9 @@ namespace ErsatzTV.Infrastructure.Migrations
|
||||
b.Navigation("MediaItem");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("ErsatzTV.Core.Domain.EpisodeMetadata", b =>
|
||||
modelBuilder.Entity(
|
||||
"ErsatzTV.Core.Domain.EpisodeMetadata",
|
||||
b =>
|
||||
{
|
||||
b.HasOne("ErsatzTV.Core.Domain.Episode", "Episode")
|
||||
.WithMany("EpisodeMetadata")
|
||||
@@ -961,7 +1049,9 @@ namespace ErsatzTV.Infrastructure.Migrations
|
||||
b.Navigation("Episode");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("ErsatzTV.Core.Domain.FFmpegProfile", b =>
|
||||
modelBuilder.Entity(
|
||||
"ErsatzTV.Core.Domain.FFmpegProfile",
|
||||
b =>
|
||||
{
|
||||
b.HasOne("ErsatzTV.Core.Domain.Resolution", "Resolution")
|
||||
.WithMany()
|
||||
@@ -972,7 +1062,9 @@ namespace ErsatzTV.Infrastructure.Migrations
|
||||
b.Navigation("Resolution");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("ErsatzTV.Core.Domain.Library", b =>
|
||||
modelBuilder.Entity(
|
||||
"ErsatzTV.Core.Domain.Library",
|
||||
b =>
|
||||
{
|
||||
b.HasOne("ErsatzTV.Core.Domain.MediaSource", "MediaSource")
|
||||
.WithMany("Libraries")
|
||||
@@ -983,7 +1075,9 @@ namespace ErsatzTV.Infrastructure.Migrations
|
||||
b.Navigation("MediaSource");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("ErsatzTV.Core.Domain.LibraryPath", b =>
|
||||
modelBuilder.Entity(
|
||||
"ErsatzTV.Core.Domain.LibraryPath",
|
||||
b =>
|
||||
{
|
||||
b.HasOne("ErsatzTV.Core.Domain.Library", "Library")
|
||||
.WithMany("Paths")
|
||||
@@ -994,7 +1088,9 @@ namespace ErsatzTV.Infrastructure.Migrations
|
||||
b.Navigation("Library");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("ErsatzTV.Core.Domain.MediaFile", b =>
|
||||
modelBuilder.Entity(
|
||||
"ErsatzTV.Core.Domain.MediaFile",
|
||||
b =>
|
||||
{
|
||||
b.HasOne("ErsatzTV.Core.Domain.MediaVersion", "MediaVersion")
|
||||
.WithMany("MediaFiles")
|
||||
@@ -1005,7 +1101,9 @@ namespace ErsatzTV.Infrastructure.Migrations
|
||||
b.Navigation("MediaVersion");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("ErsatzTV.Core.Domain.MediaItem", b =>
|
||||
modelBuilder.Entity(
|
||||
"ErsatzTV.Core.Domain.MediaItem",
|
||||
b =>
|
||||
{
|
||||
b.HasOne("ErsatzTV.Core.Domain.LibraryPath", "LibraryPath")
|
||||
.WithMany("MediaItems")
|
||||
@@ -1016,7 +1114,9 @@ namespace ErsatzTV.Infrastructure.Migrations
|
||||
b.Navigation("LibraryPath");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("ErsatzTV.Core.Domain.MediaVersion", b =>
|
||||
modelBuilder.Entity(
|
||||
"ErsatzTV.Core.Domain.MediaVersion",
|
||||
b =>
|
||||
{
|
||||
b.HasOne("ErsatzTV.Core.Domain.Episode", null)
|
||||
.WithMany("MediaVersions")
|
||||
@@ -1029,7 +1129,9 @@ namespace ErsatzTV.Infrastructure.Migrations
|
||||
.OnDelete(DeleteBehavior.Cascade);
|
||||
});
|
||||
|
||||
modelBuilder.Entity("ErsatzTV.Core.Domain.MovieMetadata", b =>
|
||||
modelBuilder.Entity(
|
||||
"ErsatzTV.Core.Domain.MovieMetadata",
|
||||
b =>
|
||||
{
|
||||
b.HasOne("ErsatzTV.Core.Domain.Movie", "Movie")
|
||||
.WithMany("MovieMetadata")
|
||||
@@ -1040,7 +1142,9 @@ namespace ErsatzTV.Infrastructure.Migrations
|
||||
b.Navigation("Movie");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("ErsatzTV.Core.Domain.Playout", b =>
|
||||
modelBuilder.Entity(
|
||||
"ErsatzTV.Core.Domain.Playout",
|
||||
b =>
|
||||
{
|
||||
b.HasOne("ErsatzTV.Core.Domain.Channel", "Channel")
|
||||
.WithMany("Playouts")
|
||||
@@ -1054,7 +1158,10 @@ namespace ErsatzTV.Infrastructure.Migrations
|
||||
.OnDelete(DeleteBehavior.Cascade)
|
||||
.IsRequired();
|
||||
|
||||
b.OwnsOne("ErsatzTV.Core.Domain.PlayoutAnchor", "Anchor", b1 =>
|
||||
b.OwnsOne(
|
||||
"ErsatzTV.Core.Domain.PlayoutAnchor",
|
||||
"Anchor",
|
||||
b1 =>
|
||||
{
|
||||
b1.Property<int>("PlayoutId")
|
||||
.HasColumnType("INTEGER");
|
||||
@@ -1090,7 +1197,9 @@ namespace ErsatzTV.Infrastructure.Migrations
|
||||
b.Navigation("ProgramSchedule");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("ErsatzTV.Core.Domain.PlayoutItem", b =>
|
||||
modelBuilder.Entity(
|
||||
"ErsatzTV.Core.Domain.PlayoutItem",
|
||||
b =>
|
||||
{
|
||||
b.HasOne("ErsatzTV.Core.Domain.MediaItem", "MediaItem")
|
||||
.WithMany()
|
||||
@@ -1109,7 +1218,9 @@ namespace ErsatzTV.Infrastructure.Migrations
|
||||
b.Navigation("Playout");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("ErsatzTV.Core.Domain.PlayoutProgramScheduleAnchor", b =>
|
||||
modelBuilder.Entity(
|
||||
"ErsatzTV.Core.Domain.PlayoutProgramScheduleAnchor",
|
||||
b =>
|
||||
{
|
||||
b.HasOne("ErsatzTV.Core.Domain.Collection", "Collection")
|
||||
.WithMany()
|
||||
@@ -1133,7 +1244,10 @@ namespace ErsatzTV.Infrastructure.Migrations
|
||||
.OnDelete(DeleteBehavior.Cascade)
|
||||
.IsRequired();
|
||||
|
||||
b.OwnsOne("ErsatzTV.Core.Domain.CollectionEnumeratorState", "EnumeratorState", b1 =>
|
||||
b.OwnsOne(
|
||||
"ErsatzTV.Core.Domain.CollectionEnumeratorState",
|
||||
"EnumeratorState",
|
||||
b1 =>
|
||||
{
|
||||
b1.Property<int>("PlayoutProgramScheduleAnchorId")
|
||||
.HasColumnType("INTEGER");
|
||||
@@ -1163,7 +1277,9 @@ namespace ErsatzTV.Infrastructure.Migrations
|
||||
b.Navigation("ProgramSchedule");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("ErsatzTV.Core.Domain.PlexConnection", b =>
|
||||
modelBuilder.Entity(
|
||||
"ErsatzTV.Core.Domain.PlexConnection",
|
||||
b =>
|
||||
{
|
||||
b.HasOne("ErsatzTV.Core.Domain.PlexMediaSource", "PlexMediaSource")
|
||||
.WithMany("Connections")
|
||||
@@ -1174,7 +1290,22 @@ namespace ErsatzTV.Infrastructure.Migrations
|
||||
b.Navigation("PlexMediaSource");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("ErsatzTV.Core.Domain.ProgramScheduleItem", b =>
|
||||
modelBuilder.Entity(
|
||||
"ErsatzTV.Core.Domain.PlexPathReplacement",
|
||||
b =>
|
||||
{
|
||||
b.HasOne("ErsatzTV.Core.Domain.PlexMediaSource", "PlexMediaSource")
|
||||
.WithMany("PathReplacements")
|
||||
.HasForeignKey("PlexMediaSourceId")
|
||||
.OnDelete(DeleteBehavior.Cascade)
|
||||
.IsRequired();
|
||||
|
||||
b.Navigation("PlexMediaSource");
|
||||
});
|
||||
|
||||
modelBuilder.Entity(
|
||||
"ErsatzTV.Core.Domain.ProgramScheduleItem",
|
||||
b =>
|
||||
{
|
||||
b.HasOne("ErsatzTV.Core.Domain.Collection", "Collection")
|
||||
.WithMany()
|
||||
@@ -1199,7 +1330,9 @@ namespace ErsatzTV.Infrastructure.Migrations
|
||||
b.Navigation("ProgramSchedule");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("ErsatzTV.Core.Domain.SeasonMetadata", b =>
|
||||
modelBuilder.Entity(
|
||||
"ErsatzTV.Core.Domain.SeasonMetadata",
|
||||
b =>
|
||||
{
|
||||
b.HasOne("ErsatzTV.Core.Domain.Season", "Season")
|
||||
.WithMany("SeasonMetadata")
|
||||
@@ -1210,7 +1343,9 @@ namespace ErsatzTV.Infrastructure.Migrations
|
||||
b.Navigation("Season");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("ErsatzTV.Core.Domain.ShowMetadata", b =>
|
||||
modelBuilder.Entity(
|
||||
"ErsatzTV.Core.Domain.ShowMetadata",
|
||||
b =>
|
||||
{
|
||||
b.HasOne("ErsatzTV.Core.Domain.Show", "Show")
|
||||
.WithMany("ShowMetadata")
|
||||
@@ -1221,7 +1356,9 @@ namespace ErsatzTV.Infrastructure.Migrations
|
||||
b.Navigation("Show");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("ErsatzTV.Core.Domain.LocalLibrary", b =>
|
||||
modelBuilder.Entity(
|
||||
"ErsatzTV.Core.Domain.LocalLibrary",
|
||||
b =>
|
||||
{
|
||||
b.HasOne("ErsatzTV.Core.Domain.Library", null)
|
||||
.WithOne()
|
||||
@@ -1230,7 +1367,9 @@ namespace ErsatzTV.Infrastructure.Migrations
|
||||
.IsRequired();
|
||||
});
|
||||
|
||||
modelBuilder.Entity("ErsatzTV.Core.Domain.PlexLibrary", b =>
|
||||
modelBuilder.Entity(
|
||||
"ErsatzTV.Core.Domain.PlexLibrary",
|
||||
b =>
|
||||
{
|
||||
b.HasOne("ErsatzTV.Core.Domain.Library", null)
|
||||
.WithOne()
|
||||
@@ -1239,7 +1378,20 @@ namespace ErsatzTV.Infrastructure.Migrations
|
||||
.IsRequired();
|
||||
});
|
||||
|
||||
modelBuilder.Entity("ErsatzTV.Core.Domain.Episode", b =>
|
||||
modelBuilder.Entity(
|
||||
"ErsatzTV.Core.Domain.PlexMediaFile",
|
||||
b =>
|
||||
{
|
||||
b.HasOne("ErsatzTV.Core.Domain.MediaFile", null)
|
||||
.WithOne()
|
||||
.HasForeignKey("ErsatzTV.Core.Domain.PlexMediaFile", "Id")
|
||||
.OnDelete(DeleteBehavior.Cascade)
|
||||
.IsRequired();
|
||||
});
|
||||
|
||||
modelBuilder.Entity(
|
||||
"ErsatzTV.Core.Domain.Episode",
|
||||
b =>
|
||||
{
|
||||
b.HasOne("ErsatzTV.Core.Domain.MediaItem", null)
|
||||
.WithOne()
|
||||
@@ -1256,7 +1408,9 @@ namespace ErsatzTV.Infrastructure.Migrations
|
||||
b.Navigation("Season");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("ErsatzTV.Core.Domain.Movie", b =>
|
||||
modelBuilder.Entity(
|
||||
"ErsatzTV.Core.Domain.Movie",
|
||||
b =>
|
||||
{
|
||||
b.HasOne("ErsatzTV.Core.Domain.MediaItem", null)
|
||||
.WithOne()
|
||||
@@ -1265,7 +1419,9 @@ namespace ErsatzTV.Infrastructure.Migrations
|
||||
.IsRequired();
|
||||
});
|
||||
|
||||
modelBuilder.Entity("ErsatzTV.Core.Domain.Season", b =>
|
||||
modelBuilder.Entity(
|
||||
"ErsatzTV.Core.Domain.Season",
|
||||
b =>
|
||||
{
|
||||
b.HasOne("ErsatzTV.Core.Domain.MediaItem", null)
|
||||
.WithOne()
|
||||
@@ -1282,7 +1438,9 @@ namespace ErsatzTV.Infrastructure.Migrations
|
||||
b.Navigation("Show");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("ErsatzTV.Core.Domain.Show", b =>
|
||||
modelBuilder.Entity(
|
||||
"ErsatzTV.Core.Domain.Show",
|
||||
b =>
|
||||
{
|
||||
b.HasOne("ErsatzTV.Core.Domain.MediaItem", null)
|
||||
.WithOne()
|
||||
@@ -1291,7 +1449,9 @@ namespace ErsatzTV.Infrastructure.Migrations
|
||||
.IsRequired();
|
||||
});
|
||||
|
||||
modelBuilder.Entity("ErsatzTV.Core.Domain.LocalMediaSource", b =>
|
||||
modelBuilder.Entity(
|
||||
"ErsatzTV.Core.Domain.LocalMediaSource",
|
||||
b =>
|
||||
{
|
||||
b.HasOne("ErsatzTV.Core.Domain.MediaSource", null)
|
||||
.WithOne()
|
||||
@@ -1300,7 +1460,9 @@ namespace ErsatzTV.Infrastructure.Migrations
|
||||
.IsRequired();
|
||||
});
|
||||
|
||||
modelBuilder.Entity("ErsatzTV.Core.Domain.PlexMediaSource", b =>
|
||||
modelBuilder.Entity(
|
||||
"ErsatzTV.Core.Domain.PlexMediaSource",
|
||||
b =>
|
||||
{
|
||||
b.HasOne("ErsatzTV.Core.Domain.MediaSource", null)
|
||||
.WithOne()
|
||||
@@ -1309,7 +1471,9 @@ namespace ErsatzTV.Infrastructure.Migrations
|
||||
.IsRequired();
|
||||
});
|
||||
|
||||
modelBuilder.Entity("ErsatzTV.Core.Domain.ProgramScheduleItemDuration", b =>
|
||||
modelBuilder.Entity(
|
||||
"ErsatzTV.Core.Domain.ProgramScheduleItemDuration",
|
||||
b =>
|
||||
{
|
||||
b.HasOne("ErsatzTV.Core.Domain.ProgramScheduleItem", null)
|
||||
.WithOne()
|
||||
@@ -1318,7 +1482,9 @@ namespace ErsatzTV.Infrastructure.Migrations
|
||||
.IsRequired();
|
||||
});
|
||||
|
||||
modelBuilder.Entity("ErsatzTV.Core.Domain.ProgramScheduleItemFlood", b =>
|
||||
modelBuilder.Entity(
|
||||
"ErsatzTV.Core.Domain.ProgramScheduleItemFlood",
|
||||
b =>
|
||||
{
|
||||
b.HasOne("ErsatzTV.Core.Domain.ProgramScheduleItem", null)
|
||||
.WithOne()
|
||||
@@ -1327,7 +1493,9 @@ namespace ErsatzTV.Infrastructure.Migrations
|
||||
.IsRequired();
|
||||
});
|
||||
|
||||
modelBuilder.Entity("ErsatzTV.Core.Domain.ProgramScheduleItemMultiple", b =>
|
||||
modelBuilder.Entity(
|
||||
"ErsatzTV.Core.Domain.ProgramScheduleItemMultiple",
|
||||
b =>
|
||||
{
|
||||
b.HasOne("ErsatzTV.Core.Domain.ProgramScheduleItem", null)
|
||||
.WithOne()
|
||||
@@ -1336,7 +1504,9 @@ namespace ErsatzTV.Infrastructure.Migrations
|
||||
.IsRequired();
|
||||
});
|
||||
|
||||
modelBuilder.Entity("ErsatzTV.Core.Domain.ProgramScheduleItemOne", b =>
|
||||
modelBuilder.Entity(
|
||||
"ErsatzTV.Core.Domain.ProgramScheduleItemOne",
|
||||
b =>
|
||||
{
|
||||
b.HasOne("ErsatzTV.Core.Domain.ProgramScheduleItem", null)
|
||||
.WithOne()
|
||||
@@ -1345,123 +1515,107 @@ namespace ErsatzTV.Infrastructure.Migrations
|
||||
.IsRequired();
|
||||
});
|
||||
|
||||
modelBuilder.Entity("ErsatzTV.Core.Domain.PlexMovie", b =>
|
||||
modelBuilder.Entity(
|
||||
"ErsatzTV.Core.Domain.PlexMovie",
|
||||
b =>
|
||||
{
|
||||
b.HasOne("ErsatzTV.Core.Domain.Movie", null)
|
||||
.WithOne()
|
||||
.HasForeignKey("ErsatzTV.Core.Domain.PlexMovie", "Id")
|
||||
.OnDelete(DeleteBehavior.Cascade)
|
||||
.IsRequired();
|
||||
|
||||
b.HasOne("ErsatzTV.Core.Domain.PlexMediaItemPart", "Part")
|
||||
.WithMany()
|
||||
.HasForeignKey("PartId");
|
||||
|
||||
b.Navigation("Part");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("ErsatzTV.Core.Domain.Channel", b =>
|
||||
modelBuilder.Entity(
|
||||
"ErsatzTV.Core.Domain.Channel",
|
||||
b =>
|
||||
{
|
||||
b.Navigation("Artwork");
|
||||
|
||||
b.Navigation("Playouts");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("ErsatzTV.Core.Domain.Collection", b =>
|
||||
{
|
||||
b.Navigation("CollectionItems");
|
||||
});
|
||||
modelBuilder.Entity("ErsatzTV.Core.Domain.Collection", b => { b.Navigation("CollectionItems"); });
|
||||
|
||||
modelBuilder.Entity("ErsatzTV.Core.Domain.EpisodeMetadata", b =>
|
||||
{
|
||||
b.Navigation("Artwork");
|
||||
});
|
||||
modelBuilder.Entity("ErsatzTV.Core.Domain.EpisodeMetadata", b => { b.Navigation("Artwork"); });
|
||||
|
||||
modelBuilder.Entity("ErsatzTV.Core.Domain.Library", b =>
|
||||
{
|
||||
b.Navigation("Paths");
|
||||
});
|
||||
modelBuilder.Entity("ErsatzTV.Core.Domain.Library", b => { b.Navigation("Paths"); });
|
||||
|
||||
modelBuilder.Entity("ErsatzTV.Core.Domain.LibraryPath", b =>
|
||||
{
|
||||
b.Navigation("MediaItems");
|
||||
});
|
||||
modelBuilder.Entity("ErsatzTV.Core.Domain.LibraryPath", b => { b.Navigation("MediaItems"); });
|
||||
|
||||
modelBuilder.Entity("ErsatzTV.Core.Domain.MediaItem", b =>
|
||||
{
|
||||
b.Navigation("CollectionItems");
|
||||
});
|
||||
modelBuilder.Entity("ErsatzTV.Core.Domain.MediaItem", b => { b.Navigation("CollectionItems"); });
|
||||
|
||||
modelBuilder.Entity("ErsatzTV.Core.Domain.MediaSource", b =>
|
||||
{
|
||||
b.Navigation("Libraries");
|
||||
});
|
||||
modelBuilder.Entity("ErsatzTV.Core.Domain.MediaSource", b => { b.Navigation("Libraries"); });
|
||||
|
||||
modelBuilder.Entity("ErsatzTV.Core.Domain.MediaVersion", b =>
|
||||
{
|
||||
b.Navigation("MediaFiles");
|
||||
});
|
||||
modelBuilder.Entity("ErsatzTV.Core.Domain.MediaVersion", b => { b.Navigation("MediaFiles"); });
|
||||
|
||||
modelBuilder.Entity("ErsatzTV.Core.Domain.MovieMetadata", b =>
|
||||
{
|
||||
b.Navigation("Artwork");
|
||||
});
|
||||
modelBuilder.Entity("ErsatzTV.Core.Domain.MovieMetadata", b => { b.Navigation("Artwork"); });
|
||||
|
||||
modelBuilder.Entity("ErsatzTV.Core.Domain.Playout", b =>
|
||||
modelBuilder.Entity(
|
||||
"ErsatzTV.Core.Domain.Playout",
|
||||
b =>
|
||||
{
|
||||
b.Navigation("Items");
|
||||
|
||||
b.Navigation("ProgramScheduleAnchors");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("ErsatzTV.Core.Domain.ProgramSchedule", b =>
|
||||
modelBuilder.Entity(
|
||||
"ErsatzTV.Core.Domain.ProgramSchedule",
|
||||
b =>
|
||||
{
|
||||
b.Navigation("Items");
|
||||
|
||||
b.Navigation("Playouts");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("ErsatzTV.Core.Domain.SeasonMetadata", b =>
|
||||
{
|
||||
b.Navigation("Artwork");
|
||||
});
|
||||
modelBuilder.Entity("ErsatzTV.Core.Domain.SeasonMetadata", b => { b.Navigation("Artwork"); });
|
||||
|
||||
modelBuilder.Entity("ErsatzTV.Core.Domain.ShowMetadata", b =>
|
||||
{
|
||||
b.Navigation("Artwork");
|
||||
});
|
||||
modelBuilder.Entity("ErsatzTV.Core.Domain.ShowMetadata", b => { b.Navigation("Artwork"); });
|
||||
|
||||
modelBuilder.Entity("ErsatzTV.Core.Domain.Episode", b =>
|
||||
modelBuilder.Entity(
|
||||
"ErsatzTV.Core.Domain.Episode",
|
||||
b =>
|
||||
{
|
||||
b.Navigation("EpisodeMetadata");
|
||||
|
||||
b.Navigation("MediaVersions");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("ErsatzTV.Core.Domain.Movie", b =>
|
||||
modelBuilder.Entity(
|
||||
"ErsatzTV.Core.Domain.Movie",
|
||||
b =>
|
||||
{
|
||||
b.Navigation("MediaVersions");
|
||||
|
||||
b.Navigation("MovieMetadata");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("ErsatzTV.Core.Domain.Season", b =>
|
||||
modelBuilder.Entity(
|
||||
"ErsatzTV.Core.Domain.Season",
|
||||
b =>
|
||||
{
|
||||
b.Navigation("Episodes");
|
||||
|
||||
b.Navigation("SeasonMetadata");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("ErsatzTV.Core.Domain.Show", b =>
|
||||
modelBuilder.Entity(
|
||||
"ErsatzTV.Core.Domain.Show",
|
||||
b =>
|
||||
{
|
||||
b.Navigation("Seasons");
|
||||
|
||||
b.Navigation("ShowMetadata");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("ErsatzTV.Core.Domain.PlexMediaSource", b =>
|
||||
modelBuilder.Entity(
|
||||
"ErsatzTV.Core.Domain.PlexMediaSource",
|
||||
b =>
|
||||
{
|
||||
b.Navigation("Connections");
|
||||
|
||||
b.Navigation("PathReplacements");
|
||||
});
|
||||
#pragma warning restore 612, 618
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user