// using System; using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Infrastructure; using Microsoft.EntityFrameworkCore.Migrations; using Microsoft.EntityFrameworkCore.Storage.ValueConversion; using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata; using StubbedContextLib; #nullable disable namespace StubbedContextLib.Migrations { [DbContext(typeof(StubbedContext))] [Migration("20240624134431_Initial")] partial class Initial { /// protected override void BuildTargetModel(ModelBuilder modelBuilder) { #pragma warning disable 612, 618 modelBuilder .HasAnnotation("ProductVersion", "8.0.2") .HasAnnotation("Relational:MaxIdentifierLength", 63); NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder); modelBuilder.HasSequence("ContentLessonEntitySequence"); modelBuilder.Entity("Entities.BlackListEntity", b => { b.Property("Email") .HasColumnType("text"); b.Property("ExpirationDate") .HasColumnType("date"); b.HasKey("Email"); b.ToTable("BlackList"); }); modelBuilder.Entity("Entities.ContentLessonEntity", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("integer") .HasDefaultValueSql("nextval('\"ContentLessonEntitySequence\"')"); NpgsqlPropertyBuilderExtensions.UseSequence(b.Property("Id")); b.Property("ContentContent") .IsRequired() .HasColumnType("text"); b.Property("ContentTitle") .IsRequired() .HasColumnType("text"); b.Property("LessonId") .HasColumnType("integer"); b.HasKey("Id"); b.HasIndex("LessonId"); b.ToTable((string)null); b.UseTpcMappingStrategy(); }); modelBuilder.Entity("Entities.InquiryEntity", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("integer"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); b.Property("Description") .IsRequired() .HasColumnType("text"); b.Property("IsUser") .HasColumnType("boolean"); b.Property("Title") .IsRequired() .HasColumnType("text"); b.HasKey("Id"); b.ToTable("Inquiries"); }); modelBuilder.Entity("Entities.InquiryTableEntity", b => { b.Property("OwnerId") .ValueGeneratedOnAdd() .HasColumnType("integer"); b.Property("ConnectionInfo") .IsRequired() .HasColumnType("text"); b.Property("DatabaseName") .IsRequired() .HasColumnType("text"); b.HasKey("OwnerId"); b.ToTable("InquiryTable"); }); modelBuilder.Entity("Entities.LessonEntity", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("integer"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); b.Property("LastEdit") .HasColumnType("date"); b.Property("LastPublisher") .IsRequired() .HasColumnType("text"); b.Property("Title") .IsRequired() .HasColumnType("text"); b.HasKey("Id"); b.ToTable("Lesson"); }); modelBuilder.Entity("Entities.NotepadEntity", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("integer"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); b.Property("InquiryId") .HasColumnType("integer"); b.Property("Notes") .IsRequired() .HasColumnType("text"); b.Property("UserId") .HasColumnType("integer"); b.HasKey("Id"); b.HasIndex("InquiryId"); b.HasIndex("UserId"); b.ToTable("Notepad"); }); modelBuilder.Entity("Entities.SolutionEntity", b => { b.Property("OwnerId") .ValueGeneratedOnAdd() .HasColumnType("integer"); b.Property("Explaination") .IsRequired() .HasColumnType("text"); b.Property("MurderPlace") .IsRequired() .HasColumnType("text"); b.Property("MurderWeapon") .IsRequired() .HasColumnType("text"); b.Property("MurdererFirstName") .IsRequired() .HasColumnType("text"); b.Property("MurdererLastName") .IsRequired() .HasColumnType("text"); b.HasKey("OwnerId"); b.ToTable("Solution"); }); modelBuilder.Entity("Entities.SuccessEntity", b => { b.Property("InquiryId") .HasColumnType("integer"); b.Property("IsFinished") .HasColumnType("boolean"); b.Property("UserId") .HasColumnType("integer"); b.HasKey("InquiryId"); b.HasIndex("UserId"); b.ToTable("Success"); }); modelBuilder.Entity("Entities.UserEntity", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("integer"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); b.Property("Email") .IsRequired() .HasColumnType("text"); b.Property("IsAdmin") .HasColumnType("boolean"); b.Property("Password") .IsRequired() .HasColumnType("text"); b.Property("Username") .IsRequired() .HasColumnType("text"); b.HasKey("Id"); b.HasIndex("Email") .IsUnique(); b.HasIndex("Username") .IsUnique(); b.ToTable("User"); b.HasData( new { Id = 1, Email = "Johnny.RATTON@etu.uca.fr", IsAdmin = true, Password = "$2a$10$7Dq.5Bf5WlHBMRqHBp5Ag.5PCCnvLrBXsuMGGJnV4l4WdngeDBpnW", Username = "johnny" }, new { Id = 2, Email = "Maxime.SAPOUNTZIS@etu.uca.fr", IsAdmin = true, Password = "$2a$10$OT8g325JcE9mIdc.DiEKpem3kwNBdRcQ22vT2i5IB7KmfBfek4662", Username = "maxime" }, new { Id = 3, Email = "Clement.CHIEU@etu.uca.fr", IsAdmin = true, Password = "$2a$10$Qc40bG8aCDvRSVjlWIn.1Orkd52fVMxBM2uQypVVwgu/mkeM8rnVK", Username = "clement" }, new { Id = 4, Email = "Erwan.MENAGER@etu.uca.fr", IsAdmin = true, Password = "$2a$10$AW23BQcrS7d//LK0CtHuH.599OfYinEKCLkTz8Sbrtn.XYWE0u0BO", Username = "erwan" }, new { Id = 5, Email = "Victor.GABORIT@etu.uca.fr", IsAdmin = true, Password = "$2a$10$ZOly/r95doGABtnypi8CAun1VnMRP1ct.idsUpXGe3pwjRYqv3ZQy", Username = "victor" }); }); modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRole", b => { b.Property("Id") .HasColumnType("text"); b.Property("ConcurrencyStamp") .IsConcurrencyToken() .HasColumnType("text"); b.Property("Name") .HasMaxLength(256) .HasColumnType("character varying(256)"); b.Property("NormalizedName") .HasMaxLength(256) .HasColumnType("character varying(256)"); b.HasKey("Id"); b.HasIndex("NormalizedName") .IsUnique() .HasDatabaseName("RoleNameIndex"); b.ToTable("AspNetRoles", (string)null); }); modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRoleClaim", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("integer"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); b.Property("ClaimType") .HasColumnType("text"); b.Property("ClaimValue") .HasColumnType("text"); b.Property("RoleId") .IsRequired() .HasColumnType("text"); b.HasKey("Id"); b.HasIndex("RoleId"); b.ToTable("AspNetRoleClaims", (string)null); }); modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUser", b => { b.Property("Id") .HasColumnType("text"); b.Property("AccessFailedCount") .HasColumnType("integer"); b.Property("ConcurrencyStamp") .IsConcurrencyToken() .HasColumnType("text"); b.Property("Email") .HasMaxLength(256) .HasColumnType("character varying(256)"); b.Property("EmailConfirmed") .HasColumnType("boolean"); b.Property("LockoutEnabled") .HasColumnType("boolean"); b.Property("LockoutEnd") .HasColumnType("timestamp with time zone"); b.Property("NormalizedEmail") .HasMaxLength(256) .HasColumnType("character varying(256)"); b.Property("NormalizedUserName") .HasMaxLength(256) .HasColumnType("character varying(256)"); b.Property("PasswordHash") .HasColumnType("text"); b.Property("PhoneNumber") .HasColumnType("text"); b.Property("PhoneNumberConfirmed") .HasColumnType("boolean"); b.Property("SecurityStamp") .HasColumnType("text"); b.Property("TwoFactorEnabled") .HasColumnType("boolean"); b.Property("UserName") .HasMaxLength(256) .HasColumnType("character varying(256)"); b.HasKey("Id"); b.HasIndex("NormalizedEmail") .HasDatabaseName("EmailIndex"); b.HasIndex("NormalizedUserName") .IsUnique() .HasDatabaseName("UserNameIndex"); b.ToTable("AspNetUsers", (string)null); }); modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserClaim", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("integer"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); b.Property("ClaimType") .HasColumnType("text"); b.Property("ClaimValue") .HasColumnType("text"); b.Property("UserId") .IsRequired() .HasColumnType("text"); b.HasKey("Id"); b.HasIndex("UserId"); b.ToTable("AspNetUserClaims", (string)null); }); modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserLogin", b => { b.Property("LoginProvider") .HasColumnType("text"); b.Property("ProviderKey") .HasColumnType("text"); b.Property("ProviderDisplayName") .HasColumnType("text"); b.Property("UserId") .IsRequired() .HasColumnType("text"); b.HasKey("LoginProvider", "ProviderKey"); b.HasIndex("UserId"); b.ToTable("AspNetUserLogins", (string)null); }); modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserRole", b => { b.Property("UserId") .HasColumnType("text"); b.Property("RoleId") .HasColumnType("text"); b.HasKey("UserId", "RoleId"); b.HasIndex("RoleId"); b.ToTable("AspNetUserRoles", (string)null); }); modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserToken", b => { b.Property("UserId") .HasColumnType("text"); b.Property("LoginProvider") .HasColumnType("text"); b.Property("Name") .HasColumnType("text"); b.Property("Value") .HasColumnType("text"); b.HasKey("UserId", "LoginProvider", "Name"); b.ToTable("AspNetUserTokens", (string)null); }); modelBuilder.Entity("Entities.ParagraphEntity", b => { b.HasBaseType("Entities.ContentLessonEntity"); b.Property("Comment") .IsRequired() .HasColumnType("text"); b.Property("Content") .IsRequired() .HasColumnType("text"); b.Property("Info") .IsRequired() .HasColumnType("text"); b.Property("Query") .IsRequired() .HasColumnType("text"); b.Property("Title") .IsRequired() .HasColumnType("text"); b.ToTable("Paragraph"); }); modelBuilder.Entity("Entities.ContentLessonEntity", b => { b.HasOne("Entities.LessonEntity", "Lesson") .WithMany("Content") .HasForeignKey("LessonId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Lesson"); }); modelBuilder.Entity("Entities.InquiryTableEntity", b => { b.HasOne("Entities.InquiryEntity", "Owner") .WithMany() .HasForeignKey("OwnerId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Owner"); }); modelBuilder.Entity("Entities.NotepadEntity", b => { b.HasOne("Entities.InquiryEntity", "Inquiry") .WithMany() .HasForeignKey("InquiryId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("Entities.UserEntity", "User") .WithMany() .HasForeignKey("UserId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Inquiry"); b.Navigation("User"); }); modelBuilder.Entity("Entities.SolutionEntity", b => { b.HasOne("Entities.InquiryEntity", "Owner") .WithMany() .HasForeignKey("OwnerId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Owner"); }); modelBuilder.Entity("Entities.SuccessEntity", b => { b.HasOne("Entities.InquiryEntity", "Inquiry") .WithMany() .HasForeignKey("InquiryId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("Entities.UserEntity", "User") .WithMany() .HasForeignKey("UserId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Inquiry"); b.Navigation("User"); }); modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRoleClaim", b => { b.HasOne("Microsoft.AspNetCore.Identity.IdentityRole", null) .WithMany() .HasForeignKey("RoleId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); }); modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserClaim", b => { b.HasOne("Microsoft.AspNetCore.Identity.IdentityUser", null) .WithMany() .HasForeignKey("UserId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); }); modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserLogin", b => { b.HasOne("Microsoft.AspNetCore.Identity.IdentityUser", null) .WithMany() .HasForeignKey("UserId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); }); modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserRole", b => { b.HasOne("Microsoft.AspNetCore.Identity.IdentityRole", null) .WithMany() .HasForeignKey("RoleId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("Microsoft.AspNetCore.Identity.IdentityUser", null) .WithMany() .HasForeignKey("UserId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); }); modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserToken", b => { b.HasOne("Microsoft.AspNetCore.Identity.IdentityUser", null) .WithMany() .HasForeignKey("UserId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); }); modelBuilder.Entity("Entities.LessonEntity", b => { b.Navigation("Content"); }); #pragma warning restore 612, 618 } } }