// using System; using DocuMed.Repository.Models; using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Infrastructure; using Microsoft.EntityFrameworkCore.Migrations; using Microsoft.EntityFrameworkCore.Storage.ValueConversion; using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata; #nullable disable namespace DocuMed.Repository.Migrations { [DbContext(typeof(ApplicationContext))] [Migration("20250112081155_Init")] partial class Init { /// protected override void BuildTargetModel(ModelBuilder modelBuilder) { #pragma warning disable 612, 618 modelBuilder .HasDefaultSchema("public") .HasAnnotation("ProductVersion", "8.0.8") .HasAnnotation("Relational:MaxIdentifierLength", 63); NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder); modelBuilder.Entity("DocuMed.Domain.Entities.City.City", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid"); b.Property("CreatedAt") .HasColumnType("timestamp without time zone"); b.Property("CreatedBy") .HasColumnType("text"); b.Property("IsRemoved") .HasColumnType("boolean"); b.Property("ModifiedAt") .HasColumnType("timestamp without time zone"); b.Property("ModifiedBy") .HasColumnType("text"); b.Property("Name") .IsRequired() .HasColumnType("text"); b.Property("RemovedAt") .HasColumnType("timestamp without time zone"); b.Property("RemovedBy") .HasColumnType("text"); b.HasKey("Id"); b.ToTable("Cities", "public"); }); modelBuilder.Entity("DocuMed.Domain.Entities.City.University", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid"); b.Property("Address") .IsRequired() .HasColumnType("text"); b.Property("CityId") .HasColumnType("uuid"); b.Property("CreatedAt") .HasColumnType("timestamp without time zone"); b.Property("CreatedBy") .HasColumnType("text"); b.Property("IsRemoved") .HasColumnType("boolean"); b.Property("ModifiedAt") .HasColumnType("timestamp without time zone"); b.Property("ModifiedBy") .HasColumnType("text"); b.Property("Name") .IsRequired() .HasColumnType("text"); b.Property("RemovedAt") .HasColumnType("timestamp without time zone"); b.Property("RemovedBy") .HasColumnType("text"); b.HasKey("Id"); b.HasIndex("CityId"); b.ToTable("Universities", "public"); }); modelBuilder.Entity("DocuMed.Domain.Entities.Hospitals.Hospital", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid"); b.Property("Address") .IsRequired() .HasColumnType("text"); b.Property("CreatedAt") .HasColumnType("timestamp without time zone"); b.Property("CreatedBy") .HasColumnType("text"); b.Property("Detail") .IsRequired() .HasColumnType("text"); b.Property("IsRemoved") .HasColumnType("boolean"); b.Property("ModifiedAt") .HasColumnType("timestamp without time zone"); b.Property("ModifiedBy") .HasColumnType("text"); b.Property("Name") .IsRequired() .HasColumnType("text"); b.Property("RemovedAt") .HasColumnType("timestamp without time zone"); b.Property("RemovedBy") .HasColumnType("text"); b.Property("UniversityId") .HasColumnType("uuid"); b.HasKey("Id"); b.HasIndex("UniversityId"); b.ToTable("Hospitals", "public"); }); modelBuilder.Entity("DocuMed.Domain.Entities.Hospitals.Section", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid"); b.Property("CreatedAt") .HasColumnType("timestamp without time zone"); b.Property("CreatedBy") .HasColumnType("text"); b.Property("Detail") .IsRequired() .HasColumnType("text"); b.Property("HospitalId") .HasColumnType("uuid"); b.Property("IsRemoved") .HasColumnType("boolean"); b.Property("ModifiedAt") .HasColumnType("timestamp without time zone"); b.Property("ModifiedBy") .HasColumnType("text"); b.Property("Name") .IsRequired() .HasColumnType("text"); b.Property("RemovedAt") .HasColumnType("timestamp without time zone"); b.Property("RemovedBy") .HasColumnType("text"); b.Property("UniversityId") .HasColumnType("uuid"); b.HasKey("Id"); b.HasIndex("HospitalId"); b.HasIndex("UniversityId"); b.ToTable("Sections", "public"); }); modelBuilder.Entity("DocuMed.Domain.Entities.MedicalHistory.MedicalHistory", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid"); b.Property("AddictionHistoryDetail") .IsRequired() .HasColumnType("text"); b.Property("AllergyDetail") .IsRequired() .HasColumnType("text"); b.Property("ChiefComplaint") .IsRequired() .HasColumnType("text"); b.Property("Code") .IsRequired() .HasColumnType("text"); b.Property("CreatedAt") .HasColumnType("timestamp without time zone"); b.Property("CreatedBy") .HasColumnType("text"); b.Property("DiastolicBloodPressure") .HasColumnType("double precision"); b.Property("DrugHistoryDetail") .IsRequired() .HasColumnType("text"); b.Property("FamilyHistoryDetail") .IsRequired() .HasColumnType("text"); b.Property("GeneralAppearanceDetail") .IsRequired() .HasColumnType("text"); b.Property("IsRemoved") .HasColumnType("boolean"); b.Property("MedicalHistoryTemplateId") .HasColumnType("uuid"); b.Property("ModifiedAt") .HasColumnType("timestamp without time zone"); b.Property("ModifiedBy") .HasColumnType("text"); b.Property("PastDiseasesHistoryDetail") .IsRequired() .HasColumnType("text"); b.Property("PastSurgeryHistoryDetail") .IsRequired() .HasColumnType("text"); b.Property("PatientId") .HasColumnType("uuid"); b.Property("PresentIllnessDetail") .IsRequired() .HasColumnType("text"); b.Property("PulseRate") .HasColumnType("double precision"); b.Property("RemovedAt") .HasColumnType("timestamp without time zone"); b.Property("RemovedBy") .HasColumnType("text"); b.Property("SPO2") .HasColumnType("double precision"); b.Property("SectionId") .HasColumnType("uuid"); b.Property("StudentId") .HasColumnType("uuid"); b.Property("SystemReviewDetail") .IsRequired() .HasColumnType("text"); b.Property("SystolicBloodPressure") .HasColumnType("double precision"); b.Property("Temperature") .HasColumnType("double precision"); b.Property("VitalSignDetail") .IsRequired() .HasColumnType("text"); b.HasKey("Id"); b.HasIndex("PatientId"); b.HasIndex("SectionId"); b.HasIndex("StudentId"); b.ToTable("MedicalHistories", "public"); }); modelBuilder.Entity("DocuMed.Domain.Entities.MedicalHistory.MedicalHistoryAnswer", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid"); b.Property("Answer") .IsRequired() .HasColumnType("text"); b.Property("CreatedAt") .HasColumnType("timestamp without time zone"); b.Property("CreatedBy") .HasColumnType("text"); b.Property("IsRemoved") .HasColumnType("boolean"); b.Property("MedicalHistoryId") .HasColumnType("uuid"); b.Property("ModifiedAt") .HasColumnType("timestamp without time zone"); b.Property("ModifiedBy") .HasColumnType("text"); b.Property("Part") .HasColumnType("integer"); b.Property("Question") .IsRequired() .HasColumnType("text"); b.Property("QuestionType") .HasColumnType("integer"); b.Property("RemovedAt") .HasColumnType("timestamp without time zone"); b.Property("RemovedBy") .HasColumnType("text"); b.HasKey("Id"); b.HasIndex("MedicalHistoryId"); b.ToTable("MedicalHistoryAnswers", "public"); }); modelBuilder.Entity("DocuMed.Domain.Entities.MedicalHistoryTemplate.MedicalHistoryQuestion", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid"); b.Property("BodySystem") .HasColumnType("integer"); b.Property("CreatedAt") .HasColumnType("timestamp without time zone"); b.Property("CreatedBy") .HasColumnType("text"); b.Property("IsRemoved") .HasColumnType("boolean"); b.Property("IsSign") .HasColumnType("boolean"); b.Property("IsSymptom") .HasColumnType("boolean"); b.Property("MedicalHistoryTemplateId") .HasColumnType("uuid"); b.Property("ModifiedAt") .HasColumnType("timestamp without time zone"); b.Property("ModifiedBy") .HasColumnType("text"); b.Property("Part") .HasColumnType("integer"); b.Property("Question") .IsRequired() .HasColumnType("text"); b.Property("QuestionType") .HasColumnType("integer"); b.Property("RemovedAt") .HasColumnType("timestamp without time zone"); b.Property("RemovedBy") .HasColumnType("text"); b.HasKey("Id"); b.HasIndex("MedicalHistoryTemplateId"); b.ToTable("MedicalHistoryQuestions", "public"); }); modelBuilder.Entity("DocuMed.Domain.Entities.MedicalHistoryTemplate.MedicalHistoryTemplate", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid"); b.Property("ChiefComplaint") .IsRequired() .HasColumnType("text"); b.Property("CreatedAt") .HasColumnType("timestamp without time zone"); b.Property("CreatedBy") .HasColumnType("text"); b.Property("IsRemoved") .HasColumnType("boolean"); b.Property("ModifiedAt") .HasColumnType("timestamp without time zone"); b.Property("ModifiedBy") .HasColumnType("text"); b.Property("RemovedAt") .HasColumnType("timestamp without time zone"); b.Property("RemovedBy") .HasColumnType("text"); b.Property("SectionId") .HasColumnType("uuid"); b.Property("StudentId") .HasColumnType("uuid"); b.HasKey("Id"); b.HasIndex("SectionId"); b.HasIndex("StudentId"); b.ToTable("MedicalHistoryTemplates", "public"); }); modelBuilder.Entity("DocuMed.Domain.Entities.Patients.Patient", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid"); b.Property("AdmissionAt") .HasColumnType("timestamp without time zone"); b.Property("Bed") .IsRequired() .HasColumnType("text"); b.Property("CreatedAt") .HasColumnType("timestamp without time zone"); b.Property("CreatedBy") .HasColumnType("text"); b.Property("HospitalId") .HasColumnType("uuid"); b.Property("IsRemoved") .HasColumnType("boolean"); b.Property("ModifiedAt") .HasColumnType("timestamp without time zone"); b.Property("ModifiedBy") .HasColumnType("text"); b.Property("RemovedAt") .HasColumnType("timestamp without time zone"); b.Property("RemovedBy") .HasColumnType("text"); b.Property("Room") .IsRequired() .HasColumnType("text"); b.Property("SectionId") .HasColumnType("uuid"); b.Property("UnitNumber") .IsRequired() .HasColumnType("text"); b.Property("UserId") .HasColumnType("uuid"); b.HasKey("Id"); b.HasIndex("SectionId"); b.HasIndex("UserId"); b.ToTable("Patients", "public"); }); modelBuilder.Entity("DocuMed.Domain.Entities.Staffs.Student", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid"); b.Property("CreatedAt") .HasColumnType("timestamp without time zone"); b.Property("CreatedBy") .HasColumnType("text"); b.Property("IsRemoved") .HasColumnType("boolean"); b.Property("ModifiedAt") .HasColumnType("timestamp without time zone"); b.Property("ModifiedBy") .HasColumnType("text"); b.Property("RemovedAt") .HasColumnType("timestamp without time zone"); b.Property("RemovedBy") .HasColumnType("text"); b.Property("SectionId") .HasColumnType("uuid"); b.Property("StudentId") .IsRequired() .HasColumnType("text"); b.Property("UniversityId") .HasColumnType("uuid"); b.Property("UserId") .HasColumnType("uuid"); b.HasKey("Id"); b.HasIndex("SectionId"); b.HasIndex("UniversityId"); b.HasIndex("UserId"); b.ToTable("Students", "public"); }); modelBuilder.Entity("DocuMed.Domain.Entities.User.ApplicationRole", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid"); b.Property("ConcurrencyStamp") .IsConcurrencyToken() .HasColumnType("text"); b.Property("Description") .IsRequired() .HasColumnType("text"); b.Property("EnglishName") .IsRequired() .HasColumnType("text"); b.Property("Name") .HasMaxLength(256) .HasColumnType("character varying(256)"); b.Property("NormalizedName") .HasMaxLength(256) .HasColumnType("character varying(256)"); b.Property("PersianName") .IsRequired() .HasColumnType("text"); b.HasKey("Id"); b.HasIndex("NormalizedName") .IsUnique() .HasDatabaseName("RoleNameIndex"); b.ToTable("Roles", "public"); }); modelBuilder.Entity("DocuMed.Domain.Entities.User.ApplicationUser", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid"); b.Property("AccessFailedCount") .HasColumnType("integer"); b.Property("BirthDate") .HasColumnType("timestamp without time zone"); b.Property("ConcurrencyStamp") .IsConcurrencyToken() .HasColumnType("text"); b.Property("Email") .HasMaxLength(256) .HasColumnType("character varying(256)"); b.Property("EmailConfirmed") .HasColumnType("boolean"); b.Property("FirstName") .IsRequired() .HasColumnType("text"); b.Property("Gender") .HasColumnType("integer"); b.Property("LastName") .IsRequired() .HasColumnType("text"); b.Property("LockoutEnabled") .HasColumnType("boolean"); b.Property("LockoutEnd") .HasColumnType("timestamp with time zone"); b.Property("NationalId") .IsRequired() .HasColumnType("text"); 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("SignUpStatus") .HasColumnType("integer"); 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("Users", "public"); }); 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") .HasColumnType("uuid"); b.HasKey("Id"); b.HasIndex("RoleId"); b.ToTable("RoleClaims", "public"); }); 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") .HasColumnType("uuid"); b.HasKey("Id"); b.HasIndex("UserId"); b.ToTable("Claims", "public"); }); 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") .HasColumnType("uuid"); b.HasKey("LoginProvider", "ProviderKey"); b.HasIndex("UserId"); b.ToTable("Logins", "public"); }); modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserRole", b => { b.Property("UserId") .HasColumnType("uuid"); b.Property("RoleId") .HasColumnType("uuid"); b.HasKey("UserId", "RoleId"); b.HasIndex("RoleId"); b.ToTable("UserRoles", "public"); }); modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserToken", b => { b.Property("UserId") .HasColumnType("uuid"); b.Property("LoginProvider") .HasColumnType("text"); b.Property("Name") .HasColumnType("text"); b.Property("Value") .HasColumnType("text"); b.HasKey("UserId", "LoginProvider", "Name"); b.ToTable("Tokens", "public"); }); modelBuilder.Entity("DocuMed.Domain.Entities.City.University", b => { b.HasOne("DocuMed.Domain.Entities.City.City", "City") .WithMany("Universities") .HasForeignKey("CityId") .OnDelete(DeleteBehavior.Restrict) .IsRequired(); b.Navigation("City"); }); modelBuilder.Entity("DocuMed.Domain.Entities.Hospitals.Hospital", b => { b.HasOne("DocuMed.Domain.Entities.City.University", "University") .WithMany() .HasForeignKey("UniversityId") .OnDelete(DeleteBehavior.Restrict) .IsRequired(); b.Navigation("University"); }); modelBuilder.Entity("DocuMed.Domain.Entities.Hospitals.Section", b => { b.HasOne("DocuMed.Domain.Entities.Hospitals.Hospital", "Hospital") .WithMany("Sections") .HasForeignKey("HospitalId") .OnDelete(DeleteBehavior.Restrict) .IsRequired(); b.HasOne("DocuMed.Domain.Entities.City.University", null) .WithMany("Sections") .HasForeignKey("UniversityId"); b.Navigation("Hospital"); }); modelBuilder.Entity("DocuMed.Domain.Entities.MedicalHistory.MedicalHistory", b => { b.HasOne("DocuMed.Domain.Entities.Patients.Patient", "Patient") .WithMany() .HasForeignKey("PatientId") .OnDelete(DeleteBehavior.Restrict) .IsRequired(); b.HasOne("DocuMed.Domain.Entities.Hospitals.Section", "Section") .WithMany() .HasForeignKey("SectionId") .OnDelete(DeleteBehavior.Restrict) .IsRequired(); b.HasOne("DocuMed.Domain.Entities.Staffs.Student", "Student") .WithMany() .HasForeignKey("StudentId") .OnDelete(DeleteBehavior.Restrict) .IsRequired(); b.Navigation("Patient"); b.Navigation("Section"); b.Navigation("Student"); }); modelBuilder.Entity("DocuMed.Domain.Entities.MedicalHistory.MedicalHistoryAnswer", b => { b.HasOne("DocuMed.Domain.Entities.MedicalHistory.MedicalHistory", "MedicalHistory") .WithMany("Answers") .HasForeignKey("MedicalHistoryId") .OnDelete(DeleteBehavior.Restrict) .IsRequired(); b.Navigation("MedicalHistory"); }); modelBuilder.Entity("DocuMed.Domain.Entities.MedicalHistoryTemplate.MedicalHistoryQuestion", b => { b.HasOne("DocuMed.Domain.Entities.MedicalHistoryTemplate.MedicalHistoryTemplate", "MedicalHistoryTemplate") .WithMany("Questions") .HasForeignKey("MedicalHistoryTemplateId") .OnDelete(DeleteBehavior.Restrict) .IsRequired(); b.Navigation("MedicalHistoryTemplate"); }); modelBuilder.Entity("DocuMed.Domain.Entities.MedicalHistoryTemplate.MedicalHistoryTemplate", b => { b.HasOne("DocuMed.Domain.Entities.Hospitals.Section", "Section") .WithMany() .HasForeignKey("SectionId") .OnDelete(DeleteBehavior.Restrict) .IsRequired(); b.HasOne("DocuMed.Domain.Entities.Staffs.Student", "Student") .WithMany() .HasForeignKey("StudentId") .OnDelete(DeleteBehavior.Restrict) .IsRequired(); b.Navigation("Section"); b.Navigation("Student"); }); modelBuilder.Entity("DocuMed.Domain.Entities.Patients.Patient", b => { b.HasOne("DocuMed.Domain.Entities.Hospitals.Section", "Section") .WithMany() .HasForeignKey("SectionId") .OnDelete(DeleteBehavior.Restrict) .IsRequired(); b.HasOne("DocuMed.Domain.Entities.User.ApplicationUser", "User") .WithMany("Patients") .HasForeignKey("UserId") .OnDelete(DeleteBehavior.Restrict) .IsRequired(); b.Navigation("Section"); b.Navigation("User"); }); modelBuilder.Entity("DocuMed.Domain.Entities.Staffs.Student", b => { b.HasOne("DocuMed.Domain.Entities.Hospitals.Section", "Section") .WithMany() .HasForeignKey("SectionId") .OnDelete(DeleteBehavior.Restrict) .IsRequired(); b.HasOne("DocuMed.Domain.Entities.City.University", "University") .WithMany() .HasForeignKey("UniversityId") .OnDelete(DeleteBehavior.Restrict) .IsRequired(); b.HasOne("DocuMed.Domain.Entities.User.ApplicationUser", "User") .WithMany("Students") .HasForeignKey("UserId") .OnDelete(DeleteBehavior.Restrict) .IsRequired(); b.Navigation("Section"); b.Navigation("University"); b.Navigation("User"); }); modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRoleClaim", b => { b.HasOne("DocuMed.Domain.Entities.User.ApplicationRole", null) .WithMany() .HasForeignKey("RoleId") .OnDelete(DeleteBehavior.Restrict) .IsRequired(); }); modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserClaim", b => { b.HasOne("DocuMed.Domain.Entities.User.ApplicationUser", null) .WithMany() .HasForeignKey("UserId") .OnDelete(DeleteBehavior.Restrict) .IsRequired(); }); modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserLogin", b => { b.HasOne("DocuMed.Domain.Entities.User.ApplicationUser", null) .WithMany() .HasForeignKey("UserId") .OnDelete(DeleteBehavior.Restrict) .IsRequired(); }); modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserRole", b => { b.HasOne("DocuMed.Domain.Entities.User.ApplicationRole", null) .WithMany() .HasForeignKey("RoleId") .OnDelete(DeleteBehavior.Restrict) .IsRequired(); b.HasOne("DocuMed.Domain.Entities.User.ApplicationUser", null) .WithMany() .HasForeignKey("UserId") .OnDelete(DeleteBehavior.Restrict) .IsRequired(); }); modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserToken", b => { b.HasOne("DocuMed.Domain.Entities.User.ApplicationUser", null) .WithMany() .HasForeignKey("UserId") .OnDelete(DeleteBehavior.Restrict) .IsRequired(); }); modelBuilder.Entity("DocuMed.Domain.Entities.City.City", b => { b.Navigation("Universities"); }); modelBuilder.Entity("DocuMed.Domain.Entities.City.University", b => { b.Navigation("Sections"); }); modelBuilder.Entity("DocuMed.Domain.Entities.Hospitals.Hospital", b => { b.Navigation("Sections"); }); modelBuilder.Entity("DocuMed.Domain.Entities.MedicalHistory.MedicalHistory", b => { b.Navigation("Answers"); }); modelBuilder.Entity("DocuMed.Domain.Entities.MedicalHistoryTemplate.MedicalHistoryTemplate", b => { b.Navigation("Questions"); }); modelBuilder.Entity("DocuMed.Domain.Entities.User.ApplicationUser", b => { b.Navigation("Patients"); b.Navigation("Students"); }); #pragma warning restore 612, 618 } } }