mirror of https://github.com/ErsatzTV/ErsatzTV.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
3349 lines
116 KiB
3349 lines
116 KiB
// <auto-generated /> |
|
using System; |
|
using ErsatzTV.Infrastructure.Data; |
|
using Microsoft.EntityFrameworkCore; |
|
using Microsoft.EntityFrameworkCore.Infrastructure; |
|
using Microsoft.EntityFrameworkCore.Migrations; |
|
using Microsoft.EntityFrameworkCore.Storage.ValueConversion; |
|
|
|
namespace ErsatzTV.Infrastructure.Migrations |
|
{ |
|
[DbContext(typeof(TvContext))] |
|
[Migration("20211013230405_Add_PlayoutItem_IsFiller")] |
|
partial class Add_PlayoutItem_IsFiller |
|
{ |
|
protected override void BuildTargetModel(ModelBuilder modelBuilder) |
|
{ |
|
#pragma warning disable 612, 618 |
|
modelBuilder |
|
.HasAnnotation("ProductVersion", "5.0.10"); |
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.Actor", b => |
|
{ |
|
b.Property<int>("Id") |
|
.ValueGeneratedOnAdd() |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<int?>("ArtistMetadataId") |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<int?>("ArtworkId") |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<int?>("EpisodeMetadataId") |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<int?>("MovieMetadataId") |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<int?>("MusicVideoMetadataId") |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<string>("Name") |
|
.HasColumnType("TEXT"); |
|
|
|
b.Property<int?>("Order") |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<string>("Role") |
|
.HasColumnType("TEXT"); |
|
|
|
b.Property<int?>("SeasonMetadataId") |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<int?>("ShowMetadataId") |
|
.HasColumnType("INTEGER"); |
|
|
|
b.HasKey("Id"); |
|
|
|
b.HasIndex("ArtistMetadataId"); |
|
|
|
b.HasIndex("ArtworkId") |
|
.IsUnique(); |
|
|
|
b.HasIndex("EpisodeMetadataId"); |
|
|
|
b.HasIndex("MovieMetadataId"); |
|
|
|
b.HasIndex("MusicVideoMetadataId"); |
|
|
|
b.HasIndex("SeasonMetadataId"); |
|
|
|
b.HasIndex("ShowMetadataId"); |
|
|
|
b.ToTable("Actor"); |
|
}); |
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.ArtistMetadata", b => |
|
{ |
|
b.Property<int>("Id") |
|
.ValueGeneratedOnAdd() |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<int>("ArtistId") |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<string>("Biography") |
|
.HasColumnType("TEXT"); |
|
|
|
b.Property<DateTime>("DateAdded") |
|
.HasColumnType("TEXT"); |
|
|
|
b.Property<DateTime>("DateUpdated") |
|
.HasColumnType("TEXT"); |
|
|
|
b.Property<string>("Disambiguation") |
|
.HasColumnType("TEXT"); |
|
|
|
b.Property<string>("Formed") |
|
.HasColumnType("TEXT"); |
|
|
|
b.Property<int>("MetadataKind") |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<string>("OriginalTitle") |
|
.HasColumnType("TEXT"); |
|
|
|
b.Property<DateTime?>("ReleaseDate") |
|
.HasColumnType("TEXT"); |
|
|
|
b.Property<string>("SortTitle") |
|
.HasColumnType("TEXT"); |
|
|
|
b.Property<string>("Title") |
|
.HasColumnType("TEXT"); |
|
|
|
b.Property<int?>("Year") |
|
.HasColumnType("INTEGER"); |
|
|
|
b.HasKey("Id"); |
|
|
|
b.HasIndex("ArtistId"); |
|
|
|
b.ToTable("ArtistMetadata"); |
|
}); |
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.Artwork", b => |
|
{ |
|
b.Property<int>("Id") |
|
.ValueGeneratedOnAdd() |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<int?>("ArtistMetadataId") |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<int>("ArtworkKind") |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<int?>("ChannelId") |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<DateTime>("DateAdded") |
|
.HasColumnType("TEXT"); |
|
|
|
b.Property<DateTime>("DateUpdated") |
|
.HasColumnType("TEXT"); |
|
|
|
b.Property<int?>("EpisodeMetadataId") |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<int?>("MovieMetadataId") |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<int?>("MusicVideoMetadataId") |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<string>("Path") |
|
.HasColumnType("TEXT"); |
|
|
|
b.Property<int?>("SeasonMetadataId") |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<int?>("ShowMetadataId") |
|
.HasColumnType("INTEGER"); |
|
|
|
b.HasKey("Id"); |
|
|
|
b.HasIndex("ArtistMetadataId"); |
|
|
|
b.HasIndex("ChannelId"); |
|
|
|
b.HasIndex("EpisodeMetadataId"); |
|
|
|
b.HasIndex("MovieMetadataId"); |
|
|
|
b.HasIndex("MusicVideoMetadataId"); |
|
|
|
b.HasIndex("SeasonMetadataId"); |
|
|
|
b.HasIndex("ShowMetadataId"); |
|
|
|
b.ToTable("Artwork"); |
|
}); |
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.Channel", b => |
|
{ |
|
b.Property<int>("Id") |
|
.ValueGeneratedOnAdd() |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<int>("FFmpegProfileId") |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<string>("Name") |
|
.HasColumnType("TEXT"); |
|
|
|
b.Property<string>("Number") |
|
.HasColumnType("TEXT"); |
|
|
|
b.Property<string>("PreferredLanguageCode") |
|
.HasColumnType("TEXT"); |
|
|
|
b.Property<int>("StreamingMode") |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<Guid>("UniqueId") |
|
.HasColumnType("TEXT"); |
|
|
|
b.Property<int?>("WatermarkId") |
|
.HasColumnType("INTEGER"); |
|
|
|
b.HasKey("Id"); |
|
|
|
b.HasIndex("FFmpegProfileId"); |
|
|
|
b.HasIndex("Number") |
|
.IsUnique(); |
|
|
|
b.HasIndex("WatermarkId"); |
|
|
|
b.ToTable("Channel"); |
|
}); |
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.ChannelWatermark", b => |
|
{ |
|
b.Property<int>("Id") |
|
.ValueGeneratedOnAdd() |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<int>("DurationSeconds") |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<int>("FrequencyMinutes") |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<int>("HorizontalMarginPercent") |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<string>("Image") |
|
.HasColumnType("TEXT"); |
|
|
|
b.Property<int>("ImageSource") |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<int>("Location") |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<int>("Mode") |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<string>("Name") |
|
.HasColumnType("TEXT"); |
|
|
|
b.Property<int>("Opacity") |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<int>("Size") |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<int>("VerticalMarginPercent") |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<int>("WidthPercent") |
|
.HasColumnType("INTEGER"); |
|
|
|
b.HasKey("Id"); |
|
|
|
b.ToTable("ChannelWatermark"); |
|
}); |
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.Collection", b => |
|
{ |
|
b.Property<int>("Id") |
|
.ValueGeneratedOnAdd() |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<string>("Name") |
|
.HasColumnType("TEXT"); |
|
|
|
b.Property<bool>("UseCustomPlaybackOrder") |
|
.HasColumnType("INTEGER"); |
|
|
|
b.HasKey("Id"); |
|
|
|
b.ToTable("Collection"); |
|
}); |
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.CollectionItem", b => |
|
{ |
|
b.Property<int>("CollectionId") |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<int>("MediaItemId") |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<int?>("CustomIndex") |
|
.HasColumnType("INTEGER"); |
|
|
|
b.HasKey("CollectionId", "MediaItemId"); |
|
|
|
b.HasIndex("MediaItemId"); |
|
|
|
b.ToTable("CollectionItem"); |
|
}); |
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.ConfigElement", b => |
|
{ |
|
b.Property<int>("Id") |
|
.ValueGeneratedOnAdd() |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<string>("Key") |
|
.HasColumnType("TEXT"); |
|
|
|
b.Property<string>("Value") |
|
.HasColumnType("TEXT"); |
|
|
|
b.HasKey("Id"); |
|
|
|
b.HasIndex("Key") |
|
.IsUnique(); |
|
|
|
b.ToTable("ConfigElement"); |
|
}); |
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.Director", b => |
|
{ |
|
b.Property<int>("Id") |
|
.ValueGeneratedOnAdd() |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<int?>("EpisodeMetadataId") |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<int?>("MovieMetadataId") |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<string>("Name") |
|
.HasColumnType("TEXT"); |
|
|
|
b.HasKey("Id"); |
|
|
|
b.HasIndex("EpisodeMetadataId"); |
|
|
|
b.HasIndex("MovieMetadataId"); |
|
|
|
b.ToTable("Director"); |
|
}); |
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.EmbyConnection", b => |
|
{ |
|
b.Property<int>("Id") |
|
.ValueGeneratedOnAdd() |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<string>("Address") |
|
.HasColumnType("TEXT"); |
|
|
|
b.Property<int>("EmbyMediaSourceId") |
|
.HasColumnType("INTEGER"); |
|
|
|
b.HasKey("Id"); |
|
|
|
b.HasIndex("EmbyMediaSourceId"); |
|
|
|
b.ToTable("EmbyConnection"); |
|
}); |
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.EmbyPathReplacement", b => |
|
{ |
|
b.Property<int>("Id") |
|
.ValueGeneratedOnAdd() |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<int>("EmbyMediaSourceId") |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<string>("EmbyPath") |
|
.HasColumnType("TEXT"); |
|
|
|
b.Property<string>("LocalPath") |
|
.HasColumnType("TEXT"); |
|
|
|
b.HasKey("Id"); |
|
|
|
b.HasIndex("EmbyMediaSourceId"); |
|
|
|
b.ToTable("EmbyPathReplacement"); |
|
}); |
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.EpisodeMetadata", b => |
|
{ |
|
b.Property<int>("Id") |
|
.ValueGeneratedOnAdd() |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<DateTime>("DateAdded") |
|
.HasColumnType("TEXT"); |
|
|
|
b.Property<DateTime>("DateUpdated") |
|
.HasColumnType("TEXT"); |
|
|
|
b.Property<int>("EpisodeId") |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<int>("EpisodeNumber") |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<int>("MetadataKind") |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<string>("OriginalTitle") |
|
.HasColumnType("TEXT"); |
|
|
|
b.Property<string>("Outline") |
|
.HasColumnType("TEXT"); |
|
|
|
b.Property<string>("Plot") |
|
.HasColumnType("TEXT"); |
|
|
|
b.Property<DateTime?>("ReleaseDate") |
|
.HasColumnType("TEXT"); |
|
|
|
b.Property<string>("SortTitle") |
|
.HasColumnType("TEXT"); |
|
|
|
b.Property<string>("Tagline") |
|
.HasColumnType("TEXT"); |
|
|
|
b.Property<string>("Title") |
|
.HasColumnType("TEXT"); |
|
|
|
b.Property<int?>("Year") |
|
.HasColumnType("INTEGER"); |
|
|
|
b.HasKey("Id"); |
|
|
|
b.HasIndex("EpisodeId"); |
|
|
|
b.ToTable("EpisodeMetadata"); |
|
}); |
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.FFmpegProfile", b => |
|
{ |
|
b.Property<int>("Id") |
|
.ValueGeneratedOnAdd() |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<int>("AudioBitrate") |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<int>("AudioBufferSize") |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<int>("AudioChannels") |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<string>("AudioCodec") |
|
.HasColumnType("TEXT"); |
|
|
|
b.Property<int>("AudioSampleRate") |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<int>("HardwareAcceleration") |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<string>("Name") |
|
.HasColumnType("TEXT"); |
|
|
|
b.Property<bool>("NormalizeAudio") |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<bool>("NormalizeLoudness") |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<bool>("NormalizeVideo") |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<int>("ResolutionId") |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<int>("ThreadCount") |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<bool>("Transcode") |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<string>("VaapiDevice") |
|
.HasColumnType("TEXT"); |
|
|
|
b.Property<int>("VaapiDriver") |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<int>("VideoBitrate") |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<int>("VideoBufferSize") |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<string>("VideoCodec") |
|
.HasColumnType("TEXT"); |
|
|
|
b.HasKey("Id"); |
|
|
|
b.HasIndex("ResolutionId"); |
|
|
|
b.ToTable("FFmpegProfile"); |
|
}); |
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.Genre", b => |
|
{ |
|
b.Property<int>("Id") |
|
.ValueGeneratedOnAdd() |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<int?>("ArtistMetadataId") |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<int?>("EpisodeMetadataId") |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<int?>("MovieMetadataId") |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<int?>("MusicVideoMetadataId") |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<string>("Name") |
|
.HasColumnType("TEXT"); |
|
|
|
b.Property<int?>("SeasonMetadataId") |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<int?>("ShowMetadataId") |
|
.HasColumnType("INTEGER"); |
|
|
|
b.HasKey("Id"); |
|
|
|
b.HasIndex("ArtistMetadataId"); |
|
|
|
b.HasIndex("EpisodeMetadataId"); |
|
|
|
b.HasIndex("MovieMetadataId"); |
|
|
|
b.HasIndex("MusicVideoMetadataId"); |
|
|
|
b.HasIndex("SeasonMetadataId"); |
|
|
|
b.HasIndex("ShowMetadataId"); |
|
|
|
b.ToTable("Genre"); |
|
}); |
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.JellyfinConnection", b => |
|
{ |
|
b.Property<int>("Id") |
|
.ValueGeneratedOnAdd() |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<string>("Address") |
|
.HasColumnType("TEXT"); |
|
|
|
b.Property<int>("JellyfinMediaSourceId") |
|
.HasColumnType("INTEGER"); |
|
|
|
b.HasKey("Id"); |
|
|
|
b.HasIndex("JellyfinMediaSourceId"); |
|
|
|
b.ToTable("JellyfinConnection"); |
|
}); |
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.JellyfinPathReplacement", b => |
|
{ |
|
b.Property<int>("Id") |
|
.ValueGeneratedOnAdd() |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<int>("JellyfinMediaSourceId") |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<string>("JellyfinPath") |
|
.HasColumnType("TEXT"); |
|
|
|
b.Property<string>("LocalPath") |
|
.HasColumnType("TEXT"); |
|
|
|
b.HasKey("Id"); |
|
|
|
b.HasIndex("JellyfinMediaSourceId"); |
|
|
|
b.ToTable("JellyfinPathReplacement"); |
|
}); |
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.LanguageCode", b => |
|
{ |
|
b.Property<int>("Id") |
|
.ValueGeneratedOnAdd() |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<string>("EnglishName") |
|
.HasColumnType("TEXT"); |
|
|
|
b.Property<string>("FrenchName") |
|
.HasColumnType("TEXT"); |
|
|
|
b.Property<string>("ThreeCode1") |
|
.HasColumnType("TEXT"); |
|
|
|
b.Property<string>("ThreeCode2") |
|
.HasColumnType("TEXT"); |
|
|
|
b.Property<string>("TwoCode") |
|
.HasColumnType("TEXT"); |
|
|
|
b.HasKey("Id"); |
|
|
|
b.ToTable("LanguageCode"); |
|
}); |
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.Library", b => |
|
{ |
|
b.Property<int>("Id") |
|
.ValueGeneratedOnAdd() |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<DateTime?>("LastScan") |
|
.HasColumnType("TEXT"); |
|
|
|
b.Property<int>("MediaKind") |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<int>("MediaSourceId") |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<string>("Name") |
|
.HasColumnType("TEXT"); |
|
|
|
b.HasKey("Id"); |
|
|
|
b.HasIndex("MediaSourceId"); |
|
|
|
b.ToTable("Library"); |
|
}); |
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.LibraryFolder", b => |
|
{ |
|
b.Property<int>("Id") |
|
.ValueGeneratedOnAdd() |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<string>("Etag") |
|
.HasColumnType("TEXT"); |
|
|
|
b.Property<int>("LibraryPathId") |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<string>("Path") |
|
.HasColumnType("TEXT"); |
|
|
|
b.HasKey("Id"); |
|
|
|
b.HasIndex("LibraryPathId"); |
|
|
|
b.ToTable("LibraryFolder"); |
|
}); |
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.LibraryPath", b => |
|
{ |
|
b.Property<int>("Id") |
|
.ValueGeneratedOnAdd() |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<DateTime?>("LastScan") |
|
.HasColumnType("TEXT"); |
|
|
|
b.Property<int>("LibraryId") |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<string>("Path") |
|
.HasColumnType("TEXT"); |
|
|
|
b.HasKey("Id"); |
|
|
|
b.HasIndex("LibraryId"); |
|
|
|
b.ToTable("LibraryPath"); |
|
}); |
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.MediaFile", b => |
|
{ |
|
b.Property<int>("Id") |
|
.ValueGeneratedOnAdd() |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<int>("MediaVersionId") |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<string>("Path") |
|
.HasColumnType("TEXT"); |
|
|
|
b.HasKey("Id"); |
|
|
|
b.HasIndex("MediaVersionId"); |
|
|
|
b.HasIndex("Path") |
|
.IsUnique(); |
|
|
|
b.ToTable("MediaFile"); |
|
}); |
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.MediaItem", b => |
|
{ |
|
b.Property<int>("Id") |
|
.ValueGeneratedOnAdd() |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<int>("LibraryPathId") |
|
.HasColumnType("INTEGER"); |
|
|
|
b.HasKey("Id"); |
|
|
|
b.HasIndex("LibraryPathId"); |
|
|
|
b.ToTable("MediaItem"); |
|
}); |
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.MediaSource", b => |
|
{ |
|
b.Property<int>("Id") |
|
.ValueGeneratedOnAdd() |
|
.HasColumnType("INTEGER"); |
|
|
|
b.HasKey("Id"); |
|
|
|
b.ToTable("MediaSource"); |
|
}); |
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.MediaStream", b => |
|
{ |
|
b.Property<int>("Id") |
|
.ValueGeneratedOnAdd() |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<int>("BitsPerRawSample") |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<int>("Channels") |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<string>("Codec") |
|
.HasColumnType("TEXT"); |
|
|
|
b.Property<bool>("Default") |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<bool>("Forced") |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<int>("Index") |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<string>("Language") |
|
.HasColumnType("TEXT"); |
|
|
|
b.Property<int>("MediaStreamKind") |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<int>("MediaVersionId") |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<string>("PixelFormat") |
|
.HasColumnType("TEXT"); |
|
|
|
b.Property<string>("Profile") |
|
.HasColumnType("TEXT"); |
|
|
|
b.Property<string>("Title") |
|
.HasColumnType("TEXT"); |
|
|
|
b.HasKey("Id"); |
|
|
|
b.HasIndex("MediaVersionId"); |
|
|
|
b.ToTable("MediaStream"); |
|
}); |
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.MediaVersion", b => |
|
{ |
|
b.Property<int>("Id") |
|
.ValueGeneratedOnAdd() |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<DateTime>("DateAdded") |
|
.HasColumnType("TEXT"); |
|
|
|
b.Property<DateTime>("DateUpdated") |
|
.HasColumnType("TEXT"); |
|
|
|
b.Property<string>("DisplayAspectRatio") |
|
.HasColumnType("TEXT"); |
|
|
|
b.Property<TimeSpan>("Duration") |
|
.HasColumnType("TEXT"); |
|
|
|
b.Property<int?>("EpisodeId") |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<int>("Height") |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<int?>("MovieId") |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<int?>("MusicVideoId") |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<string>("Name") |
|
.HasColumnType("TEXT"); |
|
|
|
b.Property<string>("RFrameRate") |
|
.HasColumnType("TEXT"); |
|
|
|
b.Property<string>("SampleAspectRatio") |
|
.HasColumnType("TEXT"); |
|
|
|
b.Property<int>("VideoScanKind") |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<int>("Width") |
|
.HasColumnType("INTEGER"); |
|
|
|
b.HasKey("Id"); |
|
|
|
b.HasIndex("EpisodeId"); |
|
|
|
b.HasIndex("MovieId"); |
|
|
|
b.HasIndex("MusicVideoId"); |
|
|
|
b.ToTable("MediaVersion"); |
|
}); |
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.MetadataGuid", b => |
|
{ |
|
b.Property<int>("Id") |
|
.ValueGeneratedOnAdd() |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<int?>("ArtistMetadataId") |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<int?>("EpisodeMetadataId") |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<string>("Guid") |
|
.HasColumnType("TEXT"); |
|
|
|
b.Property<int?>("MovieMetadataId") |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<int?>("MusicVideoMetadataId") |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<int?>("SeasonMetadataId") |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<int?>("ShowMetadataId") |
|
.HasColumnType("INTEGER"); |
|
|
|
b.HasKey("Id"); |
|
|
|
b.HasIndex("ArtistMetadataId"); |
|
|
|
b.HasIndex("EpisodeMetadataId"); |
|
|
|
b.HasIndex("MovieMetadataId"); |
|
|
|
b.HasIndex("MusicVideoMetadataId"); |
|
|
|
b.HasIndex("SeasonMetadataId"); |
|
|
|
b.HasIndex("ShowMetadataId"); |
|
|
|
b.ToTable("MetadataGuid"); |
|
}); |
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.Mood", b => |
|
{ |
|
b.Property<int>("Id") |
|
.ValueGeneratedOnAdd() |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<int?>("ArtistMetadataId") |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<string>("Name") |
|
.HasColumnType("TEXT"); |
|
|
|
b.HasKey("Id"); |
|
|
|
b.HasIndex("ArtistMetadataId"); |
|
|
|
b.ToTable("Mood"); |
|
}); |
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.MovieMetadata", b => |
|
{ |
|
b.Property<int>("Id") |
|
.ValueGeneratedOnAdd() |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<string>("ContentRating") |
|
.HasColumnType("TEXT"); |
|
|
|
b.Property<DateTime>("DateAdded") |
|
.HasColumnType("TEXT"); |
|
|
|
b.Property<DateTime>("DateUpdated") |
|
.HasColumnType("TEXT"); |
|
|
|
b.Property<int>("MetadataKind") |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<int>("MovieId") |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<string>("OriginalTitle") |
|
.HasColumnType("TEXT"); |
|
|
|
b.Property<string>("Outline") |
|
.HasColumnType("TEXT"); |
|
|
|
b.Property<string>("Plot") |
|
.HasColumnType("TEXT"); |
|
|
|
b.Property<DateTime?>("ReleaseDate") |
|
.HasColumnType("TEXT"); |
|
|
|
b.Property<string>("SortTitle") |
|
.HasColumnType("TEXT"); |
|
|
|
b.Property<string>("Tagline") |
|
.HasColumnType("TEXT"); |
|
|
|
b.Property<string>("Title") |
|
.HasColumnType("TEXT"); |
|
|
|
b.Property<int?>("Year") |
|
.HasColumnType("INTEGER"); |
|
|
|
b.HasKey("Id"); |
|
|
|
b.HasIndex("MovieId"); |
|
|
|
b.ToTable("MovieMetadata"); |
|
}); |
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.MultiCollection", b => |
|
{ |
|
b.Property<int>("Id") |
|
.ValueGeneratedOnAdd() |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<string>("Name") |
|
.HasColumnType("TEXT"); |
|
|
|
b.HasKey("Id"); |
|
|
|
b.ToTable("MultiCollection"); |
|
}); |
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.MultiCollectionItem", b => |
|
{ |
|
b.Property<int>("MultiCollectionId") |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<int>("CollectionId") |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<int>("PlaybackOrder") |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<bool>("ScheduleAsGroup") |
|
.HasColumnType("INTEGER"); |
|
|
|
b.HasKey("MultiCollectionId", "CollectionId"); |
|
|
|
b.HasIndex("CollectionId"); |
|
|
|
b.ToTable("MultiCollectionItem"); |
|
}); |
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.MultiCollectionSmartItem", b => |
|
{ |
|
b.Property<int>("MultiCollectionId") |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<int>("SmartCollectionId") |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<int>("PlaybackOrder") |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<bool>("ScheduleAsGroup") |
|
.HasColumnType("INTEGER"); |
|
|
|
b.HasKey("MultiCollectionId", "SmartCollectionId"); |
|
|
|
b.HasIndex("SmartCollectionId"); |
|
|
|
b.ToTable("MultiCollectionSmartItem"); |
|
}); |
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.MusicVideoMetadata", b => |
|
{ |
|
b.Property<int>("Id") |
|
.ValueGeneratedOnAdd() |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<string>("Album") |
|
.HasColumnType("TEXT"); |
|
|
|
b.Property<DateTime>("DateAdded") |
|
.HasColumnType("TEXT"); |
|
|
|
b.Property<DateTime>("DateUpdated") |
|
.HasColumnType("TEXT"); |
|
|
|
b.Property<int>("MetadataKind") |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<int>("MusicVideoId") |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<string>("OriginalTitle") |
|
.HasColumnType("TEXT"); |
|
|
|
b.Property<string>("Plot") |
|
.HasColumnType("TEXT"); |
|
|
|
b.Property<DateTime?>("ReleaseDate") |
|
.HasColumnType("TEXT"); |
|
|
|
b.Property<string>("SortTitle") |
|
.HasColumnType("TEXT"); |
|
|
|
b.Property<string>("Title") |
|
.HasColumnType("TEXT"); |
|
|
|
b.Property<int?>("Year") |
|
.HasColumnType("INTEGER"); |
|
|
|
b.HasKey("Id"); |
|
|
|
b.HasIndex("MusicVideoId"); |
|
|
|
b.ToTable("MusicVideoMetadata"); |
|
}); |
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.Playout", b => |
|
{ |
|
b.Property<int>("Id") |
|
.ValueGeneratedOnAdd() |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<int>("ChannelId") |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<TimeSpan?>("DailyRebuildTime") |
|
.HasColumnType("TEXT"); |
|
|
|
b.Property<int>("ProgramScheduleId") |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<int>("ProgramSchedulePlayoutType") |
|
.HasColumnType("INTEGER"); |
|
|
|
b.HasKey("Id"); |
|
|
|
b.HasIndex("ChannelId"); |
|
|
|
b.HasIndex("ProgramScheduleId"); |
|
|
|
b.ToTable("Playout"); |
|
}); |
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.PlayoutItem", b => |
|
{ |
|
b.Property<int>("Id") |
|
.ValueGeneratedOnAdd() |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<bool>("CustomGroup") |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<string>("CustomTitle") |
|
.HasColumnType("TEXT"); |
|
|
|
b.Property<DateTime>("Finish") |
|
.HasColumnType("TEXT"); |
|
|
|
b.Property<bool>("IsFiller") |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<int>("MediaItemId") |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<int>("PlayoutId") |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<DateTime>("Start") |
|
.HasColumnType("TEXT"); |
|
|
|
b.HasKey("Id"); |
|
|
|
b.HasIndex("MediaItemId"); |
|
|
|
b.HasIndex("PlayoutId"); |
|
|
|
b.ToTable("PlayoutItem"); |
|
}); |
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.PlayoutProgramScheduleAnchor", b => |
|
{ |
|
b.Property<int>("Id") |
|
.ValueGeneratedOnAdd() |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<int?>("CollectionId") |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<int>("CollectionType") |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<int?>("MediaItemId") |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<int?>("MultiCollectionId") |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<int>("PlayoutId") |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<int>("ProgramScheduleId") |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<int?>("SmartCollectionId") |
|
.HasColumnType("INTEGER"); |
|
|
|
b.HasKey("Id"); |
|
|
|
b.HasIndex("CollectionId"); |
|
|
|
b.HasIndex("MediaItemId"); |
|
|
|
b.HasIndex("MultiCollectionId"); |
|
|
|
b.HasIndex("PlayoutId"); |
|
|
|
b.HasIndex("ProgramScheduleId"); |
|
|
|
b.HasIndex("SmartCollectionId"); |
|
|
|
b.ToTable("PlayoutProgramScheduleAnchor"); |
|
}); |
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.PlexConnection", b => |
|
{ |
|
b.Property<int>("Id") |
|
.ValueGeneratedOnAdd() |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<bool>("IsActive") |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<int>("PlexMediaSourceId") |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<string>("Uri") |
|
.HasColumnType("TEXT"); |
|
|
|
b.HasKey("Id"); |
|
|
|
b.HasIndex("PlexMediaSourceId"); |
|
|
|
b.ToTable("PlexConnection"); |
|
}); |
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.PlexPathReplacement", b => |
|
{ |
|
b.Property<int>("Id") |
|
.ValueGeneratedOnAdd() |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<string>("LocalPath") |
|
.HasColumnType("TEXT"); |
|
|
|
b.Property<int>("PlexMediaSourceId") |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<string>("PlexPath") |
|
.HasColumnType("TEXT"); |
|
|
|
b.HasKey("Id"); |
|
|
|
b.HasIndex("PlexMediaSourceId"); |
|
|
|
b.ToTable("PlexPathReplacement"); |
|
}); |
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.ProgramSchedule", b => |
|
{ |
|
b.Property<int>("Id") |
|
.ValueGeneratedOnAdd() |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<bool>("KeepMultiPartEpisodesTogether") |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<string>("Name") |
|
.HasColumnType("TEXT"); |
|
|
|
b.Property<bool>("TreatCollectionsAsShows") |
|
.HasColumnType("INTEGER"); |
|
|
|
b.HasKey("Id"); |
|
|
|
b.HasIndex("Name") |
|
.IsUnique(); |
|
|
|
b.ToTable("ProgramSchedule"); |
|
}); |
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.ProgramScheduleItem", b => |
|
{ |
|
b.Property<int>("Id") |
|
.ValueGeneratedOnAdd() |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<int?>("CollectionId") |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<int>("CollectionType") |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<string>("CustomTitle") |
|
.HasColumnType("TEXT"); |
|
|
|
b.Property<int>("Index") |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<int?>("MediaItemId") |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<int?>("MultiCollectionId") |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<int>("PlaybackOrder") |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<int>("ProgramScheduleId") |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<int?>("SmartCollectionId") |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<TimeSpan?>("StartTime") |
|
.HasColumnType("TEXT"); |
|
|
|
b.HasKey("Id"); |
|
|
|
b.HasIndex("CollectionId"); |
|
|
|
b.HasIndex("MediaItemId"); |
|
|
|
b.HasIndex("MultiCollectionId"); |
|
|
|
b.HasIndex("ProgramScheduleId"); |
|
|
|
b.HasIndex("SmartCollectionId"); |
|
|
|
b.ToTable("ProgramScheduleItem"); |
|
}); |
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.Resolution", b => |
|
{ |
|
b.Property<int>("Id") |
|
.ValueGeneratedOnAdd() |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<int>("Height") |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<string>("Name") |
|
.HasColumnType("TEXT"); |
|
|
|
b.Property<int>("Width") |
|
.HasColumnType("INTEGER"); |
|
|
|
b.HasKey("Id"); |
|
|
|
b.ToTable("Resolution"); |
|
}); |
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.SeasonMetadata", b => |
|
{ |
|
b.Property<int>("Id") |
|
.ValueGeneratedOnAdd() |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<DateTime>("DateAdded") |
|
.HasColumnType("TEXT"); |
|
|
|
b.Property<DateTime>("DateUpdated") |
|
.HasColumnType("TEXT"); |
|
|
|
b.Property<int>("MetadataKind") |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<string>("OriginalTitle") |
|
.HasColumnType("TEXT"); |
|
|
|
b.Property<string>("Outline") |
|
.HasColumnType("TEXT"); |
|
|
|
b.Property<DateTime?>("ReleaseDate") |
|
.HasColumnType("TEXT"); |
|
|
|
b.Property<int>("SeasonId") |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<string>("SortTitle") |
|
.HasColumnType("TEXT"); |
|
|
|
b.Property<string>("Title") |
|
.HasColumnType("TEXT"); |
|
|
|
b.Property<int?>("Year") |
|
.HasColumnType("INTEGER"); |
|
|
|
b.HasKey("Id"); |
|
|
|
b.HasIndex("SeasonId"); |
|
|
|
b.ToTable("SeasonMetadata"); |
|
}); |
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.ShowMetadata", b => |
|
{ |
|
b.Property<int>("Id") |
|
.ValueGeneratedOnAdd() |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<string>("ContentRating") |
|
.HasColumnType("TEXT"); |
|
|
|
b.Property<DateTime>("DateAdded") |
|
.HasColumnType("TEXT"); |
|
|
|
b.Property<DateTime>("DateUpdated") |
|
.HasColumnType("TEXT"); |
|
|
|
b.Property<int>("MetadataKind") |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<string>("OriginalTitle") |
|
.HasColumnType("TEXT"); |
|
|
|
b.Property<string>("Outline") |
|
.HasColumnType("TEXT"); |
|
|
|
b.Property<string>("Plot") |
|
.HasColumnType("TEXT"); |
|
|
|
b.Property<DateTime?>("ReleaseDate") |
|
.HasColumnType("TEXT"); |
|
|
|
b.Property<int>("ShowId") |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<string>("SortTitle") |
|
.HasColumnType("TEXT"); |
|
|
|
b.Property<string>("Tagline") |
|
.HasColumnType("TEXT"); |
|
|
|
b.Property<string>("Title") |
|
.HasColumnType("TEXT"); |
|
|
|
b.Property<int?>("Year") |
|
.HasColumnType("INTEGER"); |
|
|
|
b.HasKey("Id"); |
|
|
|
b.HasIndex("ShowId"); |
|
|
|
b.ToTable("ShowMetadata"); |
|
}); |
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.SmartCollection", b => |
|
{ |
|
b.Property<int>("Id") |
|
.ValueGeneratedOnAdd() |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<string>("Name") |
|
.HasColumnType("TEXT"); |
|
|
|
b.Property<string>("Query") |
|
.HasColumnType("TEXT"); |
|
|
|
b.HasKey("Id"); |
|
|
|
b.ToTable("SmartCollection"); |
|
}); |
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.Studio", b => |
|
{ |
|
b.Property<int>("Id") |
|
.ValueGeneratedOnAdd() |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<int?>("ArtistMetadataId") |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<int?>("EpisodeMetadataId") |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<int?>("MovieMetadataId") |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<int?>("MusicVideoMetadataId") |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<string>("Name") |
|
.HasColumnType("TEXT"); |
|
|
|
b.Property<int?>("SeasonMetadataId") |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<int?>("ShowMetadataId") |
|
.HasColumnType("INTEGER"); |
|
|
|
b.HasKey("Id"); |
|
|
|
b.HasIndex("ArtistMetadataId"); |
|
|
|
b.HasIndex("EpisodeMetadataId"); |
|
|
|
b.HasIndex("MovieMetadataId"); |
|
|
|
b.HasIndex("MusicVideoMetadataId"); |
|
|
|
b.HasIndex("SeasonMetadataId"); |
|
|
|
b.HasIndex("ShowMetadataId"); |
|
|
|
b.ToTable("Studio"); |
|
}); |
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.Style", b => |
|
{ |
|
b.Property<int>("Id") |
|
.ValueGeneratedOnAdd() |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<int?>("ArtistMetadataId") |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<string>("Name") |
|
.HasColumnType("TEXT"); |
|
|
|
b.HasKey("Id"); |
|
|
|
b.HasIndex("ArtistMetadataId"); |
|
|
|
b.ToTable("Style"); |
|
}); |
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.Tag", b => |
|
{ |
|
b.Property<int>("Id") |
|
.ValueGeneratedOnAdd() |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<int?>("ArtistMetadataId") |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<int?>("EpisodeMetadataId") |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<int?>("MovieMetadataId") |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<int?>("MusicVideoMetadataId") |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<string>("Name") |
|
.HasColumnType("TEXT"); |
|
|
|
b.Property<int?>("SeasonMetadataId") |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<int?>("ShowMetadataId") |
|
.HasColumnType("INTEGER"); |
|
|
|
b.HasKey("Id"); |
|
|
|
b.HasIndex("ArtistMetadataId"); |
|
|
|
b.HasIndex("EpisodeMetadataId"); |
|
|
|
b.HasIndex("MovieMetadataId"); |
|
|
|
b.HasIndex("MusicVideoMetadataId"); |
|
|
|
b.HasIndex("SeasonMetadataId"); |
|
|
|
b.HasIndex("ShowMetadataId"); |
|
|
|
b.ToTable("Tag"); |
|
}); |
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.TraktList", b => |
|
{ |
|
b.Property<int>("Id") |
|
.ValueGeneratedOnAdd() |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<string>("Description") |
|
.HasColumnType("TEXT"); |
|
|
|
b.Property<int>("ItemCount") |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<string>("List") |
|
.HasColumnType("TEXT"); |
|
|
|
b.Property<string>("Name") |
|
.HasColumnType("TEXT"); |
|
|
|
b.Property<int>("TraktId") |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<string>("User") |
|
.HasColumnType("TEXT"); |
|
|
|
b.HasKey("Id"); |
|
|
|
b.ToTable("TraktList"); |
|
}); |
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.TraktListItem", b => |
|
{ |
|
b.Property<int>("Id") |
|
.ValueGeneratedOnAdd() |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<int?>("Episode") |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<int>("Kind") |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<int?>("MediaItemId") |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<int>("Rank") |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<int?>("Season") |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<string>("Title") |
|
.HasColumnType("TEXT"); |
|
|
|
b.Property<int>("TraktId") |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<int>("TraktListId") |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<int?>("Year") |
|
.HasColumnType("INTEGER"); |
|
|
|
b.HasKey("Id"); |
|
|
|
b.HasIndex("MediaItemId"); |
|
|
|
b.HasIndex("TraktListId"); |
|
|
|
b.ToTable("TraktListItem"); |
|
}); |
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.TraktListItemGuid", b => |
|
{ |
|
b.Property<int>("Id") |
|
.ValueGeneratedOnAdd() |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<string>("Guid") |
|
.HasColumnType("TEXT"); |
|
|
|
b.Property<int>("TraktListItemId") |
|
.HasColumnType("INTEGER"); |
|
|
|
b.HasKey("Id"); |
|
|
|
b.HasIndex("TraktListItemId"); |
|
|
|
b.ToTable("TraktListItemGuid"); |
|
}); |
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.Writer", b => |
|
{ |
|
b.Property<int>("Id") |
|
.ValueGeneratedOnAdd() |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<int?>("EpisodeMetadataId") |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<int?>("MovieMetadataId") |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<string>("Name") |
|
.HasColumnType("TEXT"); |
|
|
|
b.HasKey("Id"); |
|
|
|
b.HasIndex("EpisodeMetadataId"); |
|
|
|
b.HasIndex("MovieMetadataId"); |
|
|
|
b.ToTable("Writer"); |
|
}); |
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.EmbyLibrary", b => |
|
{ |
|
b.HasBaseType("ErsatzTV.Core.Domain.Library"); |
|
|
|
b.Property<string>("ItemId") |
|
.HasColumnType("TEXT"); |
|
|
|
b.Property<bool>("ShouldSyncItems") |
|
.HasColumnType("INTEGER"); |
|
|
|
b.ToTable("EmbyLibrary"); |
|
}); |
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.JellyfinLibrary", b => |
|
{ |
|
b.HasBaseType("ErsatzTV.Core.Domain.Library"); |
|
|
|
b.Property<string>("ItemId") |
|
.HasColumnType("TEXT"); |
|
|
|
b.Property<bool>("ShouldSyncItems") |
|
.HasColumnType("INTEGER"); |
|
|
|
b.ToTable("JellyfinLibrary"); |
|
}); |
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.LocalLibrary", b => |
|
{ |
|
b.HasBaseType("ErsatzTV.Core.Domain.Library"); |
|
|
|
b.ToTable("LocalLibrary"); |
|
}); |
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.PlexLibrary", b => |
|
{ |
|
b.HasBaseType("ErsatzTV.Core.Domain.Library"); |
|
|
|
b.Property<string>("Key") |
|
.HasColumnType("TEXT"); |
|
|
|
b.Property<bool>("ShouldSyncItems") |
|
.HasColumnType("INTEGER"); |
|
|
|
b.ToTable("PlexLibrary"); |
|
}); |
|
|
|
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.Artist", b => |
|
{ |
|
b.HasBaseType("ErsatzTV.Core.Domain.MediaItem"); |
|
|
|
b.ToTable("Artist"); |
|
}); |
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.Episode", b => |
|
{ |
|
b.HasBaseType("ErsatzTV.Core.Domain.MediaItem"); |
|
|
|
b.Property<int>("SeasonId") |
|
.HasColumnType("INTEGER"); |
|
|
|
b.HasIndex("SeasonId"); |
|
|
|
b.ToTable("Episode"); |
|
}); |
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.Movie", b => |
|
{ |
|
b.HasBaseType("ErsatzTV.Core.Domain.MediaItem"); |
|
|
|
b.ToTable("Movie"); |
|
}); |
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.MusicVideo", b => |
|
{ |
|
b.HasBaseType("ErsatzTV.Core.Domain.MediaItem"); |
|
|
|
b.Property<int>("ArtistId") |
|
.HasColumnType("INTEGER"); |
|
|
|
b.HasIndex("ArtistId"); |
|
|
|
b.ToTable("MusicVideo"); |
|
}); |
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.Season", b => |
|
{ |
|
b.HasBaseType("ErsatzTV.Core.Domain.MediaItem"); |
|
|
|
b.Property<int>("SeasonNumber") |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<int>("ShowId") |
|
.HasColumnType("INTEGER"); |
|
|
|
b.HasIndex("ShowId"); |
|
|
|
b.ToTable("Season"); |
|
}); |
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.Show", b => |
|
{ |
|
b.HasBaseType("ErsatzTV.Core.Domain.MediaItem"); |
|
|
|
b.ToTable("Show"); |
|
}); |
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.EmbyMediaSource", b => |
|
{ |
|
b.HasBaseType("ErsatzTV.Core.Domain.MediaSource"); |
|
|
|
b.Property<string>("OperatingSystem") |
|
.HasColumnType("TEXT"); |
|
|
|
b.Property<string>("ServerName") |
|
.HasColumnType("TEXT"); |
|
|
|
b.ToTable("EmbyMediaSource"); |
|
}); |
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.JellyfinMediaSource", b => |
|
{ |
|
b.HasBaseType("ErsatzTV.Core.Domain.MediaSource"); |
|
|
|
b.Property<string>("OperatingSystem") |
|
.HasColumnType("TEXT"); |
|
|
|
b.Property<string>("ServerName") |
|
.HasColumnType("TEXT"); |
|
|
|
b.ToTable("JellyfinMediaSource"); |
|
}); |
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.LocalMediaSource", b => |
|
{ |
|
b.HasBaseType("ErsatzTV.Core.Domain.MediaSource"); |
|
|
|
b.ToTable("LocalMediaSource"); |
|
}); |
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.PlexMediaSource", b => |
|
{ |
|
b.HasBaseType("ErsatzTV.Core.Domain.MediaSource"); |
|
|
|
b.Property<string>("ClientIdentifier") |
|
.HasColumnType("TEXT"); |
|
|
|
b.Property<string>("Platform") |
|
.HasColumnType("TEXT"); |
|
|
|
b.Property<string>("PlatformVersion") |
|
.HasColumnType("TEXT"); |
|
|
|
b.Property<string>("ProductVersion") |
|
.HasColumnType("TEXT"); |
|
|
|
b.Property<string>("ServerName") |
|
.HasColumnType("TEXT"); |
|
|
|
b.ToTable("PlexMediaSource"); |
|
}); |
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.ProgramScheduleItemDuration", b => |
|
{ |
|
b.HasBaseType("ErsatzTV.Core.Domain.ProgramScheduleItem"); |
|
|
|
b.Property<TimeSpan>("PlayoutDuration") |
|
.HasColumnType("TEXT"); |
|
|
|
b.Property<int?>("TailCollectionId") |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<int>("TailCollectionType") |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<int?>("TailMediaItemId") |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<int>("TailMode") |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<int?>("TailMultiCollectionId") |
|
.HasColumnType("INTEGER"); |
|
|
|
b.Property<int?>("TailSmartCollectionId") |
|
.HasColumnType("INTEGER"); |
|
|
|
b.HasIndex("TailCollectionId"); |
|
|
|
b.HasIndex("TailMediaItemId"); |
|
|
|
b.HasIndex("TailMultiCollectionId"); |
|
|
|
b.HasIndex("TailSmartCollectionId"); |
|
|
|
b.ToTable("ProgramScheduleDurationItem"); |
|
}); |
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.ProgramScheduleItemFlood", b => |
|
{ |
|
b.HasBaseType("ErsatzTV.Core.Domain.ProgramScheduleItem"); |
|
|
|
b.ToTable("ProgramScheduleFloodItem"); |
|
}); |
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.ProgramScheduleItemMultiple", b => |
|
{ |
|
b.HasBaseType("ErsatzTV.Core.Domain.ProgramScheduleItem"); |
|
|
|
b.Property<int>("Count") |
|
.HasColumnType("INTEGER"); |
|
|
|
b.ToTable("ProgramScheduleMultipleItem"); |
|
}); |
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.ProgramScheduleItemOne", b => |
|
{ |
|
b.HasBaseType("ErsatzTV.Core.Domain.ProgramScheduleItem"); |
|
|
|
b.ToTable("ProgramScheduleOneItem"); |
|
}); |
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.EmbyEpisode", b => |
|
{ |
|
b.HasBaseType("ErsatzTV.Core.Domain.Episode"); |
|
|
|
b.Property<string>("Etag") |
|
.HasColumnType("TEXT"); |
|
|
|
b.Property<string>("ItemId") |
|
.HasColumnType("TEXT"); |
|
|
|
b.ToTable("EmbyEpisode"); |
|
}); |
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.JellyfinEpisode", b => |
|
{ |
|
b.HasBaseType("ErsatzTV.Core.Domain.Episode"); |
|
|
|
b.Property<string>("Etag") |
|
.HasColumnType("TEXT"); |
|
|
|
b.Property<string>("ItemId") |
|
.HasColumnType("TEXT"); |
|
|
|
b.ToTable("JellyfinEpisode"); |
|
}); |
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.PlexEpisode", b => |
|
{ |
|
b.HasBaseType("ErsatzTV.Core.Domain.Episode"); |
|
|
|
b.Property<string>("Key") |
|
.HasColumnType("TEXT"); |
|
|
|
b.ToTable("PlexEpisode"); |
|
}); |
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.EmbyMovie", b => |
|
{ |
|
b.HasBaseType("ErsatzTV.Core.Domain.Movie"); |
|
|
|
b.Property<string>("Etag") |
|
.HasColumnType("TEXT"); |
|
|
|
b.Property<string>("ItemId") |
|
.HasColumnType("TEXT"); |
|
|
|
b.ToTable("EmbyMovie"); |
|
}); |
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.JellyfinMovie", b => |
|
{ |
|
b.HasBaseType("ErsatzTV.Core.Domain.Movie"); |
|
|
|
b.Property<string>("Etag") |
|
.HasColumnType("TEXT"); |
|
|
|
b.Property<string>("ItemId") |
|
.HasColumnType("TEXT"); |
|
|
|
b.ToTable("JellyfinMovie"); |
|
}); |
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.PlexMovie", b => |
|
{ |
|
b.HasBaseType("ErsatzTV.Core.Domain.Movie"); |
|
|
|
b.Property<string>("Key") |
|
.HasColumnType("TEXT"); |
|
|
|
b.ToTable("PlexMovie"); |
|
}); |
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.EmbySeason", b => |
|
{ |
|
b.HasBaseType("ErsatzTV.Core.Domain.Season"); |
|
|
|
b.Property<string>("Etag") |
|
.HasColumnType("TEXT"); |
|
|
|
b.Property<string>("ItemId") |
|
.HasColumnType("TEXT"); |
|
|
|
b.ToTable("EmbySeason"); |
|
}); |
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.JellyfinSeason", b => |
|
{ |
|
b.HasBaseType("ErsatzTV.Core.Domain.Season"); |
|
|
|
b.Property<string>("Etag") |
|
.HasColumnType("TEXT"); |
|
|
|
b.Property<string>("ItemId") |
|
.HasColumnType("TEXT"); |
|
|
|
b.ToTable("JellyfinSeason"); |
|
}); |
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.PlexSeason", b => |
|
{ |
|
b.HasBaseType("ErsatzTV.Core.Domain.Season"); |
|
|
|
b.Property<string>("Key") |
|
.HasColumnType("TEXT"); |
|
|
|
b.ToTable("PlexSeason"); |
|
}); |
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.EmbyShow", b => |
|
{ |
|
b.HasBaseType("ErsatzTV.Core.Domain.Show"); |
|
|
|
b.Property<string>("Etag") |
|
.HasColumnType("TEXT"); |
|
|
|
b.Property<string>("ItemId") |
|
.HasColumnType("TEXT"); |
|
|
|
b.ToTable("EmbyShow"); |
|
}); |
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.JellyfinShow", b => |
|
{ |
|
b.HasBaseType("ErsatzTV.Core.Domain.Show"); |
|
|
|
b.Property<string>("Etag") |
|
.HasColumnType("TEXT"); |
|
|
|
b.Property<string>("ItemId") |
|
.HasColumnType("TEXT"); |
|
|
|
b.ToTable("JellyfinShow"); |
|
}); |
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.PlexShow", b => |
|
{ |
|
b.HasBaseType("ErsatzTV.Core.Domain.Show"); |
|
|
|
b.Property<string>("Key") |
|
.HasColumnType("TEXT"); |
|
|
|
b.ToTable("PlexShow"); |
|
}); |
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.Actor", b => |
|
{ |
|
b.HasOne("ErsatzTV.Core.Domain.ArtistMetadata", null) |
|
.WithMany("Actors") |
|
.HasForeignKey("ArtistMetadataId"); |
|
|
|
b.HasOne("ErsatzTV.Core.Domain.Artwork", "Artwork") |
|
.WithOne() |
|
.HasForeignKey("ErsatzTV.Core.Domain.Actor", "ArtworkId") |
|
.OnDelete(DeleteBehavior.Cascade); |
|
|
|
b.HasOne("ErsatzTV.Core.Domain.EpisodeMetadata", null) |
|
.WithMany("Actors") |
|
.HasForeignKey("EpisodeMetadataId") |
|
.OnDelete(DeleteBehavior.Cascade); |
|
|
|
b.HasOne("ErsatzTV.Core.Domain.MovieMetadata", null) |
|
.WithMany("Actors") |
|
.HasForeignKey("MovieMetadataId") |
|
.OnDelete(DeleteBehavior.Cascade); |
|
|
|
b.HasOne("ErsatzTV.Core.Domain.MusicVideoMetadata", null) |
|
.WithMany("Actors") |
|
.HasForeignKey("MusicVideoMetadataId"); |
|
|
|
b.HasOne("ErsatzTV.Core.Domain.SeasonMetadata", null) |
|
.WithMany("Actors") |
|
.HasForeignKey("SeasonMetadataId"); |
|
|
|
b.HasOne("ErsatzTV.Core.Domain.ShowMetadata", null) |
|
.WithMany("Actors") |
|
.HasForeignKey("ShowMetadataId") |
|
.OnDelete(DeleteBehavior.Cascade); |
|
|
|
b.Navigation("Artwork"); |
|
}); |
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.ArtistMetadata", b => |
|
{ |
|
b.HasOne("ErsatzTV.Core.Domain.Artist", "Artist") |
|
.WithMany("ArtistMetadata") |
|
.HasForeignKey("ArtistId") |
|
.OnDelete(DeleteBehavior.Cascade) |
|
.IsRequired(); |
|
|
|
b.Navigation("Artist"); |
|
}); |
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.Artwork", b => |
|
{ |
|
b.HasOne("ErsatzTV.Core.Domain.ArtistMetadata", null) |
|
.WithMany("Artwork") |
|
.HasForeignKey("ArtistMetadataId") |
|
.OnDelete(DeleteBehavior.Cascade); |
|
|
|
b.HasOne("ErsatzTV.Core.Domain.Channel", null) |
|
.WithMany("Artwork") |
|
.HasForeignKey("ChannelId") |
|
.OnDelete(DeleteBehavior.Cascade); |
|
|
|
b.HasOne("ErsatzTV.Core.Domain.EpisodeMetadata", null) |
|
.WithMany("Artwork") |
|
.HasForeignKey("EpisodeMetadataId") |
|
.OnDelete(DeleteBehavior.Cascade); |
|
|
|
b.HasOne("ErsatzTV.Core.Domain.MovieMetadata", null) |
|
.WithMany("Artwork") |
|
.HasForeignKey("MovieMetadataId") |
|
.OnDelete(DeleteBehavior.Cascade); |
|
|
|
b.HasOne("ErsatzTV.Core.Domain.MusicVideoMetadata", null) |
|
.WithMany("Artwork") |
|
.HasForeignKey("MusicVideoMetadataId") |
|
.OnDelete(DeleteBehavior.Cascade); |
|
|
|
b.HasOne("ErsatzTV.Core.Domain.SeasonMetadata", null) |
|
.WithMany("Artwork") |
|
.HasForeignKey("SeasonMetadataId") |
|
.OnDelete(DeleteBehavior.Cascade); |
|
|
|
b.HasOne("ErsatzTV.Core.Domain.ShowMetadata", null) |
|
.WithMany("Artwork") |
|
.HasForeignKey("ShowMetadataId") |
|
.OnDelete(DeleteBehavior.Cascade); |
|
}); |
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.Channel", b => |
|
{ |
|
b.HasOne("ErsatzTV.Core.Domain.FFmpegProfile", "FFmpegProfile") |
|
.WithMany() |
|
.HasForeignKey("FFmpegProfileId") |
|
.OnDelete(DeleteBehavior.Cascade) |
|
.IsRequired(); |
|
|
|
b.HasOne("ErsatzTV.Core.Domain.ChannelWatermark", "Watermark") |
|
.WithMany() |
|
.HasForeignKey("WatermarkId"); |
|
|
|
b.Navigation("FFmpegProfile"); |
|
|
|
b.Navigation("Watermark"); |
|
}); |
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.CollectionItem", b => |
|
{ |
|
b.HasOne("ErsatzTV.Core.Domain.Collection", "Collection") |
|
.WithMany("CollectionItems") |
|
.HasForeignKey("CollectionId") |
|
.OnDelete(DeleteBehavior.Cascade) |
|
.IsRequired(); |
|
|
|
b.HasOne("ErsatzTV.Core.Domain.MediaItem", "MediaItem") |
|
.WithMany("CollectionItems") |
|
.HasForeignKey("MediaItemId") |
|
.OnDelete(DeleteBehavior.Cascade) |
|
.IsRequired(); |
|
|
|
b.Navigation("Collection"); |
|
|
|
b.Navigation("MediaItem"); |
|
}); |
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.Director", b => |
|
{ |
|
b.HasOne("ErsatzTV.Core.Domain.EpisodeMetadata", null) |
|
.WithMany("Directors") |
|
.HasForeignKey("EpisodeMetadataId") |
|
.OnDelete(DeleteBehavior.Cascade); |
|
|
|
b.HasOne("ErsatzTV.Core.Domain.MovieMetadata", null) |
|
.WithMany("Directors") |
|
.HasForeignKey("MovieMetadataId") |
|
.OnDelete(DeleteBehavior.Cascade); |
|
}); |
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.EmbyConnection", b => |
|
{ |
|
b.HasOne("ErsatzTV.Core.Domain.EmbyMediaSource", "EmbyMediaSource") |
|
.WithMany("Connections") |
|
.HasForeignKey("EmbyMediaSourceId") |
|
.OnDelete(DeleteBehavior.Cascade) |
|
.IsRequired(); |
|
|
|
b.Navigation("EmbyMediaSource"); |
|
}); |
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.EmbyPathReplacement", b => |
|
{ |
|
b.HasOne("ErsatzTV.Core.Domain.EmbyMediaSource", "EmbyMediaSource") |
|
.WithMany("PathReplacements") |
|
.HasForeignKey("EmbyMediaSourceId") |
|
.OnDelete(DeleteBehavior.Cascade) |
|
.IsRequired(); |
|
|
|
b.Navigation("EmbyMediaSource"); |
|
}); |
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.EpisodeMetadata", b => |
|
{ |
|
b.HasOne("ErsatzTV.Core.Domain.Episode", "Episode") |
|
.WithMany("EpisodeMetadata") |
|
.HasForeignKey("EpisodeId") |
|
.OnDelete(DeleteBehavior.Cascade) |
|
.IsRequired(); |
|
|
|
b.Navigation("Episode"); |
|
}); |
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.FFmpegProfile", b => |
|
{ |
|
b.HasOne("ErsatzTV.Core.Domain.Resolution", "Resolution") |
|
.WithMany() |
|
.HasForeignKey("ResolutionId") |
|
.OnDelete(DeleteBehavior.Cascade) |
|
.IsRequired(); |
|
|
|
b.Navigation("Resolution"); |
|
}); |
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.Genre", b => |
|
{ |
|
b.HasOne("ErsatzTV.Core.Domain.ArtistMetadata", null) |
|
.WithMany("Genres") |
|
.HasForeignKey("ArtistMetadataId") |
|
.OnDelete(DeleteBehavior.Cascade); |
|
|
|
b.HasOne("ErsatzTV.Core.Domain.EpisodeMetadata", null) |
|
.WithMany("Genres") |
|
.HasForeignKey("EpisodeMetadataId"); |
|
|
|
b.HasOne("ErsatzTV.Core.Domain.MovieMetadata", null) |
|
.WithMany("Genres") |
|
.HasForeignKey("MovieMetadataId") |
|
.OnDelete(DeleteBehavior.Cascade); |
|
|
|
b.HasOne("ErsatzTV.Core.Domain.MusicVideoMetadata", null) |
|
.WithMany("Genres") |
|
.HasForeignKey("MusicVideoMetadataId") |
|
.OnDelete(DeleteBehavior.Cascade); |
|
|
|
b.HasOne("ErsatzTV.Core.Domain.SeasonMetadata", null) |
|
.WithMany("Genres") |
|
.HasForeignKey("SeasonMetadataId"); |
|
|
|
b.HasOne("ErsatzTV.Core.Domain.ShowMetadata", null) |
|
.WithMany("Genres") |
|
.HasForeignKey("ShowMetadataId") |
|
.OnDelete(DeleteBehavior.Cascade); |
|
}); |
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.JellyfinConnection", b => |
|
{ |
|
b.HasOne("ErsatzTV.Core.Domain.JellyfinMediaSource", "JellyfinMediaSource") |
|
.WithMany("Connections") |
|
.HasForeignKey("JellyfinMediaSourceId") |
|
.OnDelete(DeleteBehavior.Cascade) |
|
.IsRequired(); |
|
|
|
b.Navigation("JellyfinMediaSource"); |
|
}); |
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.JellyfinPathReplacement", b => |
|
{ |
|
b.HasOne("ErsatzTV.Core.Domain.JellyfinMediaSource", "JellyfinMediaSource") |
|
.WithMany("PathReplacements") |
|
.HasForeignKey("JellyfinMediaSourceId") |
|
.OnDelete(DeleteBehavior.Cascade) |
|
.IsRequired(); |
|
|
|
b.Navigation("JellyfinMediaSource"); |
|
}); |
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.Library", b => |
|
{ |
|
b.HasOne("ErsatzTV.Core.Domain.MediaSource", "MediaSource") |
|
.WithMany("Libraries") |
|
.HasForeignKey("MediaSourceId") |
|
.OnDelete(DeleteBehavior.Cascade) |
|
.IsRequired(); |
|
|
|
b.Navigation("MediaSource"); |
|
}); |
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.LibraryFolder", b => |
|
{ |
|
b.HasOne("ErsatzTV.Core.Domain.LibraryPath", "LibraryPath") |
|
.WithMany("LibraryFolders") |
|
.HasForeignKey("LibraryPathId") |
|
.OnDelete(DeleteBehavior.Cascade) |
|
.IsRequired(); |
|
|
|
b.Navigation("LibraryPath"); |
|
}); |
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.LibraryPath", b => |
|
{ |
|
b.HasOne("ErsatzTV.Core.Domain.Library", "Library") |
|
.WithMany("Paths") |
|
.HasForeignKey("LibraryId") |
|
.OnDelete(DeleteBehavior.Cascade) |
|
.IsRequired(); |
|
|
|
b.Navigation("Library"); |
|
}); |
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.MediaFile", b => |
|
{ |
|
b.HasOne("ErsatzTV.Core.Domain.MediaVersion", "MediaVersion") |
|
.WithMany("MediaFiles") |
|
.HasForeignKey("MediaVersionId") |
|
.OnDelete(DeleteBehavior.Cascade) |
|
.IsRequired(); |
|
|
|
b.Navigation("MediaVersion"); |
|
}); |
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.MediaItem", b => |
|
{ |
|
b.HasOne("ErsatzTV.Core.Domain.LibraryPath", "LibraryPath") |
|
.WithMany("MediaItems") |
|
.HasForeignKey("LibraryPathId") |
|
.OnDelete(DeleteBehavior.Cascade) |
|
.IsRequired(); |
|
|
|
b.Navigation("LibraryPath"); |
|
}); |
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.MediaStream", b => |
|
{ |
|
b.HasOne("ErsatzTV.Core.Domain.MediaVersion", "MediaVersion") |
|
.WithMany("Streams") |
|
.HasForeignKey("MediaVersionId") |
|
.OnDelete(DeleteBehavior.Cascade) |
|
.IsRequired(); |
|
|
|
b.Navigation("MediaVersion"); |
|
}); |
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.MediaVersion", b => |
|
{ |
|
b.HasOne("ErsatzTV.Core.Domain.Episode", null) |
|
.WithMany("MediaVersions") |
|
.HasForeignKey("EpisodeId") |
|
.OnDelete(DeleteBehavior.Cascade); |
|
|
|
b.HasOne("ErsatzTV.Core.Domain.Movie", null) |
|
.WithMany("MediaVersions") |
|
.HasForeignKey("MovieId") |
|
.OnDelete(DeleteBehavior.Cascade); |
|
|
|
b.HasOne("ErsatzTV.Core.Domain.MusicVideo", null) |
|
.WithMany("MediaVersions") |
|
.HasForeignKey("MusicVideoId") |
|
.OnDelete(DeleteBehavior.Cascade); |
|
}); |
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.MetadataGuid", b => |
|
{ |
|
b.HasOne("ErsatzTV.Core.Domain.ArtistMetadata", null) |
|
.WithMany("Guids") |
|
.HasForeignKey("ArtistMetadataId"); |
|
|
|
b.HasOne("ErsatzTV.Core.Domain.EpisodeMetadata", null) |
|
.WithMany("Guids") |
|
.HasForeignKey("EpisodeMetadataId") |
|
.OnDelete(DeleteBehavior.Cascade); |
|
|
|
b.HasOne("ErsatzTV.Core.Domain.MovieMetadata", null) |
|
.WithMany("Guids") |
|
.HasForeignKey("MovieMetadataId") |
|
.OnDelete(DeleteBehavior.Cascade); |
|
|
|
b.HasOne("ErsatzTV.Core.Domain.MusicVideoMetadata", null) |
|
.WithMany("Guids") |
|
.HasForeignKey("MusicVideoMetadataId"); |
|
|
|
b.HasOne("ErsatzTV.Core.Domain.SeasonMetadata", null) |
|
.WithMany("Guids") |
|
.HasForeignKey("SeasonMetadataId") |
|
.OnDelete(DeleteBehavior.Cascade); |
|
|
|
b.HasOne("ErsatzTV.Core.Domain.ShowMetadata", null) |
|
.WithMany("Guids") |
|
.HasForeignKey("ShowMetadataId") |
|
.OnDelete(DeleteBehavior.Cascade); |
|
}); |
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.Mood", b => |
|
{ |
|
b.HasOne("ErsatzTV.Core.Domain.ArtistMetadata", null) |
|
.WithMany("Moods") |
|
.HasForeignKey("ArtistMetadataId") |
|
.OnDelete(DeleteBehavior.Cascade); |
|
}); |
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.MovieMetadata", b => |
|
{ |
|
b.HasOne("ErsatzTV.Core.Domain.Movie", "Movie") |
|
.WithMany("MovieMetadata") |
|
.HasForeignKey("MovieId") |
|
.OnDelete(DeleteBehavior.Cascade) |
|
.IsRequired(); |
|
|
|
b.Navigation("Movie"); |
|
}); |
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.MultiCollectionItem", b => |
|
{ |
|
b.HasOne("ErsatzTV.Core.Domain.Collection", "Collection") |
|
.WithMany("MultiCollectionItems") |
|
.HasForeignKey("CollectionId") |
|
.OnDelete(DeleteBehavior.Cascade) |
|
.IsRequired(); |
|
|
|
b.HasOne("ErsatzTV.Core.Domain.MultiCollection", "MultiCollection") |
|
.WithMany("MultiCollectionItems") |
|
.HasForeignKey("MultiCollectionId") |
|
.OnDelete(DeleteBehavior.Cascade) |
|
.IsRequired(); |
|
|
|
b.Navigation("Collection"); |
|
|
|
b.Navigation("MultiCollection"); |
|
}); |
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.MultiCollectionSmartItem", b => |
|
{ |
|
b.HasOne("ErsatzTV.Core.Domain.MultiCollection", "MultiCollection") |
|
.WithMany("MultiCollectionSmartItems") |
|
.HasForeignKey("MultiCollectionId") |
|
.OnDelete(DeleteBehavior.Cascade) |
|
.IsRequired(); |
|
|
|
b.HasOne("ErsatzTV.Core.Domain.SmartCollection", "SmartCollection") |
|
.WithMany("MultiCollectionSmartItems") |
|
.HasForeignKey("SmartCollectionId") |
|
.OnDelete(DeleteBehavior.Cascade) |
|
.IsRequired(); |
|
|
|
b.Navigation("MultiCollection"); |
|
|
|
b.Navigation("SmartCollection"); |
|
}); |
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.MusicVideoMetadata", b => |
|
{ |
|
b.HasOne("ErsatzTV.Core.Domain.MusicVideo", "MusicVideo") |
|
.WithMany("MusicVideoMetadata") |
|
.HasForeignKey("MusicVideoId") |
|
.OnDelete(DeleteBehavior.Cascade) |
|
.IsRequired(); |
|
|
|
b.Navigation("MusicVideo"); |
|
}); |
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.Playout", b => |
|
{ |
|
b.HasOne("ErsatzTV.Core.Domain.Channel", "Channel") |
|
.WithMany("Playouts") |
|
.HasForeignKey("ChannelId") |
|
.OnDelete(DeleteBehavior.Cascade) |
|
.IsRequired(); |
|
|
|
b.HasOne("ErsatzTV.Core.Domain.ProgramSchedule", "ProgramSchedule") |
|
.WithMany("Playouts") |
|
.HasForeignKey("ProgramScheduleId") |
|
.OnDelete(DeleteBehavior.Cascade) |
|
.IsRequired(); |
|
|
|
b.OwnsOne("ErsatzTV.Core.Domain.PlayoutAnchor", "Anchor", b1 => |
|
{ |
|
b1.Property<int>("PlayoutId") |
|
.HasColumnType("INTEGER"); |
|
|
|
b1.Property<DateTime?>("DurationFinish") |
|
.HasColumnType("TEXT"); |
|
|
|
b1.Property<bool>("InDurationFiller") |
|
.HasColumnType("INTEGER"); |
|
|
|
b1.Property<bool>("InFlood") |
|
.HasColumnType("INTEGER"); |
|
|
|
b1.Property<int?>("MultipleRemaining") |
|
.HasColumnType("INTEGER"); |
|
|
|
b1.Property<int>("NextScheduleItemId") |
|
.HasColumnType("INTEGER"); |
|
|
|
b1.Property<DateTime>("NextStart") |
|
.HasColumnType("TEXT"); |
|
|
|
b1.HasKey("PlayoutId"); |
|
|
|
b1.HasIndex("NextScheduleItemId"); |
|
|
|
b1.ToTable("Playout"); |
|
|
|
b1.HasOne("ErsatzTV.Core.Domain.ProgramScheduleItem", "NextScheduleItem") |
|
.WithMany() |
|
.HasForeignKey("NextScheduleItemId") |
|
.OnDelete(DeleteBehavior.Cascade) |
|
.IsRequired(); |
|
|
|
b1.WithOwner() |
|
.HasForeignKey("PlayoutId"); |
|
|
|
b1.Navigation("NextScheduleItem"); |
|
}); |
|
|
|
b.Navigation("Anchor"); |
|
|
|
b.Navigation("Channel"); |
|
|
|
b.Navigation("ProgramSchedule"); |
|
}); |
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.PlayoutItem", b => |
|
{ |
|
b.HasOne("ErsatzTV.Core.Domain.MediaItem", "MediaItem") |
|
.WithMany() |
|
.HasForeignKey("MediaItemId") |
|
.OnDelete(DeleteBehavior.Cascade) |
|
.IsRequired(); |
|
|
|
b.HasOne("ErsatzTV.Core.Domain.Playout", "Playout") |
|
.WithMany("Items") |
|
.HasForeignKey("PlayoutId") |
|
.OnDelete(DeleteBehavior.Cascade) |
|
.IsRequired(); |
|
|
|
b.Navigation("MediaItem"); |
|
|
|
b.Navigation("Playout"); |
|
}); |
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.PlayoutProgramScheduleAnchor", b => |
|
{ |
|
b.HasOne("ErsatzTV.Core.Domain.Collection", "Collection") |
|
.WithMany() |
|
.HasForeignKey("CollectionId") |
|
.OnDelete(DeleteBehavior.Cascade); |
|
|
|
b.HasOne("ErsatzTV.Core.Domain.MediaItem", "MediaItem") |
|
.WithMany() |
|
.HasForeignKey("MediaItemId") |
|
.OnDelete(DeleteBehavior.Cascade); |
|
|
|
b.HasOne("ErsatzTV.Core.Domain.MultiCollection", "MultiCollection") |
|
.WithMany() |
|
.HasForeignKey("MultiCollectionId") |
|
.OnDelete(DeleteBehavior.Cascade); |
|
|
|
b.HasOne("ErsatzTV.Core.Domain.Playout", "Playout") |
|
.WithMany("ProgramScheduleAnchors") |
|
.HasForeignKey("PlayoutId") |
|
.OnDelete(DeleteBehavior.Cascade) |
|
.IsRequired(); |
|
|
|
b.HasOne("ErsatzTV.Core.Domain.ProgramSchedule", "ProgramSchedule") |
|
.WithMany() |
|
.HasForeignKey("ProgramScheduleId") |
|
.OnDelete(DeleteBehavior.Cascade) |
|
.IsRequired(); |
|
|
|
b.HasOne("ErsatzTV.Core.Domain.SmartCollection", "SmartCollection") |
|
.WithMany() |
|
.HasForeignKey("SmartCollectionId"); |
|
|
|
b.OwnsOne("ErsatzTV.Core.Domain.CollectionEnumeratorState", "EnumeratorState", b1 => |
|
{ |
|
b1.Property<int>("PlayoutProgramScheduleAnchorId") |
|
.HasColumnType("INTEGER"); |
|
|
|
b1.Property<int>("Index") |
|
.HasColumnType("INTEGER"); |
|
|
|
b1.Property<int>("Seed") |
|
.HasColumnType("INTEGER"); |
|
|
|
b1.HasKey("PlayoutProgramScheduleAnchorId"); |
|
|
|
b1.ToTable("PlayoutProgramScheduleAnchor"); |
|
|
|
b1.WithOwner() |
|
.HasForeignKey("PlayoutProgramScheduleAnchorId"); |
|
}); |
|
|
|
b.Navigation("Collection"); |
|
|
|
b.Navigation("EnumeratorState"); |
|
|
|
b.Navigation("MediaItem"); |
|
|
|
b.Navigation("MultiCollection"); |
|
|
|
b.Navigation("Playout"); |
|
|
|
b.Navigation("ProgramSchedule"); |
|
|
|
b.Navigation("SmartCollection"); |
|
}); |
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.PlexConnection", b => |
|
{ |
|
b.HasOne("ErsatzTV.Core.Domain.PlexMediaSource", "PlexMediaSource") |
|
.WithMany("Connections") |
|
.HasForeignKey("PlexMediaSourceId") |
|
.OnDelete(DeleteBehavior.Cascade) |
|
.IsRequired(); |
|
|
|
b.Navigation("PlexMediaSource"); |
|
}); |
|
|
|
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() |
|
.HasForeignKey("CollectionId") |
|
.OnDelete(DeleteBehavior.Cascade); |
|
|
|
b.HasOne("ErsatzTV.Core.Domain.MediaItem", "MediaItem") |
|
.WithMany() |
|
.HasForeignKey("MediaItemId") |
|
.OnDelete(DeleteBehavior.Cascade); |
|
|
|
b.HasOne("ErsatzTV.Core.Domain.MultiCollection", "MultiCollection") |
|
.WithMany() |
|
.HasForeignKey("MultiCollectionId") |
|
.OnDelete(DeleteBehavior.Cascade); |
|
|
|
b.HasOne("ErsatzTV.Core.Domain.ProgramSchedule", "ProgramSchedule") |
|
.WithMany("Items") |
|
.HasForeignKey("ProgramScheduleId") |
|
.OnDelete(DeleteBehavior.Cascade) |
|
.IsRequired(); |
|
|
|
b.HasOne("ErsatzTV.Core.Domain.SmartCollection", "SmartCollection") |
|
.WithMany() |
|
.HasForeignKey("SmartCollectionId"); |
|
|
|
b.Navigation("Collection"); |
|
|
|
b.Navigation("MediaItem"); |
|
|
|
b.Navigation("MultiCollection"); |
|
|
|
b.Navigation("ProgramSchedule"); |
|
|
|
b.Navigation("SmartCollection"); |
|
}); |
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.SeasonMetadata", b => |
|
{ |
|
b.HasOne("ErsatzTV.Core.Domain.Season", "Season") |
|
.WithMany("SeasonMetadata") |
|
.HasForeignKey("SeasonId") |
|
.OnDelete(DeleteBehavior.Cascade) |
|
.IsRequired(); |
|
|
|
b.Navigation("Season"); |
|
}); |
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.ShowMetadata", b => |
|
{ |
|
b.HasOne("ErsatzTV.Core.Domain.Show", "Show") |
|
.WithMany("ShowMetadata") |
|
.HasForeignKey("ShowId") |
|
.OnDelete(DeleteBehavior.Cascade) |
|
.IsRequired(); |
|
|
|
b.Navigation("Show"); |
|
}); |
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.Studio", b => |
|
{ |
|
b.HasOne("ErsatzTV.Core.Domain.ArtistMetadata", null) |
|
.WithMany("Studios") |
|
.HasForeignKey("ArtistMetadataId"); |
|
|
|
b.HasOne("ErsatzTV.Core.Domain.EpisodeMetadata", null) |
|
.WithMany("Studios") |
|
.HasForeignKey("EpisodeMetadataId"); |
|
|
|
b.HasOne("ErsatzTV.Core.Domain.MovieMetadata", null) |
|
.WithMany("Studios") |
|
.HasForeignKey("MovieMetadataId") |
|
.OnDelete(DeleteBehavior.Cascade); |
|
|
|
b.HasOne("ErsatzTV.Core.Domain.MusicVideoMetadata", null) |
|
.WithMany("Studios") |
|
.HasForeignKey("MusicVideoMetadataId") |
|
.OnDelete(DeleteBehavior.Cascade); |
|
|
|
b.HasOne("ErsatzTV.Core.Domain.SeasonMetadata", null) |
|
.WithMany("Studios") |
|
.HasForeignKey("SeasonMetadataId"); |
|
|
|
b.HasOne("ErsatzTV.Core.Domain.ShowMetadata", null) |
|
.WithMany("Studios") |
|
.HasForeignKey("ShowMetadataId") |
|
.OnDelete(DeleteBehavior.Cascade); |
|
}); |
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.Style", b => |
|
{ |
|
b.HasOne("ErsatzTV.Core.Domain.ArtistMetadata", null) |
|
.WithMany("Styles") |
|
.HasForeignKey("ArtistMetadataId") |
|
.OnDelete(DeleteBehavior.Cascade); |
|
}); |
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.Tag", b => |
|
{ |
|
b.HasOne("ErsatzTV.Core.Domain.ArtistMetadata", null) |
|
.WithMany("Tags") |
|
.HasForeignKey("ArtistMetadataId"); |
|
|
|
b.HasOne("ErsatzTV.Core.Domain.EpisodeMetadata", null) |
|
.WithMany("Tags") |
|
.HasForeignKey("EpisodeMetadataId"); |
|
|
|
b.HasOne("ErsatzTV.Core.Domain.MovieMetadata", null) |
|
.WithMany("Tags") |
|
.HasForeignKey("MovieMetadataId") |
|
.OnDelete(DeleteBehavior.Cascade); |
|
|
|
b.HasOne("ErsatzTV.Core.Domain.MusicVideoMetadata", null) |
|
.WithMany("Tags") |
|
.HasForeignKey("MusicVideoMetadataId") |
|
.OnDelete(DeleteBehavior.Cascade); |
|
|
|
b.HasOne("ErsatzTV.Core.Domain.SeasonMetadata", null) |
|
.WithMany("Tags") |
|
.HasForeignKey("SeasonMetadataId"); |
|
|
|
b.HasOne("ErsatzTV.Core.Domain.ShowMetadata", null) |
|
.WithMany("Tags") |
|
.HasForeignKey("ShowMetadataId") |
|
.OnDelete(DeleteBehavior.Cascade); |
|
}); |
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.TraktListItem", b => |
|
{ |
|
b.HasOne("ErsatzTV.Core.Domain.MediaItem", "MediaItem") |
|
.WithMany("TraktListItems") |
|
.HasForeignKey("MediaItemId") |
|
.OnDelete(DeleteBehavior.SetNull); |
|
|
|
b.HasOne("ErsatzTV.Core.Domain.TraktList", "TraktList") |
|
.WithMany("Items") |
|
.HasForeignKey("TraktListId") |
|
.OnDelete(DeleteBehavior.Cascade) |
|
.IsRequired(); |
|
|
|
b.Navigation("MediaItem"); |
|
|
|
b.Navigation("TraktList"); |
|
}); |
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.TraktListItemGuid", b => |
|
{ |
|
b.HasOne("ErsatzTV.Core.Domain.TraktListItem", "TraktListItem") |
|
.WithMany("Guids") |
|
.HasForeignKey("TraktListItemId") |
|
.OnDelete(DeleteBehavior.Cascade) |
|
.IsRequired(); |
|
|
|
b.Navigation("TraktListItem"); |
|
}); |
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.Writer", b => |
|
{ |
|
b.HasOne("ErsatzTV.Core.Domain.EpisodeMetadata", null) |
|
.WithMany("Writers") |
|
.HasForeignKey("EpisodeMetadataId") |
|
.OnDelete(DeleteBehavior.Cascade); |
|
|
|
b.HasOne("ErsatzTV.Core.Domain.MovieMetadata", null) |
|
.WithMany("Writers") |
|
.HasForeignKey("MovieMetadataId") |
|
.OnDelete(DeleteBehavior.Cascade); |
|
}); |
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.EmbyLibrary", b => |
|
{ |
|
b.HasOne("ErsatzTV.Core.Domain.Library", null) |
|
.WithOne() |
|
.HasForeignKey("ErsatzTV.Core.Domain.EmbyLibrary", "Id") |
|
.OnDelete(DeleteBehavior.Cascade) |
|
.IsRequired(); |
|
}); |
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.JellyfinLibrary", b => |
|
{ |
|
b.HasOne("ErsatzTV.Core.Domain.Library", null) |
|
.WithOne() |
|
.HasForeignKey("ErsatzTV.Core.Domain.JellyfinLibrary", "Id") |
|
.OnDelete(DeleteBehavior.Cascade) |
|
.IsRequired(); |
|
}); |
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.LocalLibrary", b => |
|
{ |
|
b.HasOne("ErsatzTV.Core.Domain.Library", null) |
|
.WithOne() |
|
.HasForeignKey("ErsatzTV.Core.Domain.LocalLibrary", "Id") |
|
.OnDelete(DeleteBehavior.Cascade) |
|
.IsRequired(); |
|
}); |
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.PlexLibrary", b => |
|
{ |
|
b.HasOne("ErsatzTV.Core.Domain.Library", null) |
|
.WithOne() |
|
.HasForeignKey("ErsatzTV.Core.Domain.PlexLibrary", "Id") |
|
.OnDelete(DeleteBehavior.Cascade) |
|
.IsRequired(); |
|
}); |
|
|
|
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.Artist", b => |
|
{ |
|
b.HasOne("ErsatzTV.Core.Domain.MediaItem", null) |
|
.WithOne() |
|
.HasForeignKey("ErsatzTV.Core.Domain.Artist", "Id") |
|
.OnDelete(DeleteBehavior.Cascade) |
|
.IsRequired(); |
|
}); |
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.Episode", b => |
|
{ |
|
b.HasOne("ErsatzTV.Core.Domain.MediaItem", null) |
|
.WithOne() |
|
.HasForeignKey("ErsatzTV.Core.Domain.Episode", "Id") |
|
.OnDelete(DeleteBehavior.Cascade) |
|
.IsRequired(); |
|
|
|
b.HasOne("ErsatzTV.Core.Domain.Season", "Season") |
|
.WithMany("Episodes") |
|
.HasForeignKey("SeasonId") |
|
.OnDelete(DeleteBehavior.Cascade) |
|
.IsRequired(); |
|
|
|
b.Navigation("Season"); |
|
}); |
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.Movie", b => |
|
{ |
|
b.HasOne("ErsatzTV.Core.Domain.MediaItem", null) |
|
.WithOne() |
|
.HasForeignKey("ErsatzTV.Core.Domain.Movie", "Id") |
|
.OnDelete(DeleteBehavior.Cascade) |
|
.IsRequired(); |
|
}); |
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.MusicVideo", b => |
|
{ |
|
b.HasOne("ErsatzTV.Core.Domain.Artist", "Artist") |
|
.WithMany("MusicVideos") |
|
.HasForeignKey("ArtistId") |
|
.OnDelete(DeleteBehavior.Cascade) |
|
.IsRequired(); |
|
|
|
b.HasOne("ErsatzTV.Core.Domain.MediaItem", null) |
|
.WithOne() |
|
.HasForeignKey("ErsatzTV.Core.Domain.MusicVideo", "Id") |
|
.OnDelete(DeleteBehavior.Cascade) |
|
.IsRequired(); |
|
|
|
b.Navigation("Artist"); |
|
}); |
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.Season", b => |
|
{ |
|
b.HasOne("ErsatzTV.Core.Domain.MediaItem", null) |
|
.WithOne() |
|
.HasForeignKey("ErsatzTV.Core.Domain.Season", "Id") |
|
.OnDelete(DeleteBehavior.Cascade) |
|
.IsRequired(); |
|
|
|
b.HasOne("ErsatzTV.Core.Domain.Show", "Show") |
|
.WithMany("Seasons") |
|
.HasForeignKey("ShowId") |
|
.OnDelete(DeleteBehavior.Cascade) |
|
.IsRequired(); |
|
|
|
b.Navigation("Show"); |
|
}); |
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.Show", b => |
|
{ |
|
b.HasOne("ErsatzTV.Core.Domain.MediaItem", null) |
|
.WithOne() |
|
.HasForeignKey("ErsatzTV.Core.Domain.Show", "Id") |
|
.OnDelete(DeleteBehavior.Cascade) |
|
.IsRequired(); |
|
}); |
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.EmbyMediaSource", b => |
|
{ |
|
b.HasOne("ErsatzTV.Core.Domain.MediaSource", null) |
|
.WithOne() |
|
.HasForeignKey("ErsatzTV.Core.Domain.EmbyMediaSource", "Id") |
|
.OnDelete(DeleteBehavior.Cascade) |
|
.IsRequired(); |
|
}); |
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.JellyfinMediaSource", b => |
|
{ |
|
b.HasOne("ErsatzTV.Core.Domain.MediaSource", null) |
|
.WithOne() |
|
.HasForeignKey("ErsatzTV.Core.Domain.JellyfinMediaSource", "Id") |
|
.OnDelete(DeleteBehavior.Cascade) |
|
.IsRequired(); |
|
}); |
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.LocalMediaSource", b => |
|
{ |
|
b.HasOne("ErsatzTV.Core.Domain.MediaSource", null) |
|
.WithOne() |
|
.HasForeignKey("ErsatzTV.Core.Domain.LocalMediaSource", "Id") |
|
.OnDelete(DeleteBehavior.Cascade) |
|
.IsRequired(); |
|
}); |
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.PlexMediaSource", b => |
|
{ |
|
b.HasOne("ErsatzTV.Core.Domain.MediaSource", null) |
|
.WithOne() |
|
.HasForeignKey("ErsatzTV.Core.Domain.PlexMediaSource", "Id") |
|
.OnDelete(DeleteBehavior.Cascade) |
|
.IsRequired(); |
|
}); |
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.ProgramScheduleItemDuration", b => |
|
{ |
|
b.HasOne("ErsatzTV.Core.Domain.ProgramScheduleItem", null) |
|
.WithOne() |
|
.HasForeignKey("ErsatzTV.Core.Domain.ProgramScheduleItemDuration", "Id") |
|
.OnDelete(DeleteBehavior.Cascade) |
|
.IsRequired(); |
|
|
|
b.HasOne("ErsatzTV.Core.Domain.Collection", "TailCollection") |
|
.WithMany() |
|
.HasForeignKey("TailCollectionId") |
|
.OnDelete(DeleteBehavior.Cascade); |
|
|
|
b.HasOne("ErsatzTV.Core.Domain.MediaItem", "TailMediaItem") |
|
.WithMany() |
|
.HasForeignKey("TailMediaItemId") |
|
.OnDelete(DeleteBehavior.Cascade); |
|
|
|
b.HasOne("ErsatzTV.Core.Domain.MultiCollection", "TailMultiCollection") |
|
.WithMany() |
|
.HasForeignKey("TailMultiCollectionId") |
|
.OnDelete(DeleteBehavior.Cascade); |
|
|
|
b.HasOne("ErsatzTV.Core.Domain.SmartCollection", "TailSmartCollection") |
|
.WithMany() |
|
.HasForeignKey("TailSmartCollectionId"); |
|
|
|
b.Navigation("TailCollection"); |
|
|
|
b.Navigation("TailMediaItem"); |
|
|
|
b.Navigation("TailMultiCollection"); |
|
|
|
b.Navigation("TailSmartCollection"); |
|
}); |
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.ProgramScheduleItemFlood", b => |
|
{ |
|
b.HasOne("ErsatzTV.Core.Domain.ProgramScheduleItem", null) |
|
.WithOne() |
|
.HasForeignKey("ErsatzTV.Core.Domain.ProgramScheduleItemFlood", "Id") |
|
.OnDelete(DeleteBehavior.Cascade) |
|
.IsRequired(); |
|
}); |
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.ProgramScheduleItemMultiple", b => |
|
{ |
|
b.HasOne("ErsatzTV.Core.Domain.ProgramScheduleItem", null) |
|
.WithOne() |
|
.HasForeignKey("ErsatzTV.Core.Domain.ProgramScheduleItemMultiple", "Id") |
|
.OnDelete(DeleteBehavior.Cascade) |
|
.IsRequired(); |
|
}); |
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.ProgramScheduleItemOne", b => |
|
{ |
|
b.HasOne("ErsatzTV.Core.Domain.ProgramScheduleItem", null) |
|
.WithOne() |
|
.HasForeignKey("ErsatzTV.Core.Domain.ProgramScheduleItemOne", "Id") |
|
.OnDelete(DeleteBehavior.Cascade) |
|
.IsRequired(); |
|
}); |
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.EmbyEpisode", b => |
|
{ |
|
b.HasOne("ErsatzTV.Core.Domain.Episode", null) |
|
.WithOne() |
|
.HasForeignKey("ErsatzTV.Core.Domain.EmbyEpisode", "Id") |
|
.OnDelete(DeleteBehavior.Cascade) |
|
.IsRequired(); |
|
}); |
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.JellyfinEpisode", b => |
|
{ |
|
b.HasOne("ErsatzTV.Core.Domain.Episode", null) |
|
.WithOne() |
|
.HasForeignKey("ErsatzTV.Core.Domain.JellyfinEpisode", "Id") |
|
.OnDelete(DeleteBehavior.Cascade) |
|
.IsRequired(); |
|
}); |
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.PlexEpisode", b => |
|
{ |
|
b.HasOne("ErsatzTV.Core.Domain.Episode", null) |
|
.WithOne() |
|
.HasForeignKey("ErsatzTV.Core.Domain.PlexEpisode", "Id") |
|
.OnDelete(DeleteBehavior.Cascade) |
|
.IsRequired(); |
|
}); |
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.EmbyMovie", b => |
|
{ |
|
b.HasOne("ErsatzTV.Core.Domain.Movie", null) |
|
.WithOne() |
|
.HasForeignKey("ErsatzTV.Core.Domain.EmbyMovie", "Id") |
|
.OnDelete(DeleteBehavior.Cascade) |
|
.IsRequired(); |
|
}); |
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.JellyfinMovie", b => |
|
{ |
|
b.HasOne("ErsatzTV.Core.Domain.Movie", null) |
|
.WithOne() |
|
.HasForeignKey("ErsatzTV.Core.Domain.JellyfinMovie", "Id") |
|
.OnDelete(DeleteBehavior.Cascade) |
|
.IsRequired(); |
|
}); |
|
|
|
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(); |
|
}); |
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.EmbySeason", b => |
|
{ |
|
b.HasOne("ErsatzTV.Core.Domain.Season", null) |
|
.WithOne() |
|
.HasForeignKey("ErsatzTV.Core.Domain.EmbySeason", "Id") |
|
.OnDelete(DeleteBehavior.Cascade) |
|
.IsRequired(); |
|
}); |
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.JellyfinSeason", b => |
|
{ |
|
b.HasOne("ErsatzTV.Core.Domain.Season", null) |
|
.WithOne() |
|
.HasForeignKey("ErsatzTV.Core.Domain.JellyfinSeason", "Id") |
|
.OnDelete(DeleteBehavior.Cascade) |
|
.IsRequired(); |
|
}); |
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.PlexSeason", b => |
|
{ |
|
b.HasOne("ErsatzTV.Core.Domain.Season", null) |
|
.WithOne() |
|
.HasForeignKey("ErsatzTV.Core.Domain.PlexSeason", "Id") |
|
.OnDelete(DeleteBehavior.Cascade) |
|
.IsRequired(); |
|
}); |
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.EmbyShow", b => |
|
{ |
|
b.HasOne("ErsatzTV.Core.Domain.Show", null) |
|
.WithOne() |
|
.HasForeignKey("ErsatzTV.Core.Domain.EmbyShow", "Id") |
|
.OnDelete(DeleteBehavior.Cascade) |
|
.IsRequired(); |
|
}); |
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.JellyfinShow", b => |
|
{ |
|
b.HasOne("ErsatzTV.Core.Domain.Show", null) |
|
.WithOne() |
|
.HasForeignKey("ErsatzTV.Core.Domain.JellyfinShow", "Id") |
|
.OnDelete(DeleteBehavior.Cascade) |
|
.IsRequired(); |
|
}); |
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.PlexShow", b => |
|
{ |
|
b.HasOne("ErsatzTV.Core.Domain.Show", null) |
|
.WithOne() |
|
.HasForeignKey("ErsatzTV.Core.Domain.PlexShow", "Id") |
|
.OnDelete(DeleteBehavior.Cascade) |
|
.IsRequired(); |
|
}); |
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.ArtistMetadata", b => |
|
{ |
|
b.Navigation("Actors"); |
|
|
|
b.Navigation("Artwork"); |
|
|
|
b.Navigation("Genres"); |
|
|
|
b.Navigation("Guids"); |
|
|
|
b.Navigation("Moods"); |
|
|
|
b.Navigation("Studios"); |
|
|
|
b.Navigation("Styles"); |
|
|
|
b.Navigation("Tags"); |
|
}); |
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.Channel", b => |
|
{ |
|
b.Navigation("Artwork"); |
|
|
|
b.Navigation("Playouts"); |
|
}); |
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.Collection", b => |
|
{ |
|
b.Navigation("CollectionItems"); |
|
|
|
b.Navigation("MultiCollectionItems"); |
|
}); |
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.EpisodeMetadata", b => |
|
{ |
|
b.Navigation("Actors"); |
|
|
|
b.Navigation("Artwork"); |
|
|
|
b.Navigation("Directors"); |
|
|
|
b.Navigation("Genres"); |
|
|
|
b.Navigation("Guids"); |
|
|
|
b.Navigation("Studios"); |
|
|
|
b.Navigation("Tags"); |
|
|
|
b.Navigation("Writers"); |
|
}); |
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.Library", b => |
|
{ |
|
b.Navigation("Paths"); |
|
}); |
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.LibraryPath", b => |
|
{ |
|
b.Navigation("LibraryFolders"); |
|
|
|
b.Navigation("MediaItems"); |
|
}); |
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.MediaItem", b => |
|
{ |
|
b.Navigation("CollectionItems"); |
|
|
|
b.Navigation("TraktListItems"); |
|
}); |
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.MediaSource", b => |
|
{ |
|
b.Navigation("Libraries"); |
|
}); |
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.MediaVersion", b => |
|
{ |
|
b.Navigation("MediaFiles"); |
|
|
|
b.Navigation("Streams"); |
|
}); |
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.MovieMetadata", b => |
|
{ |
|
b.Navigation("Actors"); |
|
|
|
b.Navigation("Artwork"); |
|
|
|
b.Navigation("Directors"); |
|
|
|
b.Navigation("Genres"); |
|
|
|
b.Navigation("Guids"); |
|
|
|
b.Navigation("Studios"); |
|
|
|
b.Navigation("Tags"); |
|
|
|
b.Navigation("Writers"); |
|
}); |
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.MultiCollection", b => |
|
{ |
|
b.Navigation("MultiCollectionItems"); |
|
|
|
b.Navigation("MultiCollectionSmartItems"); |
|
}); |
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.MusicVideoMetadata", b => |
|
{ |
|
b.Navigation("Actors"); |
|
|
|
b.Navigation("Artwork"); |
|
|
|
b.Navigation("Genres"); |
|
|
|
b.Navigation("Guids"); |
|
|
|
b.Navigation("Studios"); |
|
|
|
b.Navigation("Tags"); |
|
}); |
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.Playout", b => |
|
{ |
|
b.Navigation("Items"); |
|
|
|
b.Navigation("ProgramScheduleAnchors"); |
|
}); |
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.ProgramSchedule", b => |
|
{ |
|
b.Navigation("Items"); |
|
|
|
b.Navigation("Playouts"); |
|
}); |
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.SeasonMetadata", b => |
|
{ |
|
b.Navigation("Actors"); |
|
|
|
b.Navigation("Artwork"); |
|
|
|
b.Navigation("Genres"); |
|
|
|
b.Navigation("Guids"); |
|
|
|
b.Navigation("Studios"); |
|
|
|
b.Navigation("Tags"); |
|
}); |
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.ShowMetadata", b => |
|
{ |
|
b.Navigation("Actors"); |
|
|
|
b.Navigation("Artwork"); |
|
|
|
b.Navigation("Genres"); |
|
|
|
b.Navigation("Guids"); |
|
|
|
b.Navigation("Studios"); |
|
|
|
b.Navigation("Tags"); |
|
}); |
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.SmartCollection", b => |
|
{ |
|
b.Navigation("MultiCollectionSmartItems"); |
|
}); |
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.TraktList", b => |
|
{ |
|
b.Navigation("Items"); |
|
}); |
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.TraktListItem", b => |
|
{ |
|
b.Navigation("Guids"); |
|
}); |
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.Artist", b => |
|
{ |
|
b.Navigation("ArtistMetadata"); |
|
|
|
b.Navigation("MusicVideos"); |
|
}); |
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.Episode", b => |
|
{ |
|
b.Navigation("EpisodeMetadata"); |
|
|
|
b.Navigation("MediaVersions"); |
|
}); |
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.Movie", b => |
|
{ |
|
b.Navigation("MediaVersions"); |
|
|
|
b.Navigation("MovieMetadata"); |
|
}); |
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.MusicVideo", b => |
|
{ |
|
b.Navigation("MediaVersions"); |
|
|
|
b.Navigation("MusicVideoMetadata"); |
|
}); |
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.Season", b => |
|
{ |
|
b.Navigation("Episodes"); |
|
|
|
b.Navigation("SeasonMetadata"); |
|
}); |
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.Show", b => |
|
{ |
|
b.Navigation("Seasons"); |
|
|
|
b.Navigation("ShowMetadata"); |
|
}); |
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.EmbyMediaSource", b => |
|
{ |
|
b.Navigation("Connections"); |
|
|
|
b.Navigation("PathReplacements"); |
|
}); |
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.JellyfinMediaSource", b => |
|
{ |
|
b.Navigation("Connections"); |
|
|
|
b.Navigation("PathReplacements"); |
|
}); |
|
|
|
modelBuilder.Entity("ErsatzTV.Core.Domain.PlexMediaSource", b => |
|
{ |
|
b.Navigation("Connections"); |
|
|
|
b.Navigation("PathReplacements"); |
|
}); |
|
#pragma warning restore 612, 618 |
|
} |
|
} |
|
}
|
|
|