// using System; using Flaro.Data; using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Infrastructure; using Microsoft.EntityFrameworkCore.Migrations; using Microsoft.EntityFrameworkCore.Storage.ValueConversion; #nullable disable namespace Flaro.Data.Migrations { [DbContext(typeof(FlaroContext))] [Migration("20261003123234_GeparsterTitel")] partial class GeparsterTitel { /// protected override void BuildTargetModel(ModelBuilder modelBuilder) { #pragma warning disable 612, 618 modelBuilder.HasAnnotation("ProductVersion", "10.0.12"); modelBuilder.Entity("Flaro.Core.Auth.AuthCode", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("TEXT"); b.Property("ApprovedByUserId") .HasColumnType("TEXT"); b.Property("Code") .IsRequired() .HasMaxLength(16) .HasColumnType("TEXT"); b.Property("ConsumedAt") .HasColumnType("INTEGER"); b.Property("CreatedAt") .HasColumnType("INTEGER"); b.Property("DeviceId") .IsRequired() .HasMaxLength(128) .HasColumnType("TEXT"); b.Property("DeviceName") .IsRequired() .HasMaxLength(128) .HasColumnType("TEXT"); b.Property("ExpiresAt") .HasColumnType("INTEGER"); b.Property("HandleFingerprint") .IsRequired() .HasMaxLength(64) .HasColumnType("TEXT"); b.HasKey("Id"); b.HasIndex("Code"); b.HasIndex("HandleFingerprint") .IsUnique(); b.ToTable("AuthCodes"); }); modelBuilder.Entity("Flaro.Core.Auth.DeviceToken", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("TEXT"); b.Property("CreatedAt") .HasColumnType("INTEGER"); b.Property("DeviceId") .IsRequired() .HasMaxLength(128) .HasColumnType("TEXT"); b.Property("DeviceName") .IsRequired() .HasMaxLength(128) .HasColumnType("TEXT"); b.Property("LastSeenAt") .HasColumnType("INTEGER"); b.Property("RevokedAt") .HasColumnType("INTEGER"); b.Property("TokenFingerprint") .IsRequired() .HasMaxLength(64) .HasColumnType("TEXT"); b.Property("UserId") .HasColumnType("TEXT"); b.HasKey("Id"); b.HasIndex("TokenFingerprint") .IsUnique(); b.HasIndex("UserId"); b.ToTable("DeviceTokens"); }); modelBuilder.Entity("Flaro.Core.Libraries.Library", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("TEXT"); b.Property("CreatedAt") .HasColumnType("INTEGER"); b.Property("Kind") .IsRequired() .HasMaxLength(32) .HasColumnType("TEXT"); b.Property("Name") .IsRequired() .HasMaxLength(128) .HasColumnType("TEXT"); b.Property("Path") .IsRequired() .HasMaxLength(1024) .HasColumnType("TEXT"); b.HasKey("Id"); b.ToTable("Libraries"); }); modelBuilder.Entity("Flaro.Core.Library.Episode", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("TEXT"); b.Property("AddedAt") .HasColumnType("INTEGER"); b.Property("EpisodeNumber") .HasColumnType("INTEGER"); b.Property("Overview") .HasColumnType("TEXT"); b.Property("SeasonNumber") .HasColumnType("INTEGER"); b.Property("SeriesId") .HasColumnType("TEXT"); b.Property("StillImage") .HasColumnType("TEXT"); b.Property("Title") .HasMaxLength(512) .HasColumnType("TEXT"); b.HasKey("Id"); b.HasIndex("SeriesId", "SeasonNumber", "EpisodeNumber") .IsUnique(); b.ToTable("Episodes"); }); modelBuilder.Entity("Flaro.Core.Library.MediaFile", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("TEXT"); b.Property("EpisodeId") .HasColumnType("TEXT"); b.Property("LibraryId") .HasColumnType("TEXT"); b.Property("ModifiedAt") .HasColumnType("INTEGER"); b.Property("MovieId") .HasColumnType("TEXT"); b.Property("Path") .IsRequired() .HasMaxLength(1024) .HasColumnType("TEXT"); b.Property("SeenAt") .HasColumnType("INTEGER"); b.Property("SizeBytes") .HasColumnType("INTEGER"); b.HasKey("Id"); b.HasIndex("EpisodeId"); b.HasIndex("MovieId"); b.HasIndex("LibraryId", "Path") .IsUnique(); b.ToTable("MediaFiles"); }); modelBuilder.Entity("Flaro.Core.Library.Movie", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("TEXT"); b.Property("AddedAt") .HasColumnType("INTEGER"); b.Property("BackdropImage") .HasColumnType("TEXT"); b.Property("LibraryId") .HasColumnType("TEXT"); b.Property("Overview") .HasColumnType("TEXT"); b.Property("ParsedTitle") .IsRequired() .HasColumnType("TEXT"); b.Property("PosterImage") .HasColumnType("TEXT"); b.Property("SortTitleValue") .IsRequired() .HasMaxLength(512) .HasColumnType("TEXT"); b.Property("Title") .IsRequired() .HasMaxLength(512) .HasColumnType("TEXT"); b.Property("TmdbId") .HasColumnType("INTEGER"); b.Property("Year") .HasColumnType("INTEGER"); b.HasKey("Id"); b.HasIndex("LibraryId", "SortTitleValue"); b.ToTable("Movies"); }); modelBuilder.Entity("Flaro.Core.Library.Series", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("TEXT"); b.Property("AddedAt") .HasColumnType("INTEGER"); b.Property("BackdropImage") .HasColumnType("TEXT"); b.Property("LibraryId") .HasColumnType("TEXT"); b.Property("Overview") .HasColumnType("TEXT"); b.Property("ParsedTitle") .IsRequired() .HasColumnType("TEXT"); b.Property("PosterImage") .HasColumnType("TEXT"); b.Property("SortTitleValue") .IsRequired() .HasMaxLength(512) .HasColumnType("TEXT"); b.Property("Title") .IsRequired() .HasMaxLength(512) .HasColumnType("TEXT"); b.Property("TmdbId") .HasColumnType("INTEGER"); b.Property("Year") .HasColumnType("INTEGER"); b.HasKey("Id"); b.HasIndex("LibraryId", "SortTitleValue"); b.ToTable("Series"); }); modelBuilder.Entity("Flaro.Core.ServerSetting", b => { b.Property("Key") .HasMaxLength(128) .HasColumnType("TEXT"); b.Property("Value") .IsRequired() .HasMaxLength(4096) .HasColumnType("TEXT"); b.HasKey("Key"); b.ToTable("Settings"); }); modelBuilder.Entity("Flaro.Core.Users.User", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("TEXT"); b.Property("CreatedAt") .HasColumnType("INTEGER"); b.Property("IsAdministrator") .HasColumnType("INTEGER"); b.Property("PasswordHash") .IsRequired() .HasMaxLength(256) .HasColumnType("TEXT"); b.Property("UserName") .IsRequired() .HasMaxLength(64) .HasColumnType("TEXT") .UseCollation("NOCASE"); b.HasKey("Id"); b.HasIndex("UserName") .IsUnique(); b.ToTable("Users"); }); modelBuilder.Entity("Flaro.Core.Auth.DeviceToken", b => { b.HasOne("Flaro.Core.Users.User", null) .WithMany() .HasForeignKey("UserId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); }); modelBuilder.Entity("Flaro.Core.Library.Episode", b => { b.HasOne("Flaro.Core.Library.Series", null) .WithMany() .HasForeignKey("SeriesId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); }); modelBuilder.Entity("Flaro.Core.Library.MediaFile", b => { b.HasOne("Flaro.Core.Libraries.Library", null) .WithMany() .HasForeignKey("LibraryId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); }); modelBuilder.Entity("Flaro.Core.Library.Movie", b => { b.HasOne("Flaro.Core.Libraries.Library", null) .WithMany() .HasForeignKey("LibraryId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); }); modelBuilder.Entity("Flaro.Core.Library.Series", b => { b.HasOne("Flaro.Core.Libraries.Library", null) .WithMany() .HasForeignKey("LibraryId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); }); #pragma warning restore 612, 618 } } }