Files
WatchIt/WatchIt.Database/WatchIt.Database/Migrations/20240319232340_0002_PersonActorTableAdded.Designer.cs
2024-03-20 00:34:47 +01:00

796 lines
28 KiB
C#

// <auto-generated />
using System;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Migrations;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata;
using WatchIt.Database;
#nullable disable
namespace WatchIt.Database.Migrations
{
[DbContext(typeof(DatabaseContext))]
[Migration("20240319232340_0002_PersonActorTableAdded")]
partial class _0002_PersonActorTableAdded
{
/// <inheritdoc />
protected override void BuildTargetModel(ModelBuilder modelBuilder)
{
#pragma warning disable 612, 618
modelBuilder
.HasAnnotation("ProductVersion", "8.0.3")
.HasAnnotation("Relational:MaxIdentifierLength", 63);
NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder);
modelBuilder.Entity("WatchIt.Database.Model.Account.Account", b =>
{
b.Property<long>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("bigint");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<long>("Id"));
b.Property<Guid?>("BackgroundPictureId")
.HasColumnType("uuid");
b.Property<DateTime>("CreationDate")
.ValueGeneratedOnAdd()
.HasColumnType("timestamp with time zone")
.HasDefaultValueSql("now()");
b.Property<string>("Description")
.IsRequired()
.HasMaxLength(1000)
.HasColumnType("character varying(1000)");
b.Property<string>("Email")
.IsRequired()
.HasMaxLength(320)
.HasColumnType("character varying(320)");
b.Property<bool>("IsAdmin")
.HasColumnType("boolean");
b.Property<DateTime>("LastActive")
.ValueGeneratedOnAdd()
.HasColumnType("timestamp with time zone")
.HasDefaultValueSql("now()");
b.Property<string>("LeftSalt")
.IsRequired()
.HasMaxLength(20)
.HasColumnType("character varying(20)");
b.Property<byte[]>("Password")
.IsRequired()
.HasMaxLength(1000)
.HasColumnType("bytea");
b.Property<Guid?>("ProfilePictureId")
.HasColumnType("uuid");
b.Property<string>("RightSalt")
.IsRequired()
.HasMaxLength(20)
.HasColumnType("character varying(20)");
b.Property<string>("Username")
.IsRequired()
.HasMaxLength(50)
.HasColumnType("character varying(50)");
b.HasKey("Id");
b.HasIndex("BackgroundPictureId");
b.HasIndex("Id")
.IsUnique();
b.HasIndex("ProfilePictureId")
.IsUnique();
b.ToTable("Accounts");
});
modelBuilder.Entity("WatchIt.Database.Model.Account.AccountProfilePicture", b =>
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("uuid");
b.Property<byte[]>("Image")
.IsRequired()
.HasMaxLength(-1)
.HasColumnType("bytea");
b.Property<string>("MimeType")
.IsRequired()
.HasMaxLength(50)
.HasColumnType("character varying(50)");
b.Property<DateTime>("UploadDate")
.ValueGeneratedOnAdd()
.HasColumnType("timestamp with time zone")
.HasDefaultValueSql("now()");
b.HasKey("Id");
b.HasIndex("Id")
.IsUnique();
b.ToTable("AccountProfilePictures");
});
modelBuilder.Entity("WatchIt.Database.Model.Common.Country", b =>
{
b.Property<short>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("smallint");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<short>("Id"));
b.Property<string>("Name")
.IsRequired()
.HasMaxLength(100)
.HasColumnType("character varying(100)");
b.HasKey("Id");
b.HasIndex("Id")
.IsUnique();
b.ToTable("Countries");
b.HasData(
new
{
Id = (short)1,
Name = "Afghanistan"
},
new
{
Id = (short)2,
Name = "Albania"
});
});
modelBuilder.Entity("WatchIt.Database.Model.Common.Genre", b =>
{
b.Property<short>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("smallint");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<short>("Id"));
b.Property<string>("Description")
.HasMaxLength(1000)
.HasColumnType("character varying(1000)");
b.Property<string>("Name")
.IsRequired()
.HasMaxLength(100)
.HasColumnType("character varying(100)");
b.HasKey("Id");
b.HasIndex("Id")
.IsUnique();
b.ToTable("Genres");
b.HasData(
new
{
Id = (short)1,
Name = "Comedy"
},
new
{
Id = (short)2,
Name = "Thriller"
},
new
{
Id = (short)3,
Name = "Horror"
},
new
{
Id = (short)4,
Name = "Action"
},
new
{
Id = (short)5,
Name = "Drama"
});
});
modelBuilder.Entity("WatchIt.Database.Model.Media.Media", b =>
{
b.Property<long>("Id")
.HasColumnType("bigint");
b.Property<string>("Description")
.HasMaxLength(1000)
.HasColumnType("character varying(1000)");
b.Property<TimeSpan?>("Length")
.HasColumnType("interval");
b.Property<Guid?>("MediaPosterImageId")
.HasColumnType("uuid");
b.Property<string>("OriginalTitle")
.HasMaxLength(250)
.HasColumnType("character varying(250)");
b.Property<DateTime?>("ReleaseDate")
.HasColumnType("timestamp with time zone");
b.Property<string>("Title")
.IsRequired()
.HasMaxLength(250)
.HasColumnType("character varying(250)");
b.HasKey("Id");
b.HasIndex("Id")
.IsUnique();
b.HasIndex("MediaPosterImageId")
.IsUnique();
b.ToTable("Media");
});
modelBuilder.Entity("WatchIt.Database.Model.Media.MediaGenre", b =>
{
b.Property<short>("GenreId")
.HasColumnType("smallint");
b.Property<long>("MediaId")
.HasColumnType("bigint");
b.HasKey("GenreId", "MediaId");
b.HasIndex("MediaId");
b.ToTable("MediaGenres");
});
modelBuilder.Entity("WatchIt.Database.Model.Media.MediaMovie", b =>
{
b.Property<long>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("bigint");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<long>("Id"));
b.Property<decimal?>("Budget")
.HasColumnType("money");
b.HasKey("Id");
b.HasIndex("Id")
.IsUnique();
b.ToTable("MediaMovies");
});
modelBuilder.Entity("WatchIt.Database.Model.Media.MediaPhotoImage", b =>
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("uuid");
b.Property<byte[]>("Image")
.IsRequired()
.HasMaxLength(-1)
.HasColumnType("bytea");
b.Property<bool>("IsMediaBackground")
.ValueGeneratedOnAdd()
.HasColumnType("boolean")
.HasDefaultValue(false);
b.Property<bool>("IsUniversalBackground")
.ValueGeneratedOnAdd()
.HasColumnType("boolean")
.HasDefaultValue(false);
b.Property<long>("MediaId")
.HasColumnType("bigint");
b.Property<string>("MimeType")
.IsRequired()
.HasMaxLength(50)
.HasColumnType("character varying(50)");
b.Property<DateTime>("UploadDate")
.ValueGeneratedOnAdd()
.HasColumnType("timestamp with time zone")
.HasDefaultValueSql("now()");
b.HasKey("Id");
b.HasIndex("Id")
.IsUnique();
b.HasIndex("MediaId");
b.ToTable("MediaPhotoImages");
});
modelBuilder.Entity("WatchIt.Database.Model.Media.MediaPosterImage", b =>
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("uuid");
b.Property<byte[]>("Image")
.IsRequired()
.HasMaxLength(-1)
.HasColumnType("bytea");
b.Property<string>("MimeType")
.IsRequired()
.HasMaxLength(50)
.HasColumnType("character varying(50)");
b.Property<DateTime>("UploadDate")
.ValueGeneratedOnAdd()
.HasColumnType("timestamp with time zone")
.HasDefaultValueSql("now()");
b.HasKey("Id");
b.HasIndex("Id")
.IsUnique();
b.ToTable("MediaPosterImages");
});
modelBuilder.Entity("WatchIt.Database.Model.Media.MediaProductionCountry", b =>
{
b.Property<short>("CountryId")
.HasColumnType("smallint");
b.Property<long>("MediaId")
.HasColumnType("bigint");
b.HasKey("CountryId", "MediaId");
b.HasIndex("MediaId");
b.ToTable("MediaProductionCountrys");
});
modelBuilder.Entity("WatchIt.Database.Model.Media.MediaSeries", b =>
{
b.Property<long>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("bigint");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<long>("Id"));
b.Property<bool>("HasEnded")
.HasColumnType("boolean");
b.HasKey("Id");
b.HasIndex("Id")
.IsUnique();
b.ToTable("MediaSeries");
});
modelBuilder.Entity("WatchIt.Database.Model.Media.MediaSeriesEpisode", b =>
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("uuid");
b.Property<bool>("IsSpecial")
.ValueGeneratedOnAdd()
.HasColumnType("boolean")
.HasDefaultValue(false);
b.Property<Guid>("MediaSeriesSeasonId")
.HasColumnType("uuid");
b.Property<string>("Name")
.HasColumnType("text");
b.Property<short>("Number")
.HasColumnType("smallint");
b.HasKey("Id");
b.HasIndex("Id")
.IsUnique();
b.HasIndex("MediaSeriesSeasonId");
b.ToTable("MediaSeriesEpisodes");
});
modelBuilder.Entity("WatchIt.Database.Model.Media.MediaSeriesSeason", b =>
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("uuid");
b.Property<long>("MediaSeriesId")
.HasColumnType("bigint");
b.Property<string>("Name")
.HasColumnType("text");
b.Property<short>("Number")
.HasColumnType("smallint");
b.HasKey("Id");
b.HasIndex("Id")
.IsUnique();
b.HasIndex("MediaSeriesId");
b.ToTable("MediaSeriesSeasons");
});
modelBuilder.Entity("WatchIt.Database.Model.Person.Person", b =>
{
b.Property<long>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("bigint");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<long>("Id"));
b.Property<DateOnly?>("BirthDate")
.HasColumnType("date");
b.Property<DateOnly?>("DeathDate")
.HasColumnType("date");
b.Property<string>("Description")
.HasMaxLength(1000)
.HasColumnType("character varying(1000)");
b.Property<string>("FullName")
.HasMaxLength(200)
.HasColumnType("character varying(200)");
b.Property<string>("Name")
.IsRequired()
.HasMaxLength(100)
.HasColumnType("character varying(100)");
b.Property<Guid?>("PersonPhotoId")
.HasColumnType("uuid");
b.HasKey("Id");
b.HasIndex("Id")
.IsUnique();
b.HasIndex("PersonPhotoId")
.IsUnique();
b.ToTable("Persons");
});
modelBuilder.Entity("WatchIt.Database.Model.Person.PersonActorRole", b =>
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("uuid");
b.Property<long>("MediaId")
.HasColumnType("bigint");
b.Property<short>("PersonActorRoleTypeId")
.HasColumnType("smallint");
b.Property<long>("PersonId")
.HasColumnType("bigint");
b.Property<string>("RoleName")
.IsRequired()
.HasColumnType("text");
b.HasKey("Id");
b.HasIndex("Id")
.IsUnique();
b.HasIndex("MediaId");
b.HasIndex("PersonActorRoleTypeId");
b.HasIndex("PersonId");
b.ToTable("PersonActorRoles");
});
modelBuilder.Entity("WatchIt.Database.Model.Person.PersonActorRoleType", b =>
{
b.Property<short>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("smallint");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<short>("Id"));
b.Property<string>("Name")
.IsRequired()
.HasMaxLength(100)
.HasColumnType("character varying(100)");
b.HasKey("Id");
b.HasIndex("Id")
.IsUnique();
b.ToTable("PersonActorRoleTypes");
b.HasData(
new
{
Id = (short)1,
Name = "Actor"
},
new
{
Id = (short)2,
Name = "Supporting actor"
},
new
{
Id = (short)3,
Name = "Voice actor"
});
});
modelBuilder.Entity("WatchIt.Database.Model.Person.PersonPhotoImage", b =>
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("uuid");
b.Property<byte[]>("Image")
.IsRequired()
.HasMaxLength(-1)
.HasColumnType("bytea");
b.Property<string>("MimeType")
.IsRequired()
.HasMaxLength(50)
.HasColumnType("character varying(50)");
b.Property<DateTime>("UploadDate")
.ValueGeneratedOnAdd()
.HasColumnType("timestamp with time zone")
.HasDefaultValueSql("now()");
b.HasKey("Id");
b.HasIndex("Id")
.IsUnique();
b.ToTable("PersonPhotoImages");
});
modelBuilder.Entity("WatchIt.Database.Model.Account.Account", b =>
{
b.HasOne("WatchIt.Database.Model.Media.MediaPhotoImage", "BackgroundPicture")
.WithMany()
.HasForeignKey("BackgroundPictureId");
b.HasOne("WatchIt.Database.Model.Account.AccountProfilePicture", "ProfilePicture")
.WithOne("Account")
.HasForeignKey("WatchIt.Database.Model.Account.Account", "ProfilePictureId");
b.Navigation("BackgroundPicture");
b.Navigation("ProfilePicture");
});
modelBuilder.Entity("WatchIt.Database.Model.Media.Media", b =>
{
b.HasOne("WatchIt.Database.Model.Media.MediaMovie", null)
.WithOne("Media")
.HasForeignKey("WatchIt.Database.Model.Media.Media", "Id")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("WatchIt.Database.Model.Media.MediaSeries", null)
.WithOne("Media")
.HasForeignKey("WatchIt.Database.Model.Media.Media", "Id")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("WatchIt.Database.Model.Media.MediaPosterImage", "MediaPosterImage")
.WithOne("Media")
.HasForeignKey("WatchIt.Database.Model.Media.Media", "MediaPosterImageId");
b.Navigation("MediaPosterImage");
});
modelBuilder.Entity("WatchIt.Database.Model.Media.MediaGenre", b =>
{
b.HasOne("WatchIt.Database.Model.Common.Genre", "Genre")
.WithMany("MediaGenres")
.HasForeignKey("GenreId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("WatchIt.Database.Model.Media.Media", "Media")
.WithMany("MediaGenres")
.HasForeignKey("MediaId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Genre");
b.Navigation("Media");
});
modelBuilder.Entity("WatchIt.Database.Model.Media.MediaPhotoImage", b =>
{
b.HasOne("WatchIt.Database.Model.Media.Media", "Media")
.WithMany("MediaPhotoImages")
.HasForeignKey("MediaId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Media");
});
modelBuilder.Entity("WatchIt.Database.Model.Media.MediaProductionCountry", b =>
{
b.HasOne("WatchIt.Database.Model.Common.Country", "Country")
.WithMany("MediaProductionCountries")
.HasForeignKey("CountryId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("WatchIt.Database.Model.Media.Media", "Media")
.WithMany("MediaProductionCountries")
.HasForeignKey("MediaId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Country");
b.Navigation("Media");
});
modelBuilder.Entity("WatchIt.Database.Model.Media.MediaSeriesEpisode", b =>
{
b.HasOne("WatchIt.Database.Model.Media.MediaSeriesSeason", "MediaSeriesSeason")
.WithMany("MediaSeriesEpisodes")
.HasForeignKey("MediaSeriesSeasonId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("MediaSeriesSeason");
});
modelBuilder.Entity("WatchIt.Database.Model.Media.MediaSeriesSeason", b =>
{
b.HasOne("WatchIt.Database.Model.Media.MediaSeries", "MediaSeries")
.WithMany("MediaSeriesSeasons")
.HasForeignKey("MediaSeriesId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("MediaSeries");
});
modelBuilder.Entity("WatchIt.Database.Model.Person.Person", b =>
{
b.HasOne("WatchIt.Database.Model.Person.PersonPhotoImage", "PersonPhoto")
.WithOne("Person")
.HasForeignKey("WatchIt.Database.Model.Person.Person", "PersonPhotoId");
b.Navigation("PersonPhoto");
});
modelBuilder.Entity("WatchIt.Database.Model.Person.PersonActorRole", b =>
{
b.HasOne("WatchIt.Database.Model.Media.Media", "Media")
.WithMany("PersonActorRoles")
.HasForeignKey("MediaId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("WatchIt.Database.Model.Person.PersonActorRoleType", "PersonActorRoleType")
.WithMany()
.HasForeignKey("PersonActorRoleTypeId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("WatchIt.Database.Model.Person.Person", "Person")
.WithMany("PersonActorRoles")
.HasForeignKey("PersonId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Media");
b.Navigation("Person");
b.Navigation("PersonActorRoleType");
});
modelBuilder.Entity("WatchIt.Database.Model.Account.AccountProfilePicture", b =>
{
b.Navigation("Account")
.IsRequired();
});
modelBuilder.Entity("WatchIt.Database.Model.Common.Country", b =>
{
b.Navigation("MediaProductionCountries");
});
modelBuilder.Entity("WatchIt.Database.Model.Common.Genre", b =>
{
b.Navigation("MediaGenres");
});
modelBuilder.Entity("WatchIt.Database.Model.Media.Media", b =>
{
b.Navigation("MediaGenres");
b.Navigation("MediaPhotoImages");
b.Navigation("MediaProductionCountries");
b.Navigation("PersonActorRoles");
});
modelBuilder.Entity("WatchIt.Database.Model.Media.MediaMovie", b =>
{
b.Navigation("Media")
.IsRequired();
});
modelBuilder.Entity("WatchIt.Database.Model.Media.MediaPosterImage", b =>
{
b.Navigation("Media")
.IsRequired();
});
modelBuilder.Entity("WatchIt.Database.Model.Media.MediaSeries", b =>
{
b.Navigation("Media")
.IsRequired();
b.Navigation("MediaSeriesSeasons");
});
modelBuilder.Entity("WatchIt.Database.Model.Media.MediaSeriesSeason", b =>
{
b.Navigation("MediaSeriesEpisodes");
});
modelBuilder.Entity("WatchIt.Database.Model.Person.Person", b =>
{
b.Navigation("PersonActorRoles");
});
modelBuilder.Entity("WatchIt.Database.Model.Person.PersonPhotoImage", b =>
{
b.Navigation("Person")
.IsRequired();
});
#pragma warning restore 612, 618
}
}
}