// using System; using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Infrastructure; using Microsoft.EntityFrameworkCore.Metadata; using Microsoft.EntityFrameworkCore.Migrations; using Microsoft.EntityFrameworkCore.Storage.ValueConversion; using ProfessionalProfile.DatabaseContext; #nullable disable namespace ProfessionalProfile.Migrations { [DbContext(typeof(DataContext))] [Migration("20240514164956_UwU")] partial class UwU { /// protected override void BuildTargetModel(ModelBuilder modelBuilder) { #pragma warning disable 612, 618 modelBuilder .HasAnnotation("ProductVersion", "8.0.4") .HasAnnotation("Relational:MaxIdentifierLength", 128); SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder); modelBuilder.Entity("ProfessionalProfile.Domain.Answer", b => { b.Property("answerId") .ValueGeneratedOnAdd() .HasColumnType("int"); SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("answerId")); b.Property("answerText") .IsRequired() .HasColumnType("nvarchar(max)"); b.Property("isCorrect") .HasColumnType("bit"); b.Property("questionId") .HasColumnType("int"); b.HasKey("answerId"); b.HasIndex("questionId"); b.ToTable("Answers"); }); modelBuilder.Entity("ProfessionalProfile.Domain.AssessmentResult", b => { b.Property("assesmentResultId") .ValueGeneratedOnAdd() .HasColumnType("int"); SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("assesmentResultId")); b.Property("assesmentTestId") .HasColumnType("int"); b.Property("score") .HasColumnType("int"); b.Property("testDate") .HasColumnType("datetime2"); b.Property("userId") .HasColumnType("int"); b.HasKey("assesmentResultId"); b.HasIndex("assesmentTestId") .IsUnique(); b.HasIndex("userId") .IsUnique(); b.ToTable("AssessmentResult"); }); modelBuilder.Entity("ProfessionalProfile.Domain.AssessmentTest", b => { b.Property("assessmentTestId") .ValueGeneratedOnAdd() .HasColumnType("int"); SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("assessmentTestId")); b.Property("description") .IsRequired() .HasColumnType("nvarchar(max)"); b.Property("skillid") .HasColumnType("int"); b.Property("testName") .IsRequired() .HasColumnType("nvarchar(max)"); b.Property("userId") .HasColumnType("int"); b.HasKey("assessmentTestId"); b.HasIndex("skillid"); b.HasIndex("userId"); b.ToTable("AssessmentTest"); }); modelBuilder.Entity("ProfessionalProfile.Domain.BusinessCard", b => { b.Property("bcId") .ValueGeneratedOnAdd() .HasColumnType("int"); SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("bcId")); b.Property("summary") .IsRequired() .HasColumnType("nvarchar(max)"); b.Property("uniqueUrl") .IsRequired() .HasColumnType("nvarchar(max)"); b.Property("userId") .HasColumnType("int"); b.HasKey("bcId"); b.HasIndex("userId"); b.ToTable("BusinessCard"); }); modelBuilder.Entity("ProfessionalProfile.Domain.Certificate", b => { b.Property("certificateId") .ValueGeneratedOnAdd() .HasColumnType("int"); SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("certificateId")); b.Property("description") .IsRequired() .HasColumnType("nvarchar(max)"); b.Property("expirationDate") .HasColumnType("datetime2"); b.Property("issuedBy") .IsRequired() .HasColumnType("nvarchar(max)"); b.Property("issuedDate") .HasColumnType("datetime2"); b.Property("name") .IsRequired() .HasColumnType("nvarchar(max)"); b.Property("userId") .HasColumnType("int"); b.HasKey("certificateId"); b.HasIndex("userId"); b.ToTable("Certificate"); }); modelBuilder.Entity("ProfessionalProfile.Domain.Education", b => { b.Property("educationId") .ValueGeneratedOnAdd() .HasColumnType("int"); SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("educationId")); b.Property("degree") .IsRequired() .HasColumnType("nvarchar(max)"); b.Property("fieldOfStudy") .IsRequired() .HasColumnType("nvarchar(max)"); b.Property("graduationDate") .HasColumnType("datetime2"); b.Property("institution") .IsRequired() .HasColumnType("nvarchar(max)"); b.Property("userId") .HasColumnType("int"); b.HasKey("educationId"); b.HasIndex("userId"); b.ToTable("Education"); }); modelBuilder.Entity("ProfessionalProfile.Domain.Endorsement", b => { b.Property("endorsementId") .ValueGeneratedOnAdd() .HasColumnType("int"); SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("endorsementId")); b.Property("endorserId") .HasColumnType("int"); b.Property("recipientid") .HasColumnType("int"); b.Property("skillId") .HasColumnType("int"); b.HasKey("endorsementId"); b.HasIndex("endorserId"); b.HasIndex("recipientid"); b.HasIndex("skillId"); b.ToTable("Endorsement"); }); modelBuilder.Entity("ProfessionalProfile.Domain.Notification", b => { b.Property("notificationId") .ValueGeneratedOnAdd() .HasColumnType("int"); SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("notificationId")); b.Property("activity") .IsRequired() .HasColumnType("nvarchar(max)"); b.Property("details") .IsRequired() .HasColumnType("nvarchar(max)"); b.Property("isRead") .HasColumnType("bit"); b.Property("timestamp") .HasColumnType("datetime2"); b.Property("userId") .HasColumnType("int"); b.HasKey("notificationId"); b.HasIndex("userId"); b.ToTable("Notification"); }); modelBuilder.Entity("ProfessionalProfile.Domain.Privacy", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("int"); SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); b.Property("CanViewCertificates") .HasColumnType("bit"); b.Property("CanViewEducation") .HasColumnType("bit"); b.Property("CanViewProjects") .HasColumnType("bit"); b.Property("CanViewSkills") .HasColumnType("bit"); b.Property("CanViewVolunteering") .HasColumnType("bit"); b.Property("CanViewWorkExperience") .HasColumnType("bit"); b.Property("userId") .HasColumnType("int"); b.HasKey("Id"); b.HasIndex("userId") .IsUnique(); b.ToTable("Privacy"); }); modelBuilder.Entity("ProfessionalProfile.Domain.Project", b => { b.Property("projectId") .ValueGeneratedOnAdd() .HasColumnType("int"); SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("projectId")); b.Property("description") .IsRequired() .HasColumnType("nvarchar(max)"); b.Property("projectName") .IsRequired() .HasColumnType("nvarchar(max)"); b.Property("technologies") .IsRequired() .HasColumnType("nvarchar(max)"); b.Property("userId") .HasColumnType("int"); b.HasKey("projectId"); b.HasIndex("userId") .IsUnique(); b.ToTable("Project"); }); modelBuilder.Entity("ProfessionalProfile.Domain.Question", b => { b.Property("questionId") .ValueGeneratedOnAdd() .HasColumnType("int"); SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("questionId")); b.Property("assesmentTestId") .HasColumnType("int"); b.Property("questionText") .IsRequired() .HasColumnType("nvarchar(max)"); b.HasKey("questionId"); b.HasIndex("assesmentTestId"); b.ToTable("Question"); }); modelBuilder.Entity("ProfessionalProfile.Domain.Skill", b => { b.Property("skillId") .ValueGeneratedOnAdd() .HasColumnType("int"); SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("skillId")); b.Property("BusinessCardbcId") .HasColumnType("int"); b.Property("name") .IsRequired() .HasColumnType("nvarchar(max)"); b.HasKey("skillId"); b.HasIndex("BusinessCardbcId"); b.ToTable("Skill"); }); modelBuilder.Entity("ProfessionalProfile.Domain.User", b => { b.Property("userId") .ValueGeneratedOnAdd() .HasColumnType("int"); SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("userId")); b.Property("address") .IsRequired() .HasColumnType("nvarchar(max)"); b.Property("darkTheme") .HasColumnType("bit"); b.Property("dateOfBirth") .HasColumnType("datetime2"); b.Property("email") .IsRequired() .HasColumnType("nvarchar(max)"); b.Property("firstName") .IsRequired() .HasColumnType("nvarchar(max)"); b.Property("lastName") .IsRequired() .HasColumnType("nvarchar(max)"); b.Property("password") .IsRequired() .HasColumnType("nvarchar(max)"); b.Property("phone") .IsRequired() .HasColumnType("nvarchar(max)"); b.Property("picture") .IsRequired() .HasColumnType("nvarchar(max)"); b.Property("summary") .IsRequired() .HasColumnType("nvarchar(max)"); b.Property("websiteURL") .IsRequired() .HasColumnType("nvarchar(max)"); b.HasKey("userId"); b.ToTable("User"); }); modelBuilder.Entity("ProfessionalProfile.Domain.Volunteering", b => { b.Property("volunteeringId") .ValueGeneratedOnAdd() .HasColumnType("int"); SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("volunteeringId")); b.Property("description") .IsRequired() .HasColumnType("nvarchar(max)"); b.Property("organisation") .IsRequired() .HasColumnType("nvarchar(max)"); b.Property("role") .IsRequired() .HasColumnType("nvarchar(max)"); b.Property("userId") .HasColumnType("int"); b.HasKey("volunteeringId"); b.HasIndex("userId") .IsUnique(); b.ToTable("Volunteering"); }); modelBuilder.Entity("ProfessionalProfile.Domain.WorkExperience", b => { b.Property("workId") .ValueGeneratedOnAdd() .HasColumnType("int"); SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("workId")); b.Property("achievements") .IsRequired() .HasColumnType("nvarchar(max)"); b.Property("company") .IsRequired() .HasColumnType("nvarchar(max)"); b.Property("description") .IsRequired() .HasColumnType("nvarchar(max)"); b.Property("employmentPeriod") .IsRequired() .HasColumnType("nvarchar(max)"); b.Property("jobTitle") .IsRequired() .HasColumnType("nvarchar(max)"); b.Property("location") .IsRequired() .HasColumnType("nvarchar(max)"); b.Property("responsibilities") .IsRequired() .HasColumnType("nvarchar(max)"); b.Property("userId") .HasColumnType("int"); b.HasKey("workId"); b.HasIndex("userId") .IsUnique(); b.ToTable("WorkExperience"); }); modelBuilder.Entity("ProfessionalProfile.Domain.Answer", b => { b.HasOne("ProfessionalProfile.Domain.Question", "Question") .WithMany() .HasForeignKey("questionId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Question"); }); modelBuilder.Entity("ProfessionalProfile.Domain.AssessmentResult", b => { b.HasOne("ProfessionalProfile.Domain.AssessmentTest", "AssessmentTest") .WithOne("AssessmentResult") .HasForeignKey("ProfessionalProfile.Domain.AssessmentResult", "assesmentTestId") .OnDelete(DeleteBehavior.NoAction) .IsRequired(); b.HasOne("ProfessionalProfile.Domain.User", "User") .WithOne("AssessmentResult") .HasForeignKey("ProfessionalProfile.Domain.AssessmentResult", "userId") .OnDelete(DeleteBehavior.NoAction) .IsRequired(); b.Navigation("AssessmentTest"); b.Navigation("User"); }); modelBuilder.Entity("ProfessionalProfile.Domain.AssessmentTest", b => { b.HasOne("ProfessionalProfile.Domain.Skill", "Skill") .WithMany() .HasForeignKey("skillid") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("ProfessionalProfile.Domain.User", "User") .WithMany() .HasForeignKey("userId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Skill"); b.Navigation("User"); }); modelBuilder.Entity("ProfessionalProfile.Domain.BusinessCard", b => { b.HasOne("ProfessionalProfile.Domain.User", "User") .WithMany() .HasForeignKey("userId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("User"); }); modelBuilder.Entity("ProfessionalProfile.Domain.Certificate", b => { b.HasOne("ProfessionalProfile.Domain.User", "User") .WithMany() .HasForeignKey("userId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("User"); }); modelBuilder.Entity("ProfessionalProfile.Domain.Education", b => { b.HasOne("ProfessionalProfile.Domain.User", "User") .WithMany() .HasForeignKey("userId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("User"); }); modelBuilder.Entity("ProfessionalProfile.Domain.Endorsement", b => { b.HasOne("ProfessionalProfile.Domain.User", "Endorser") .WithMany() .HasForeignKey("endorserId") .OnDelete(DeleteBehavior.Restrict) .IsRequired(); b.HasOne("ProfessionalProfile.Domain.User", "Recipient") .WithMany() .HasForeignKey("recipientid") .OnDelete(DeleteBehavior.Restrict) .IsRequired(); b.HasOne("ProfessionalProfile.Domain.Skill", null) .WithMany("endorsements") .HasForeignKey("skillId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Endorser"); b.Navigation("Recipient"); }); modelBuilder.Entity("ProfessionalProfile.Domain.Notification", b => { b.HasOne("ProfessionalProfile.Domain.User", "User") .WithMany("Notifications") .HasForeignKey("userId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("User"); }); modelBuilder.Entity("ProfessionalProfile.Domain.Privacy", b => { b.HasOne("ProfessionalProfile.Domain.User", "User") .WithOne("Privacy") .HasForeignKey("ProfessionalProfile.Domain.Privacy", "userId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("User"); }); modelBuilder.Entity("ProfessionalProfile.Domain.Project", b => { b.HasOne("ProfessionalProfile.Domain.User", "User") .WithOne("Project") .HasForeignKey("ProfessionalProfile.Domain.Project", "userId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("User"); }); modelBuilder.Entity("ProfessionalProfile.Domain.Question", b => { b.HasOne("ProfessionalProfile.Domain.AssessmentTest", "AssessmentTest") .WithMany() .HasForeignKey("assesmentTestId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("AssessmentTest"); }); modelBuilder.Entity("ProfessionalProfile.Domain.Skill", b => { b.HasOne("ProfessionalProfile.Domain.BusinessCard", null) .WithMany("keySkills") .HasForeignKey("BusinessCardbcId"); }); modelBuilder.Entity("ProfessionalProfile.Domain.Volunteering", b => { b.HasOne("ProfessionalProfile.Domain.User", "User") .WithOne("Volunteering") .HasForeignKey("ProfessionalProfile.Domain.Volunteering", "userId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("User"); }); modelBuilder.Entity("ProfessionalProfile.Domain.WorkExperience", b => { b.HasOne("ProfessionalProfile.Domain.User", "User") .WithOne("WorkExperience") .HasForeignKey("ProfessionalProfile.Domain.WorkExperience", "userId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("User"); }); modelBuilder.Entity("ProfessionalProfile.Domain.AssessmentTest", b => { b.Navigation("AssessmentResult") .IsRequired(); }); modelBuilder.Entity("ProfessionalProfile.Domain.BusinessCard", b => { b.Navigation("keySkills"); }); modelBuilder.Entity("ProfessionalProfile.Domain.Skill", b => { b.Navigation("endorsements"); }); modelBuilder.Entity("ProfessionalProfile.Domain.User", b => { b.Navigation("AssessmentResult"); b.Navigation("Notifications"); b.Navigation("Privacy"); b.Navigation("Project"); b.Navigation("Volunteering"); b.Navigation("WorkExperience"); }); #pragma warning restore 612, 618 } } }