// using System; using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Infrastructure; using Microsoft.EntityFrameworkCore.Migrations; using Microsoft.EntityFrameworkCore.Storage.ValueConversion; using Moonlight.Api.Database; using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata; #nullable disable namespace Moonlight.Api.Database.Migrations { [DbContext(typeof(DataContext))] [Migration("20260209114238_AddedValidUntilToApiKeys")] partial class AddedValidUntilToApiKeys { /// protected override void BuildTargetModel(ModelBuilder modelBuilder) { #pragma warning disable 612, 618 modelBuilder .HasDefaultSchema("core") .HasAnnotation("ProductVersion", "10.0.1") .HasAnnotation("Relational:MaxIdentifierLength", 63); NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder); modelBuilder.Entity("Moonlight.Api.Database.Entities.ApiKey", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("integer"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); b.Property("CreatedAt") .HasColumnType("timestamp with time zone"); b.Property("Description") .IsRequired() .HasMaxLength(300) .HasColumnType("character varying(300)"); b.Property("Key") .IsRequired() .HasMaxLength(32) .HasColumnType("character varying(32)"); b.Property("Name") .IsRequired() .HasMaxLength(30) .HasColumnType("character varying(30)"); b.PrimitiveCollection("Permissions") .IsRequired() .HasColumnType("text[]"); b.Property("UpdatedAt") .HasColumnType("timestamp with time zone"); b.Property("ValidUntil") .HasColumnType("timestamp with time zone"); b.HasKey("Id"); b.ToTable("ApiKeys", "core"); }); modelBuilder.Entity("Moonlight.Api.Database.Entities.Role", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("integer"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); b.Property("CreatedAt") .HasColumnType("timestamp with time zone"); b.Property("Description") .IsRequired() .HasMaxLength(300) .HasColumnType("character varying(300)"); b.Property("Name") .IsRequired() .HasMaxLength(30) .HasColumnType("character varying(30)"); b.PrimitiveCollection("Permissions") .IsRequired() .HasColumnType("text[]"); b.Property("UpdatedAt") .HasColumnType("timestamp with time zone"); b.HasKey("Id"); b.ToTable("Roles", "core"); }); modelBuilder.Entity("Moonlight.Api.Database.Entities.RoleMember", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("integer"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); b.Property("CreatedAt") .HasColumnType("timestamp with time zone"); b.Property("RoleId") .HasColumnType("integer"); b.Property("UpdatedAt") .HasColumnType("timestamp with time zone"); b.Property("UserId") .HasColumnType("integer"); b.HasKey("Id"); b.HasIndex("RoleId"); b.HasIndex("UserId"); b.ToTable("RoleMembers", "core"); }); modelBuilder.Entity("Moonlight.Api.Database.Entities.SettingsOption", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("integer"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); b.Property("Key") .IsRequired() .HasMaxLength(256) .HasColumnType("character varying(256)"); b.Property("ValueJson") .IsRequired() .HasMaxLength(4096) .HasColumnType("jsonb"); b.HasKey("Id"); b.ToTable("SettingsOptions", "core"); }); modelBuilder.Entity("Moonlight.Api.Database.Entities.Theme", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("integer"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); b.Property("Author") .IsRequired() .HasMaxLength(30) .HasColumnType("character varying(30)"); b.Property("CssContent") .IsRequired() .HasMaxLength(20000) .HasColumnType("character varying(20000)"); b.Property("IsEnabled") .HasColumnType("boolean"); b.Property("Name") .IsRequired() .HasMaxLength(30) .HasColumnType("character varying(30)"); b.Property("Version") .IsRequired() .HasMaxLength(30) .HasColumnType("character varying(30)"); b.HasKey("Id"); b.ToTable("Themes", "core"); }); modelBuilder.Entity("Moonlight.Api.Database.Entities.User", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("integer"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); b.Property("CreatedAt") .HasColumnType("timestamp with time zone"); b.Property("Email") .IsRequired() .HasMaxLength(254) .HasColumnType("character varying(254)"); b.Property("InvalidateTimestamp") .HasColumnType("timestamp with time zone"); b.Property("UpdatedAt") .HasColumnType("timestamp with time zone"); b.Property("Username") .IsRequired() .HasMaxLength(50) .HasColumnType("character varying(50)"); b.HasKey("Id"); b.ToTable("Users", "core"); }); modelBuilder.Entity("Moonlight.Api.Database.Entities.RoleMember", b => { b.HasOne("Moonlight.Api.Database.Entities.Role", "Role") .WithMany("Members") .HasForeignKey("RoleId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("Moonlight.Api.Database.Entities.User", "User") .WithMany("RoleMemberships") .HasForeignKey("UserId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Role"); b.Navigation("User"); }); modelBuilder.Entity("Moonlight.Api.Database.Entities.Role", b => { b.Navigation("Members"); }); modelBuilder.Entity("Moonlight.Api.Database.Entities.User", b => { b.Navigation("RoleMemberships"); }); #pragma warning restore 612, 618 } } }