// using System; using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Infrastructure; using Microsoft.EntityFrameworkCore.Migrations; using Microsoft.EntityFrameworkCore.Storage.ValueConversion; using SurveyBackend.Infrastructure.Data; #nullable disable namespace SurveyBackend.Infrastructure.Data.Migrations { [DbContext(typeof(ApplicationDbContext))] [Migration("20250525200829_Completion update of SurveyLib")] partial class CompletionupdateofSurveyLib { /// protected override void BuildTargetModel(ModelBuilder modelBuilder) { #pragma warning disable 612, 618 modelBuilder.HasAnnotation("ProductVersion", "8.0.15"); modelBuilder.Entity("GroupUser", b => { b.Property("GroupsId") .HasColumnType("INTEGER"); b.Property("UsersId") .HasColumnType("INTEGER"); b.HasKey("GroupsId", "UsersId"); b.HasIndex("UsersId"); b.ToTable("GroupUser"); }); modelBuilder.Entity("SurveyBackend.Core.Models.Group", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("INTEGER"); b.Property("Label") .IsRequired() .HasColumnType("TEXT"); b.HasKey("Id"); b.ToTable("Groups"); }); modelBuilder.Entity("SurveyBackend.Core.Models.User", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("INTEGER"); b.Property("Email") .IsRequired() .HasColumnType("TEXT"); b.Property("FirstName") .IsRequired() .HasColumnType("TEXT"); b.Property("LastName") .IsRequired() .HasColumnType("TEXT"); b.Property("Password") .IsRequired() .HasColumnType("TEXT"); b.HasKey("Id"); b.ToTable("Users"); }); modelBuilder.Entity("SurveyLib.Core.Models.Answer", b => { b.Property("CompletionId") .HasColumnType("INTEGER"); b.Property("QuestionId") .HasColumnType("INTEGER"); b.Property("AnswerText") .IsRequired() .HasColumnType("TEXT"); b.HasKey("CompletionId", "QuestionId"); b.HasIndex("QuestionId"); b.ToTable("Answers"); }); modelBuilder.Entity("SurveyLib.Core.Models.AnswerVariant", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("INTEGER"); b.Property("QuestionId") .HasColumnType("INTEGER"); b.Property("Text") .IsRequired() .HasColumnType("TEXT"); b.HasKey("Id"); b.HasIndex("QuestionId"); b.ToTable("AnswerVariants"); }); modelBuilder.Entity("SurveyLib.Core.Models.Completion", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("INTEGER"); b.Property("CompletedBy") .HasColumnType("INTEGER"); b.Property("FinishedAt") .HasColumnType("TEXT"); b.Property("SurveyId") .HasColumnType("INTEGER"); b.HasKey("Id"); b.HasIndex("CompletedBy"); b.HasIndex("SurveyId"); b.ToTable("Completions"); }); modelBuilder.Entity("SurveyLib.Core.Models.QuestionBase", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("INTEGER"); b.Property("Discriminator") .IsRequired() .HasMaxLength(34) .HasColumnType("TEXT"); b.Property("SurveyId") .HasColumnType("INTEGER"); b.Property("Title") .IsRequired() .HasColumnType("TEXT"); b.HasKey("Id"); b.HasIndex("SurveyId"); b.ToTable("Questions"); b.HasDiscriminator().HasValue("QuestionBase"); b.UseTphMappingStrategy(); }); modelBuilder.Entity("SurveyLib.Core.Models.Survey", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("INTEGER"); b.Property("CreatedAt") .HasColumnType("TEXT"); b.Property("CreatedBy") .HasColumnType("INTEGER"); b.Property("Description") .IsRequired() .HasColumnType("TEXT"); b.Property("Title") .IsRequired() .HasColumnType("TEXT"); b.HasKey("Id"); b.HasIndex("CreatedBy"); b.ToTable("Surveys"); }); modelBuilder.Entity("SurveyLib.Core.Models.QuestionVariants.MultipleAnswerQuestion", b => { b.HasBaseType("SurveyLib.Core.Models.QuestionBase"); b.HasDiscriminator().HasValue("MultipleAnswerQuestion"); }); modelBuilder.Entity("SurveyLib.Core.Models.QuestionVariants.SingleAnswerQuestion", b => { b.HasBaseType("SurveyLib.Core.Models.QuestionBase"); b.HasDiscriminator().HasValue("SingleAnswerQuestion"); }); modelBuilder.Entity("SurveyLib.Core.Models.QuestionVariants.TextQuestion", b => { b.HasBaseType("SurveyLib.Core.Models.QuestionBase"); b.HasDiscriminator().HasValue("TextQuestion"); }); modelBuilder.Entity("GroupUser", b => { b.HasOne("SurveyBackend.Core.Models.Group", null) .WithMany() .HasForeignKey("GroupsId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("SurveyBackend.Core.Models.User", null) .WithMany() .HasForeignKey("UsersId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); }); modelBuilder.Entity("SurveyLib.Core.Models.Answer", b => { b.HasOne("SurveyLib.Core.Models.Completion", "Completion") .WithMany("Answers") .HasForeignKey("CompletionId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("SurveyLib.Core.Models.QuestionBase", "Question") .WithMany("Answers") .HasForeignKey("QuestionId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Completion"); b.Navigation("Question"); }); modelBuilder.Entity("SurveyLib.Core.Models.AnswerVariant", b => { b.HasOne("SurveyLib.Core.Models.QuestionBase", "Question") .WithMany("AnswerVariants") .HasForeignKey("QuestionId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Question"); }); modelBuilder.Entity("SurveyLib.Core.Models.Completion", b => { b.HasOne("SurveyBackend.Core.Models.User", null) .WithMany() .HasForeignKey("CompletedBy") .OnDelete(DeleteBehavior.SetNull); b.HasOne("SurveyLib.Core.Models.Survey", "Survey") .WithMany("Completions") .HasForeignKey("SurveyId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Survey"); }); modelBuilder.Entity("SurveyLib.Core.Models.QuestionBase", b => { b.HasOne("SurveyLib.Core.Models.Survey", "Survey") .WithMany("Questions") .HasForeignKey("SurveyId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Survey"); }); modelBuilder.Entity("SurveyLib.Core.Models.Survey", b => { b.HasOne("SurveyBackend.Core.Models.User", null) .WithMany() .HasForeignKey("CreatedBy") .OnDelete(DeleteBehavior.SetNull); }); modelBuilder.Entity("SurveyLib.Core.Models.Completion", b => { b.Navigation("Answers"); }); modelBuilder.Entity("SurveyLib.Core.Models.QuestionBase", b => { b.Navigation("AnswerVariants"); b.Navigation("Answers"); }); modelBuilder.Entity("SurveyLib.Core.Models.Survey", b => { b.Navigation("Completions"); b.Navigation("Questions"); }); #pragma warning restore 612, 618 } } }