1514 lines
54 KiB
C#
1514 lines
54 KiB
C#
#pragma warning disable CS1591
|
|
|
|
// <auto-generated />
|
|
using System;
|
|
using Jellyfin.Server.Implementations;
|
|
using Microsoft.EntityFrameworkCore;
|
|
using Microsoft.EntityFrameworkCore.Infrastructure;
|
|
using Microsoft.EntityFrameworkCore.Migrations;
|
|
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
|
|
|
|
namespace Jellyfin.Server.Implementations.Migrations
|
|
{
|
|
[DbContext(typeof(JellyfinDb))]
|
|
[Migration("20200430215054_InitialSchema")]
|
|
partial class InitialSchema
|
|
{
|
|
protected override void BuildTargetModel(ModelBuilder modelBuilder)
|
|
{
|
|
#pragma warning disable 612, 618
|
|
modelBuilder
|
|
.HasDefaultSchema("jellyfin")
|
|
.HasAnnotation("ProductVersion", "3.1.3");
|
|
|
|
modelBuilder.Entity("Jellyfin.Data.Entities.ActivityLog", b =>
|
|
{
|
|
b.Property<int>("Id")
|
|
.ValueGeneratedOnAdd()
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<DateTime>("DateCreated")
|
|
.HasColumnType("TEXT");
|
|
|
|
b.Property<string>("ItemId")
|
|
.HasColumnType("TEXT")
|
|
.HasMaxLength(256);
|
|
|
|
b.Property<int>("LogSeverity")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<string>("Name")
|
|
.IsRequired()
|
|
.HasColumnType("TEXT")
|
|
.HasMaxLength(512);
|
|
|
|
b.Property<string>("Overview")
|
|
.HasColumnType("TEXT")
|
|
.HasMaxLength(512);
|
|
|
|
b.Property<uint>("RowVersion")
|
|
.IsConcurrencyToken()
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<string>("ShortOverview")
|
|
.HasColumnType("TEXT")
|
|
.HasMaxLength(512);
|
|
|
|
b.Property<string>("Type")
|
|
.IsRequired()
|
|
.HasColumnType("TEXT")
|
|
.HasMaxLength(256);
|
|
|
|
b.Property<Guid>("UserId")
|
|
.HasColumnType("TEXT");
|
|
|
|
b.HasKey("Id");
|
|
|
|
b.ToTable("ActivityLog");
|
|
});
|
|
|
|
modelBuilder.Entity("Jellyfin.Data.Entities.Artwork", b =>
|
|
{
|
|
b.Property<int>("Id")
|
|
.ValueGeneratedOnAdd()
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<int>("Kind")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<string>("Path")
|
|
.IsRequired()
|
|
.HasColumnType("TEXT")
|
|
.HasMaxLength(65535);
|
|
|
|
b.Property<int?>("PersonRole_PersonRoles_Id")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<uint>("RowVersion")
|
|
.IsConcurrencyToken()
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.HasKey("Id");
|
|
|
|
b.HasIndex("Kind");
|
|
|
|
b.HasIndex("PersonRole_PersonRoles_Id");
|
|
|
|
b.ToTable("Artwork");
|
|
});
|
|
|
|
modelBuilder.Entity("Jellyfin.Data.Entities.Chapter", b =>
|
|
{
|
|
b.Property<int>("Id")
|
|
.ValueGeneratedOnAdd()
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<int?>("Chapter_Chapters_Id")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<string>("Language")
|
|
.IsRequired()
|
|
.HasColumnType("TEXT")
|
|
.HasMaxLength(3);
|
|
|
|
b.Property<string>("Name")
|
|
.HasColumnType("TEXT")
|
|
.HasMaxLength(1024);
|
|
|
|
b.Property<uint>("RowVersion")
|
|
.IsConcurrencyToken()
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<long?>("TimeEnd")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<long>("TimeStart")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.HasKey("Id");
|
|
|
|
b.HasIndex("Chapter_Chapters_Id");
|
|
|
|
b.ToTable("Chapter");
|
|
});
|
|
|
|
modelBuilder.Entity("Jellyfin.Data.Entities.Collection", b =>
|
|
{
|
|
b.Property<int>("Id")
|
|
.ValueGeneratedOnAdd()
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<string>("Name")
|
|
.HasColumnType("TEXT")
|
|
.HasMaxLength(1024);
|
|
|
|
b.Property<uint>("RowVersion")
|
|
.IsConcurrencyToken()
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.HasKey("Id");
|
|
|
|
b.ToTable("Collection");
|
|
});
|
|
|
|
modelBuilder.Entity("Jellyfin.Data.Entities.CollectionItem", b =>
|
|
{
|
|
b.Property<int>("Id")
|
|
.ValueGeneratedOnAdd()
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<int?>("CollectionItem_CollectionItem_Id")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<int?>("CollectionItem_Next_Id")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<int?>("CollectionItem_Previous_Id")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<int?>("LibraryItem_Id")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<uint>("RowVersion")
|
|
.IsConcurrencyToken()
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.HasKey("Id");
|
|
|
|
b.HasIndex("CollectionItem_CollectionItem_Id");
|
|
|
|
b.HasIndex("CollectionItem_Next_Id");
|
|
|
|
b.HasIndex("CollectionItem_Previous_Id");
|
|
|
|
b.HasIndex("LibraryItem_Id");
|
|
|
|
b.ToTable("CollectionItem");
|
|
});
|
|
|
|
modelBuilder.Entity("Jellyfin.Data.Entities.Company", b =>
|
|
{
|
|
b.Property<int>("Id")
|
|
.ValueGeneratedOnAdd()
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<int?>("Company_Labels_Id")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<int?>("Company_Networks_Id")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<int?>("Company_Parent_Id")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<int?>("Company_Publishers_Id")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<int?>("Company_Studios_Id")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<uint>("RowVersion")
|
|
.IsConcurrencyToken()
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.HasKey("Id");
|
|
|
|
b.HasIndex("Company_Labels_Id");
|
|
|
|
b.HasIndex("Company_Networks_Id");
|
|
|
|
b.HasIndex("Company_Parent_Id");
|
|
|
|
b.HasIndex("Company_Publishers_Id");
|
|
|
|
b.HasIndex("Company_Studios_Id");
|
|
|
|
b.ToTable("Company");
|
|
});
|
|
|
|
modelBuilder.Entity("Jellyfin.Data.Entities.Genre", b =>
|
|
{
|
|
b.Property<int>("Id")
|
|
.ValueGeneratedOnAdd()
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<string>("Name")
|
|
.IsRequired()
|
|
.HasColumnType("TEXT")
|
|
.HasMaxLength(255);
|
|
|
|
b.Property<int?>("PersonRole_PersonRoles_Id")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<uint>("RowVersion")
|
|
.IsConcurrencyToken()
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.HasKey("Id");
|
|
|
|
b.HasIndex("Name")
|
|
.IsUnique();
|
|
|
|
b.HasIndex("PersonRole_PersonRoles_Id");
|
|
|
|
b.ToTable("Genre");
|
|
});
|
|
|
|
modelBuilder.Entity("Jellyfin.Data.Entities.Group", b =>
|
|
{
|
|
b.Property<int>("Id")
|
|
.ValueGeneratedOnAdd()
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<int?>("Group_Groups_Id")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<string>("Name")
|
|
.IsRequired()
|
|
.HasColumnType("TEXT")
|
|
.HasMaxLength(255);
|
|
|
|
b.Property<uint>("RowVersion")
|
|
.IsConcurrencyToken()
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.HasKey("Id");
|
|
|
|
b.HasIndex("Group_Groups_Id");
|
|
|
|
b.ToTable("Group");
|
|
});
|
|
|
|
modelBuilder.Entity("Jellyfin.Data.Entities.Library", b =>
|
|
{
|
|
b.Property<int>("Id")
|
|
.ValueGeneratedOnAdd()
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<string>("Name")
|
|
.IsRequired()
|
|
.HasColumnType("TEXT")
|
|
.HasMaxLength(1024);
|
|
|
|
b.Property<uint>("RowVersion")
|
|
.IsConcurrencyToken()
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.HasKey("Id");
|
|
|
|
b.ToTable("Library");
|
|
});
|
|
|
|
modelBuilder.Entity("Jellyfin.Data.Entities.LibraryItem", b =>
|
|
{
|
|
b.Property<int>("Id")
|
|
.ValueGeneratedOnAdd()
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<DateTime>("DateAdded")
|
|
.HasColumnType("TEXT");
|
|
|
|
b.Property<string>("Discriminator")
|
|
.IsRequired()
|
|
.HasColumnType("TEXT");
|
|
|
|
b.Property<int?>("LibraryRoot_Id")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<uint>("RowVersion")
|
|
.IsConcurrencyToken()
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<Guid>("UrlId")
|
|
.HasColumnType("TEXT");
|
|
|
|
b.HasKey("Id");
|
|
|
|
b.HasIndex("LibraryRoot_Id");
|
|
|
|
b.HasIndex("UrlId")
|
|
.IsUnique();
|
|
|
|
b.ToTable("LibraryItem");
|
|
|
|
b.HasDiscriminator<string>("Discriminator").HasValue("LibraryItem");
|
|
});
|
|
|
|
modelBuilder.Entity("Jellyfin.Data.Entities.LibraryRoot", b =>
|
|
{
|
|
b.Property<int>("Id")
|
|
.ValueGeneratedOnAdd()
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<int?>("Library_Id")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<string>("NetworkPath")
|
|
.HasColumnType("TEXT")
|
|
.HasMaxLength(65535);
|
|
|
|
b.Property<string>("Path")
|
|
.IsRequired()
|
|
.HasColumnType("TEXT")
|
|
.HasMaxLength(65535);
|
|
|
|
b.Property<uint>("RowVersion")
|
|
.IsConcurrencyToken()
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.HasKey("Id");
|
|
|
|
b.HasIndex("Library_Id");
|
|
|
|
b.ToTable("LibraryRoot");
|
|
});
|
|
|
|
modelBuilder.Entity("Jellyfin.Data.Entities.MediaFile", b =>
|
|
{
|
|
b.Property<int>("Id")
|
|
.ValueGeneratedOnAdd()
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<int>("Kind")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<int?>("MediaFile_MediaFiles_Id")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<string>("Path")
|
|
.IsRequired()
|
|
.HasColumnType("TEXT")
|
|
.HasMaxLength(65535);
|
|
|
|
b.Property<uint>("RowVersion")
|
|
.IsConcurrencyToken()
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.HasKey("Id");
|
|
|
|
b.HasIndex("MediaFile_MediaFiles_Id");
|
|
|
|
b.ToTable("MediaFile");
|
|
});
|
|
|
|
modelBuilder.Entity("Jellyfin.Data.Entities.MediaFileStream", b =>
|
|
{
|
|
b.Property<int>("Id")
|
|
.ValueGeneratedOnAdd()
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<int?>("MediaFileStream_MediaFileStreams_Id")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<uint>("RowVersion")
|
|
.IsConcurrencyToken()
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<int>("StreamNumber")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.HasKey("Id");
|
|
|
|
b.HasIndex("MediaFileStream_MediaFileStreams_Id");
|
|
|
|
b.ToTable("MediaFileStream");
|
|
});
|
|
|
|
modelBuilder.Entity("Jellyfin.Data.Entities.Metadata", b =>
|
|
{
|
|
b.Property<int>("Id")
|
|
.ValueGeneratedOnAdd()
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<DateTime>("DateAdded")
|
|
.HasColumnType("TEXT");
|
|
|
|
b.Property<DateTime>("DateModified")
|
|
.HasColumnType("TEXT");
|
|
|
|
b.Property<string>("Discriminator")
|
|
.IsRequired()
|
|
.HasColumnType("TEXT");
|
|
|
|
b.Property<string>("Language")
|
|
.IsRequired()
|
|
.HasColumnType("TEXT")
|
|
.HasMaxLength(3);
|
|
|
|
b.Property<string>("OriginalTitle")
|
|
.HasColumnType("TEXT")
|
|
.HasMaxLength(1024);
|
|
|
|
b.Property<DateTimeOffset?>("ReleaseDate")
|
|
.HasColumnType("TEXT");
|
|
|
|
b.Property<uint>("RowVersion")
|
|
.IsConcurrencyToken()
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<string>("SortTitle")
|
|
.HasColumnType("TEXT")
|
|
.HasMaxLength(1024);
|
|
|
|
b.Property<string>("Title")
|
|
.IsRequired()
|
|
.HasColumnType("TEXT")
|
|
.HasMaxLength(1024);
|
|
|
|
b.HasKey("Id");
|
|
|
|
b.ToTable("Metadata");
|
|
|
|
b.HasDiscriminator<string>("Discriminator").HasValue("Metadata");
|
|
});
|
|
|
|
modelBuilder.Entity("Jellyfin.Data.Entities.MetadataProvider", b =>
|
|
{
|
|
b.Property<int>("Id")
|
|
.ValueGeneratedOnAdd()
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<string>("Name")
|
|
.IsRequired()
|
|
.HasColumnType("TEXT")
|
|
.HasMaxLength(1024);
|
|
|
|
b.Property<uint>("RowVersion")
|
|
.IsConcurrencyToken()
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.HasKey("Id");
|
|
|
|
b.ToTable("MetadataProvider");
|
|
});
|
|
|
|
modelBuilder.Entity("Jellyfin.Data.Entities.MetadataProviderId", b =>
|
|
{
|
|
b.Property<int>("Id")
|
|
.ValueGeneratedOnAdd()
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<int?>("MetadataProviderId_Sources_Id")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<int?>("MetadataProvider_Id")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<int?>("PersonRole_PersonRoles_Id")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<string>("ProviderId")
|
|
.IsRequired()
|
|
.HasColumnType("TEXT")
|
|
.HasMaxLength(255);
|
|
|
|
b.Property<uint>("RowVersion")
|
|
.IsConcurrencyToken()
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.HasKey("Id");
|
|
|
|
b.HasIndex("MetadataProviderId_Sources_Id");
|
|
|
|
b.HasIndex("MetadataProvider_Id");
|
|
|
|
b.HasIndex("PersonRole_PersonRoles_Id");
|
|
|
|
b.ToTable("MetadataProviderId");
|
|
});
|
|
|
|
modelBuilder.Entity("Jellyfin.Data.Entities.Permission", b =>
|
|
{
|
|
b.Property<int>("Id")
|
|
.ValueGeneratedOnAdd()
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<int>("Kind")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<int?>("Permission_GroupPermissions_Id")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<int?>("Permission_Permissions_Id")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<uint>("RowVersion")
|
|
.IsConcurrencyToken()
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<bool>("Value")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.HasKey("Id");
|
|
|
|
b.HasIndex("Permission_GroupPermissions_Id");
|
|
|
|
b.HasIndex("Permission_Permissions_Id");
|
|
|
|
b.ToTable("Permission");
|
|
});
|
|
|
|
modelBuilder.Entity("Jellyfin.Data.Entities.Person", b =>
|
|
{
|
|
b.Property<int>("Id")
|
|
.ValueGeneratedOnAdd()
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<DateTime>("DateAdded")
|
|
.HasColumnType("TEXT");
|
|
|
|
b.Property<DateTime>("DateModified")
|
|
.HasColumnType("TEXT");
|
|
|
|
b.Property<string>("Name")
|
|
.IsRequired()
|
|
.HasColumnType("TEXT")
|
|
.HasMaxLength(1024);
|
|
|
|
b.Property<uint>("RowVersion")
|
|
.IsConcurrencyToken()
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<string>("SourceId")
|
|
.HasColumnType("TEXT")
|
|
.HasMaxLength(255);
|
|
|
|
b.Property<Guid>("UrlId")
|
|
.HasColumnType("TEXT");
|
|
|
|
b.HasKey("Id");
|
|
|
|
b.ToTable("Person");
|
|
});
|
|
|
|
modelBuilder.Entity("Jellyfin.Data.Entities.PersonRole", b =>
|
|
{
|
|
b.Property<int>("Id")
|
|
.ValueGeneratedOnAdd()
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<int?>("Artwork_Artwork_Id")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<int?>("PersonRole_PersonRoles_Id")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<int?>("Person_Id")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<string>("Role")
|
|
.HasColumnType("TEXT")
|
|
.HasMaxLength(1024);
|
|
|
|
b.Property<uint>("RowVersion")
|
|
.IsConcurrencyToken()
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<int>("Type")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.HasKey("Id");
|
|
|
|
b.HasIndex("Artwork_Artwork_Id");
|
|
|
|
b.HasIndex("PersonRole_PersonRoles_Id");
|
|
|
|
b.HasIndex("Person_Id");
|
|
|
|
b.ToTable("PersonRole");
|
|
});
|
|
|
|
modelBuilder.Entity("Jellyfin.Data.Entities.Preference", b =>
|
|
{
|
|
b.Property<int>("Id")
|
|
.ValueGeneratedOnAdd()
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<int>("Kind")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<int?>("Preference_Preferences_Id")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<uint>("RowVersion")
|
|
.IsConcurrencyToken()
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<string>("Value")
|
|
.IsRequired()
|
|
.HasColumnType("TEXT")
|
|
.HasMaxLength(65535);
|
|
|
|
b.HasKey("Id");
|
|
|
|
b.HasIndex("Preference_Preferences_Id");
|
|
|
|
b.ToTable("Preference");
|
|
});
|
|
|
|
modelBuilder.Entity("Jellyfin.Data.Entities.ProviderMapping", b =>
|
|
{
|
|
b.Property<int>("Id")
|
|
.ValueGeneratedOnAdd()
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<string>("ProviderData")
|
|
.IsRequired()
|
|
.HasColumnType("TEXT")
|
|
.HasMaxLength(65535);
|
|
|
|
b.Property<int?>("ProviderMapping_ProviderMappings_Id")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<string>("ProviderName")
|
|
.IsRequired()
|
|
.HasColumnType("TEXT")
|
|
.HasMaxLength(255);
|
|
|
|
b.Property<string>("ProviderSecrets")
|
|
.IsRequired()
|
|
.HasColumnType("TEXT")
|
|
.HasMaxLength(65535);
|
|
|
|
b.Property<uint>("RowVersion")
|
|
.IsConcurrencyToken()
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.HasKey("Id");
|
|
|
|
b.HasIndex("ProviderMapping_ProviderMappings_Id");
|
|
|
|
b.ToTable("ProviderMapping");
|
|
});
|
|
|
|
modelBuilder.Entity("Jellyfin.Data.Entities.Rating", b =>
|
|
{
|
|
b.Property<int>("Id")
|
|
.ValueGeneratedOnAdd()
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<int?>("PersonRole_PersonRoles_Id")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<int?>("RatingSource_RatingType_Id")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<uint>("RowVersion")
|
|
.IsConcurrencyToken()
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<double>("Value")
|
|
.HasColumnType("REAL");
|
|
|
|
b.Property<int?>("Votes")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.HasKey("Id");
|
|
|
|
b.HasIndex("PersonRole_PersonRoles_Id");
|
|
|
|
b.HasIndex("RatingSource_RatingType_Id");
|
|
|
|
b.ToTable("Rating");
|
|
});
|
|
|
|
modelBuilder.Entity("Jellyfin.Data.Entities.RatingSource", b =>
|
|
{
|
|
b.Property<int>("Id")
|
|
.ValueGeneratedOnAdd()
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<double>("MaximumValue")
|
|
.HasColumnType("REAL");
|
|
|
|
b.Property<int?>("MetadataProviderId_Source_Id")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<double>("MinimumValue")
|
|
.HasColumnType("REAL");
|
|
|
|
b.Property<string>("Name")
|
|
.HasColumnType("TEXT")
|
|
.HasMaxLength(1024);
|
|
|
|
b.Property<uint>("RowVersion")
|
|
.IsConcurrencyToken()
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.HasKey("Id");
|
|
|
|
b.HasIndex("MetadataProviderId_Source_Id");
|
|
|
|
b.ToTable("RatingSource");
|
|
});
|
|
|
|
modelBuilder.Entity("Jellyfin.Data.Entities.Release", b =>
|
|
{
|
|
b.Property<int>("Id")
|
|
.ValueGeneratedOnAdd()
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<string>("Name")
|
|
.IsRequired()
|
|
.HasColumnType("TEXT")
|
|
.HasMaxLength(1024);
|
|
|
|
b.Property<int?>("Release_Releases_Id")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<uint>("RowVersion")
|
|
.IsConcurrencyToken()
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.HasKey("Id");
|
|
|
|
b.HasIndex("Release_Releases_Id");
|
|
|
|
b.ToTable("Release");
|
|
});
|
|
|
|
modelBuilder.Entity("Jellyfin.Data.Entities.User", b =>
|
|
{
|
|
b.Property<int>("Id")
|
|
.ValueGeneratedOnAdd()
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<string>("AudioLanguagePreference")
|
|
.IsRequired()
|
|
.HasColumnType("TEXT")
|
|
.HasMaxLength(255);
|
|
|
|
b.Property<string>("AuthenticationProviderId")
|
|
.IsRequired()
|
|
.HasColumnType("TEXT")
|
|
.HasMaxLength(255);
|
|
|
|
b.Property<bool?>("DisplayCollectionsView")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<bool?>("DisplayMissingEpisodes")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<bool?>("EnableNextEpisodeAutoPlay")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<bool?>("EnableUserPreferenceAccess")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<string>("GroupedFolders")
|
|
.HasColumnType("TEXT")
|
|
.HasMaxLength(65535);
|
|
|
|
b.Property<bool?>("HidePlayedInLatest")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<int>("InvalidLoginAttemptCount")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<string>("LatestItemExcludes")
|
|
.HasColumnType("TEXT")
|
|
.HasMaxLength(65535);
|
|
|
|
b.Property<int?>("LoginAttemptsBeforeLockout")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<bool>("MustUpdatePassword")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<string>("MyMediaExcludes")
|
|
.HasColumnType("TEXT")
|
|
.HasMaxLength(65535);
|
|
|
|
b.Property<string>("OrderedViews")
|
|
.HasColumnType("TEXT")
|
|
.HasMaxLength(65535);
|
|
|
|
b.Property<string>("Password")
|
|
.HasColumnType("TEXT")
|
|
.HasMaxLength(65535);
|
|
|
|
b.Property<bool>("PlayDefaultAudioTrack")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<bool?>("RememberAudioSelections")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<bool?>("RememberSubtitleSelections")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<uint>("RowVersion")
|
|
.IsConcurrencyToken()
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<string>("SubtitleLanguagePrefernce")
|
|
.HasColumnType("TEXT")
|
|
.HasMaxLength(255);
|
|
|
|
b.Property<string>("SubtitleMode")
|
|
.IsRequired()
|
|
.HasColumnType("TEXT")
|
|
.HasMaxLength(255);
|
|
|
|
b.Property<string>("Username")
|
|
.IsRequired()
|
|
.HasColumnType("TEXT")
|
|
.HasMaxLength(255);
|
|
|
|
b.HasKey("Id");
|
|
|
|
b.ToTable("User");
|
|
});
|
|
|
|
modelBuilder.Entity("Jellyfin.Data.Entities.Book", b =>
|
|
{
|
|
b.HasBaseType("Jellyfin.Data.Entities.LibraryItem");
|
|
|
|
b.ToTable("Book");
|
|
|
|
b.HasDiscriminator().HasValue("Book");
|
|
});
|
|
|
|
modelBuilder.Entity("Jellyfin.Data.Entities.CustomItem", b =>
|
|
{
|
|
b.HasBaseType("Jellyfin.Data.Entities.LibraryItem");
|
|
|
|
b.ToTable("LibraryItem");
|
|
|
|
b.HasDiscriminator().HasValue("CustomItem");
|
|
});
|
|
|
|
modelBuilder.Entity("Jellyfin.Data.Entities.Episode", b =>
|
|
{
|
|
b.HasBaseType("Jellyfin.Data.Entities.LibraryItem");
|
|
|
|
b.Property<int?>("EpisodeNumber")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<int?>("Episode_Episodes_Id")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.HasIndex("Episode_Episodes_Id");
|
|
|
|
b.ToTable("Episode");
|
|
|
|
b.HasDiscriminator().HasValue("Episode");
|
|
});
|
|
|
|
modelBuilder.Entity("Jellyfin.Data.Entities.Movie", b =>
|
|
{
|
|
b.HasBaseType("Jellyfin.Data.Entities.LibraryItem");
|
|
|
|
b.ToTable("Movie");
|
|
|
|
b.HasDiscriminator().HasValue("Movie");
|
|
});
|
|
|
|
modelBuilder.Entity("Jellyfin.Data.Entities.MusicAlbum", b =>
|
|
{
|
|
b.HasBaseType("Jellyfin.Data.Entities.LibraryItem");
|
|
|
|
b.ToTable("MusicAlbum");
|
|
|
|
b.HasDiscriminator().HasValue("MusicAlbum");
|
|
});
|
|
|
|
modelBuilder.Entity("Jellyfin.Data.Entities.Photo", b =>
|
|
{
|
|
b.HasBaseType("Jellyfin.Data.Entities.LibraryItem");
|
|
|
|
b.ToTable("Photo");
|
|
|
|
b.HasDiscriminator().HasValue("Photo");
|
|
});
|
|
|
|
modelBuilder.Entity("Jellyfin.Data.Entities.Season", b =>
|
|
{
|
|
b.HasBaseType("Jellyfin.Data.Entities.LibraryItem");
|
|
|
|
b.Property<int?>("SeasonNumber")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<int?>("Season_Seasons_Id")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.HasIndex("Season_Seasons_Id");
|
|
|
|
b.ToTable("Season");
|
|
|
|
b.HasDiscriminator().HasValue("Season");
|
|
});
|
|
|
|
modelBuilder.Entity("Jellyfin.Data.Entities.Series", b =>
|
|
{
|
|
b.HasBaseType("Jellyfin.Data.Entities.LibraryItem");
|
|
|
|
b.Property<int?>("AirsDayOfWeek")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<DateTimeOffset?>("AirsTime")
|
|
.HasColumnType("TEXT");
|
|
|
|
b.Property<DateTimeOffset?>("FirstAired")
|
|
.HasColumnType("TEXT");
|
|
|
|
b.ToTable("Series");
|
|
|
|
b.HasDiscriminator().HasValue("Series");
|
|
});
|
|
|
|
modelBuilder.Entity("Jellyfin.Data.Entities.Track", b =>
|
|
{
|
|
b.HasBaseType("Jellyfin.Data.Entities.LibraryItem");
|
|
|
|
b.Property<int?>("TrackNumber")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<int?>("Track_Tracks_Id")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.HasIndex("Track_Tracks_Id");
|
|
|
|
b.ToTable("Track");
|
|
|
|
b.HasDiscriminator().HasValue("Track");
|
|
});
|
|
|
|
modelBuilder.Entity("Jellyfin.Data.Entities.BookMetadata", b =>
|
|
{
|
|
b.HasBaseType("Jellyfin.Data.Entities.Metadata");
|
|
|
|
b.Property<int?>("BookMetadata_BookMetadata_Id")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<long?>("ISBN")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.HasIndex("BookMetadata_BookMetadata_Id");
|
|
|
|
b.ToTable("Metadata");
|
|
|
|
b.HasDiscriminator().HasValue("BookMetadata");
|
|
});
|
|
|
|
modelBuilder.Entity("Jellyfin.Data.Entities.CompanyMetadata", b =>
|
|
{
|
|
b.HasBaseType("Jellyfin.Data.Entities.Metadata");
|
|
|
|
b.Property<int?>("CompanyMetadata_CompanyMetadata_Id")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<string>("Country")
|
|
.HasColumnType("TEXT")
|
|
.HasMaxLength(2);
|
|
|
|
b.Property<string>("Description")
|
|
.HasColumnType("TEXT")
|
|
.HasMaxLength(65535);
|
|
|
|
b.Property<string>("Headquarters")
|
|
.HasColumnType("TEXT")
|
|
.HasMaxLength(255);
|
|
|
|
b.Property<string>("Homepage")
|
|
.HasColumnType("TEXT")
|
|
.HasMaxLength(1024);
|
|
|
|
b.HasIndex("CompanyMetadata_CompanyMetadata_Id");
|
|
|
|
b.ToTable("CompanyMetadata");
|
|
|
|
b.HasDiscriminator().HasValue("CompanyMetadata");
|
|
});
|
|
|
|
modelBuilder.Entity("Jellyfin.Data.Entities.CustomItemMetadata", b =>
|
|
{
|
|
b.HasBaseType("Jellyfin.Data.Entities.Metadata");
|
|
|
|
b.Property<int?>("CustomItemMetadata_CustomItemMetadata_Id")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.HasIndex("CustomItemMetadata_CustomItemMetadata_Id");
|
|
|
|
b.ToTable("CustomItemMetadata");
|
|
|
|
b.HasDiscriminator().HasValue("CustomItemMetadata");
|
|
});
|
|
|
|
modelBuilder.Entity("Jellyfin.Data.Entities.EpisodeMetadata", b =>
|
|
{
|
|
b.HasBaseType("Jellyfin.Data.Entities.Metadata");
|
|
|
|
b.Property<int?>("EpisodeMetadata_EpisodeMetadata_Id")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<string>("Outline")
|
|
.HasColumnType("TEXT")
|
|
.HasMaxLength(1024);
|
|
|
|
b.Property<string>("Plot")
|
|
.HasColumnType("TEXT")
|
|
.HasMaxLength(65535);
|
|
|
|
b.Property<string>("Tagline")
|
|
.HasColumnType("TEXT")
|
|
.HasMaxLength(1024);
|
|
|
|
b.HasIndex("EpisodeMetadata_EpisodeMetadata_Id");
|
|
|
|
b.ToTable("EpisodeMetadata");
|
|
|
|
b.HasDiscriminator().HasValue("EpisodeMetadata");
|
|
});
|
|
|
|
modelBuilder.Entity("Jellyfin.Data.Entities.MovieMetadata", b =>
|
|
{
|
|
b.HasBaseType("Jellyfin.Data.Entities.Metadata");
|
|
|
|
b.Property<string>("Country")
|
|
.HasColumnName("MovieMetadata_Country")
|
|
.HasColumnType("TEXT")
|
|
.HasMaxLength(2);
|
|
|
|
b.Property<int?>("MovieMetadata_MovieMetadata_Id")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<string>("Outline")
|
|
.HasColumnName("MovieMetadata_Outline")
|
|
.HasColumnType("TEXT")
|
|
.HasMaxLength(1024);
|
|
|
|
b.Property<string>("Plot")
|
|
.HasColumnName("MovieMetadata_Plot")
|
|
.HasColumnType("TEXT")
|
|
.HasMaxLength(65535);
|
|
|
|
b.Property<string>("Tagline")
|
|
.HasColumnName("MovieMetadata_Tagline")
|
|
.HasColumnType("TEXT")
|
|
.HasMaxLength(1024);
|
|
|
|
b.HasIndex("MovieMetadata_MovieMetadata_Id");
|
|
|
|
b.ToTable("MovieMetadata");
|
|
|
|
b.HasDiscriminator().HasValue("MovieMetadata");
|
|
});
|
|
|
|
modelBuilder.Entity("Jellyfin.Data.Entities.MusicAlbumMetadata", b =>
|
|
{
|
|
b.HasBaseType("Jellyfin.Data.Entities.Metadata");
|
|
|
|
b.Property<string>("Barcode")
|
|
.HasColumnType("TEXT")
|
|
.HasMaxLength(255);
|
|
|
|
b.Property<string>("Country")
|
|
.HasColumnName("MusicAlbumMetadata_Country")
|
|
.HasColumnType("TEXT")
|
|
.HasMaxLength(2);
|
|
|
|
b.Property<string>("LabelNumber")
|
|
.HasColumnType("TEXT")
|
|
.HasMaxLength(255);
|
|
|
|
b.Property<int?>("MusicAlbumMetadata_MusicAlbumMetadata_Id")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.HasIndex("MusicAlbumMetadata_MusicAlbumMetadata_Id");
|
|
|
|
b.ToTable("MusicAlbumMetadata");
|
|
|
|
b.HasDiscriminator().HasValue("MusicAlbumMetadata");
|
|
});
|
|
|
|
modelBuilder.Entity("Jellyfin.Data.Entities.PhotoMetadata", b =>
|
|
{
|
|
b.HasBaseType("Jellyfin.Data.Entities.Metadata");
|
|
|
|
b.Property<int?>("PhotoMetadata_PhotoMetadata_Id")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.HasIndex("PhotoMetadata_PhotoMetadata_Id");
|
|
|
|
b.ToTable("PhotoMetadata");
|
|
|
|
b.HasDiscriminator().HasValue("PhotoMetadata");
|
|
});
|
|
|
|
modelBuilder.Entity("Jellyfin.Data.Entities.SeasonMetadata", b =>
|
|
{
|
|
b.HasBaseType("Jellyfin.Data.Entities.Metadata");
|
|
|
|
b.Property<string>("Outline")
|
|
.HasColumnName("SeasonMetadata_Outline")
|
|
.HasColumnType("TEXT")
|
|
.HasMaxLength(1024);
|
|
|
|
b.Property<int?>("SeasonMetadata_SeasonMetadata_Id")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.HasIndex("SeasonMetadata_SeasonMetadata_Id");
|
|
|
|
b.ToTable("SeasonMetadata");
|
|
|
|
b.HasDiscriminator().HasValue("SeasonMetadata");
|
|
});
|
|
|
|
modelBuilder.Entity("Jellyfin.Data.Entities.SeriesMetadata", b =>
|
|
{
|
|
b.HasBaseType("Jellyfin.Data.Entities.Metadata");
|
|
|
|
b.Property<string>("Country")
|
|
.HasColumnName("SeriesMetadata_Country")
|
|
.HasColumnType("TEXT")
|
|
.HasMaxLength(2);
|
|
|
|
b.Property<string>("Outline")
|
|
.HasColumnName("SeriesMetadata_Outline")
|
|
.HasColumnType("TEXT")
|
|
.HasMaxLength(1024);
|
|
|
|
b.Property<string>("Plot")
|
|
.HasColumnName("SeriesMetadata_Plot")
|
|
.HasColumnType("TEXT")
|
|
.HasMaxLength(65535);
|
|
|
|
b.Property<int?>("SeriesMetadata_SeriesMetadata_Id")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.Property<string>("Tagline")
|
|
.HasColumnName("SeriesMetadata_Tagline")
|
|
.HasColumnType("TEXT")
|
|
.HasMaxLength(1024);
|
|
|
|
b.HasIndex("SeriesMetadata_SeriesMetadata_Id");
|
|
|
|
b.ToTable("SeriesMetadata");
|
|
|
|
b.HasDiscriminator().HasValue("SeriesMetadata");
|
|
});
|
|
|
|
modelBuilder.Entity("Jellyfin.Data.Entities.TrackMetadata", b =>
|
|
{
|
|
b.HasBaseType("Jellyfin.Data.Entities.Metadata");
|
|
|
|
b.Property<int?>("TrackMetadata_TrackMetadata_Id")
|
|
.HasColumnType("INTEGER");
|
|
|
|
b.HasIndex("TrackMetadata_TrackMetadata_Id");
|
|
|
|
b.ToTable("TrackMetadata");
|
|
|
|
b.HasDiscriminator().HasValue("TrackMetadata");
|
|
});
|
|
|
|
modelBuilder.Entity("Jellyfin.Data.Entities.Artwork", b =>
|
|
{
|
|
b.HasOne("Jellyfin.Data.Entities.Metadata", null)
|
|
.WithMany("Artwork")
|
|
.HasForeignKey("PersonRole_PersonRoles_Id");
|
|
});
|
|
|
|
modelBuilder.Entity("Jellyfin.Data.Entities.Chapter", b =>
|
|
{
|
|
b.HasOne("Jellyfin.Data.Entities.Release", null)
|
|
.WithMany("Chapters")
|
|
.HasForeignKey("Chapter_Chapters_Id");
|
|
});
|
|
|
|
modelBuilder.Entity("Jellyfin.Data.Entities.CollectionItem", b =>
|
|
{
|
|
b.HasOne("Jellyfin.Data.Entities.Collection", null)
|
|
.WithMany("CollectionItem")
|
|
.HasForeignKey("CollectionItem_CollectionItem_Id");
|
|
|
|
b.HasOne("Jellyfin.Data.Entities.CollectionItem", "Next")
|
|
.WithMany()
|
|
.HasForeignKey("CollectionItem_Next_Id");
|
|
|
|
b.HasOne("Jellyfin.Data.Entities.CollectionItem", "Previous")
|
|
.WithMany()
|
|
.HasForeignKey("CollectionItem_Previous_Id");
|
|
|
|
b.HasOne("Jellyfin.Data.Entities.LibraryItem", "LibraryItem")
|
|
.WithMany()
|
|
.HasForeignKey("LibraryItem_Id");
|
|
});
|
|
|
|
modelBuilder.Entity("Jellyfin.Data.Entities.Company", b =>
|
|
{
|
|
b.HasOne("Jellyfin.Data.Entities.MusicAlbumMetadata", null)
|
|
.WithMany("Labels")
|
|
.HasForeignKey("Company_Labels_Id");
|
|
|
|
b.HasOne("Jellyfin.Data.Entities.SeriesMetadata", null)
|
|
.WithMany("Networks")
|
|
.HasForeignKey("Company_Networks_Id");
|
|
|
|
b.HasOne("Jellyfin.Data.Entities.Company", "Parent")
|
|
.WithMany()
|
|
.HasForeignKey("Company_Parent_Id");
|
|
|
|
b.HasOne("Jellyfin.Data.Entities.BookMetadata", null)
|
|
.WithMany("Publishers")
|
|
.HasForeignKey("Company_Publishers_Id");
|
|
|
|
b.HasOne("Jellyfin.Data.Entities.MovieMetadata", null)
|
|
.WithMany("Studios")
|
|
.HasForeignKey("Company_Studios_Id");
|
|
});
|
|
|
|
modelBuilder.Entity("Jellyfin.Data.Entities.Genre", b =>
|
|
{
|
|
b.HasOne("Jellyfin.Data.Entities.Metadata", null)
|
|
.WithMany("Genres")
|
|
.HasForeignKey("PersonRole_PersonRoles_Id");
|
|
});
|
|
|
|
modelBuilder.Entity("Jellyfin.Data.Entities.Group", b =>
|
|
{
|
|
b.HasOne("Jellyfin.Data.Entities.User", null)
|
|
.WithMany("Groups")
|
|
.HasForeignKey("Group_Groups_Id");
|
|
});
|
|
|
|
modelBuilder.Entity("Jellyfin.Data.Entities.LibraryItem", b =>
|
|
{
|
|
b.HasOne("Jellyfin.Data.Entities.LibraryRoot", "LibraryRoot")
|
|
.WithMany()
|
|
.HasForeignKey("LibraryRoot_Id");
|
|
});
|
|
|
|
modelBuilder.Entity("Jellyfin.Data.Entities.LibraryRoot", b =>
|
|
{
|
|
b.HasOne("Jellyfin.Data.Entities.Library", "Library")
|
|
.WithMany()
|
|
.HasForeignKey("Library_Id");
|
|
});
|
|
|
|
modelBuilder.Entity("Jellyfin.Data.Entities.MediaFile", b =>
|
|
{
|
|
b.HasOne("Jellyfin.Data.Entities.Release", null)
|
|
.WithMany("MediaFiles")
|
|
.HasForeignKey("MediaFile_MediaFiles_Id");
|
|
});
|
|
|
|
modelBuilder.Entity("Jellyfin.Data.Entities.MediaFileStream", b =>
|
|
{
|
|
b.HasOne("Jellyfin.Data.Entities.MediaFile", null)
|
|
.WithMany("MediaFileStreams")
|
|
.HasForeignKey("MediaFileStream_MediaFileStreams_Id");
|
|
});
|
|
|
|
modelBuilder.Entity("Jellyfin.Data.Entities.MetadataProviderId", b =>
|
|
{
|
|
b.HasOne("Jellyfin.Data.Entities.Person", null)
|
|
.WithMany("Sources")
|
|
.HasForeignKey("MetadataProviderId_Sources_Id");
|
|
|
|
b.HasOne("Jellyfin.Data.Entities.PersonRole", null)
|
|
.WithMany("Sources")
|
|
.HasForeignKey("MetadataProviderId_Sources_Id");
|
|
|
|
b.HasOne("Jellyfin.Data.Entities.MetadataProvider", "MetadataProvider")
|
|
.WithMany()
|
|
.HasForeignKey("MetadataProvider_Id");
|
|
|
|
b.HasOne("Jellyfin.Data.Entities.Metadata", null)
|
|
.WithMany("Sources")
|
|
.HasForeignKey("PersonRole_PersonRoles_Id");
|
|
});
|
|
|
|
modelBuilder.Entity("Jellyfin.Data.Entities.Permission", b =>
|
|
{
|
|
b.HasOne("Jellyfin.Data.Entities.Group", null)
|
|
.WithMany("GroupPermissions")
|
|
.HasForeignKey("Permission_GroupPermissions_Id");
|
|
|
|
b.HasOne("Jellyfin.Data.Entities.User", null)
|
|
.WithMany("Permissions")
|
|
.HasForeignKey("Permission_Permissions_Id");
|
|
});
|
|
|
|
modelBuilder.Entity("Jellyfin.Data.Entities.PersonRole", b =>
|
|
{
|
|
b.HasOne("Jellyfin.Data.Entities.Artwork", "Artwork")
|
|
.WithMany()
|
|
.HasForeignKey("Artwork_Artwork_Id");
|
|
|
|
b.HasOne("Jellyfin.Data.Entities.Metadata", null)
|
|
.WithMany("PersonRoles")
|
|
.HasForeignKey("PersonRole_PersonRoles_Id");
|
|
|
|
b.HasOne("Jellyfin.Data.Entities.Person", "Person")
|
|
.WithMany()
|
|
.HasForeignKey("Person_Id");
|
|
});
|
|
|
|
modelBuilder.Entity("Jellyfin.Data.Entities.Preference", b =>
|
|
{
|
|
b.HasOne("Jellyfin.Data.Entities.Group", null)
|
|
.WithMany("Preferences")
|
|
.HasForeignKey("Preference_Preferences_Id");
|
|
|
|
b.HasOne("Jellyfin.Data.Entities.User", null)
|
|
.WithMany("Preferences")
|
|
.HasForeignKey("Preference_Preferences_Id");
|
|
});
|
|
|
|
modelBuilder.Entity("Jellyfin.Data.Entities.ProviderMapping", b =>
|
|
{
|
|
b.HasOne("Jellyfin.Data.Entities.Group", null)
|
|
.WithMany("ProviderMappings")
|
|
.HasForeignKey("ProviderMapping_ProviderMappings_Id");
|
|
|
|
b.HasOne("Jellyfin.Data.Entities.User", null)
|
|
.WithMany("ProviderMappings")
|
|
.HasForeignKey("ProviderMapping_ProviderMappings_Id");
|
|
});
|
|
|
|
modelBuilder.Entity("Jellyfin.Data.Entities.Rating", b =>
|
|
{
|
|
b.HasOne("Jellyfin.Data.Entities.Metadata", null)
|
|
.WithMany("Ratings")
|
|
.HasForeignKey("PersonRole_PersonRoles_Id");
|
|
|
|
b.HasOne("Jellyfin.Data.Entities.RatingSource", "RatingType")
|
|
.WithMany()
|
|
.HasForeignKey("RatingSource_RatingType_Id");
|
|
});
|
|
|
|
modelBuilder.Entity("Jellyfin.Data.Entities.RatingSource", b =>
|
|
{
|
|
b.HasOne("Jellyfin.Data.Entities.MetadataProviderId", "Source")
|
|
.WithMany()
|
|
.HasForeignKey("MetadataProviderId_Source_Id");
|
|
});
|
|
|
|
modelBuilder.Entity("Jellyfin.Data.Entities.Release", b =>
|
|
{
|
|
b.HasOne("Jellyfin.Data.Entities.Book", null)
|
|
.WithMany("Releases")
|
|
.HasForeignKey("Release_Releases_Id");
|
|
|
|
b.HasOne("Jellyfin.Data.Entities.CustomItem", null)
|
|
.WithMany("Releases")
|
|
.HasForeignKey("Release_Releases_Id")
|
|
.HasConstraintName("FK_Release_LibraryItem_Release_Releases_Id1");
|
|
|
|
b.HasOne("Jellyfin.Data.Entities.Episode", null)
|
|
.WithMany("Releases")
|
|
.HasForeignKey("Release_Releases_Id")
|
|
.HasConstraintName("FK_Release_LibraryItem_Release_Releases_Id2");
|
|
|
|
b.HasOne("Jellyfin.Data.Entities.Movie", null)
|
|
.WithMany("Releases")
|
|
.HasForeignKey("Release_Releases_Id")
|
|
.HasConstraintName("FK_Release_LibraryItem_Release_Releases_Id3");
|
|
|
|
b.HasOne("Jellyfin.Data.Entities.Photo", null)
|
|
.WithMany("Releases")
|
|
.HasForeignKey("Release_Releases_Id")
|
|
.HasConstraintName("FK_Release_LibraryItem_Release_Releases_Id4");
|
|
|
|
b.HasOne("Jellyfin.Data.Entities.Track", null)
|
|
.WithMany("Releases")
|
|
.HasForeignKey("Release_Releases_Id")
|
|
.HasConstraintName("FK_Release_LibraryItem_Release_Releases_Id5");
|
|
});
|
|
|
|
modelBuilder.Entity("Jellyfin.Data.Entities.Episode", b =>
|
|
{
|
|
b.HasOne("Jellyfin.Data.Entities.Season", null)
|
|
.WithMany("Episodes")
|
|
.HasForeignKey("Episode_Episodes_Id");
|
|
});
|
|
|
|
modelBuilder.Entity("Jellyfin.Data.Entities.Season", b =>
|
|
{
|
|
b.HasOne("Jellyfin.Data.Entities.Series", null)
|
|
.WithMany("Seasons")
|
|
.HasForeignKey("Season_Seasons_Id");
|
|
});
|
|
|
|
modelBuilder.Entity("Jellyfin.Data.Entities.Track", b =>
|
|
{
|
|
b.HasOne("Jellyfin.Data.Entities.MusicAlbum", null)
|
|
.WithMany("Tracks")
|
|
.HasForeignKey("Track_Tracks_Id");
|
|
});
|
|
|
|
modelBuilder.Entity("Jellyfin.Data.Entities.BookMetadata", b =>
|
|
{
|
|
b.HasOne("Jellyfin.Data.Entities.Book", null)
|
|
.WithMany("BookMetadata")
|
|
.HasForeignKey("BookMetadata_BookMetadata_Id");
|
|
});
|
|
|
|
modelBuilder.Entity("Jellyfin.Data.Entities.CompanyMetadata", b =>
|
|
{
|
|
b.HasOne("Jellyfin.Data.Entities.Company", null)
|
|
.WithMany("CompanyMetadata")
|
|
.HasForeignKey("CompanyMetadata_CompanyMetadata_Id");
|
|
});
|
|
|
|
modelBuilder.Entity("Jellyfin.Data.Entities.CustomItemMetadata", b =>
|
|
{
|
|
b.HasOne("Jellyfin.Data.Entities.CustomItem", null)
|
|
.WithMany("CustomItemMetadata")
|
|
.HasForeignKey("CustomItemMetadata_CustomItemMetadata_Id");
|
|
});
|
|
|
|
modelBuilder.Entity("Jellyfin.Data.Entities.EpisodeMetadata", b =>
|
|
{
|
|
b.HasOne("Jellyfin.Data.Entities.Episode", null)
|
|
.WithMany("EpisodeMetadata")
|
|
.HasForeignKey("EpisodeMetadata_EpisodeMetadata_Id");
|
|
});
|
|
|
|
modelBuilder.Entity("Jellyfin.Data.Entities.MovieMetadata", b =>
|
|
{
|
|
b.HasOne("Jellyfin.Data.Entities.Movie", null)
|
|
.WithMany("MovieMetadata")
|
|
.HasForeignKey("MovieMetadata_MovieMetadata_Id");
|
|
});
|
|
|
|
modelBuilder.Entity("Jellyfin.Data.Entities.MusicAlbumMetadata", b =>
|
|
{
|
|
b.HasOne("Jellyfin.Data.Entities.MusicAlbum", null)
|
|
.WithMany("MusicAlbumMetadata")
|
|
.HasForeignKey("MusicAlbumMetadata_MusicAlbumMetadata_Id");
|
|
});
|
|
|
|
modelBuilder.Entity("Jellyfin.Data.Entities.PhotoMetadata", b =>
|
|
{
|
|
b.HasOne("Jellyfin.Data.Entities.Photo", null)
|
|
.WithMany("PhotoMetadata")
|
|
.HasForeignKey("PhotoMetadata_PhotoMetadata_Id");
|
|
});
|
|
|
|
modelBuilder.Entity("Jellyfin.Data.Entities.SeasonMetadata", b =>
|
|
{
|
|
b.HasOne("Jellyfin.Data.Entities.Season", null)
|
|
.WithMany("SeasonMetadata")
|
|
.HasForeignKey("SeasonMetadata_SeasonMetadata_Id");
|
|
});
|
|
|
|
modelBuilder.Entity("Jellyfin.Data.Entities.SeriesMetadata", b =>
|
|
{
|
|
b.HasOne("Jellyfin.Data.Entities.Series", null)
|
|
.WithMany("SeriesMetadata")
|
|
.HasForeignKey("SeriesMetadata_SeriesMetadata_Id");
|
|
});
|
|
|
|
modelBuilder.Entity("Jellyfin.Data.Entities.TrackMetadata", b =>
|
|
{
|
|
b.HasOne("Jellyfin.Data.Entities.Track", null)
|
|
.WithMany("TrackMetadata")
|
|
.HasForeignKey("TrackMetadata_TrackMetadata_Id");
|
|
});
|
|
#pragma warning restore 612, 618
|
|
}
|
|
}
|
|
}
|