// using System; using DevHive.Data; using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Infrastructure; using Microsoft.EntityFrameworkCore.Storage.ValueConversion; using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata; namespace DevHive.Data.Migrations { [DbContext(typeof(DevHiveContext))] partial class DevHiveContextModelSnapshot : ModelSnapshot { protected override void BuildModel(ModelBuilder modelBuilder) { #pragma warning disable 612, 618 modelBuilder .UseIdentityByDefaultColumns() .HasAnnotation("Relational:MaxIdentifierLength", 63) .HasAnnotation("ProductVersion", "5.0.1"); modelBuilder.Entity("DevHive.Data.Models.Comment", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid"); b.Property("CreatorId") .HasColumnType("uuid"); b.Property("Message") .HasColumnType("text"); b.Property("PostId") .HasColumnType("uuid"); b.Property("TimeCreated") .HasColumnType("timestamp without time zone"); b.HasKey("Id"); b.HasIndex("CreatorId"); b.HasIndex("PostId"); b.ToTable("Comments"); }); modelBuilder.Entity("DevHive.Data.Models.Language", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid"); b.Property("Name") .HasColumnType("text"); b.HasKey("Id"); b.ToTable("Languages"); }); modelBuilder.Entity("DevHive.Data.Models.Post", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid"); b.Property("CreatorId") .HasColumnType("uuid"); b.Property("Message") .HasColumnType("text"); b.Property("TimeCreated") .HasColumnType("timestamp without time zone"); b.HasKey("Id"); b.HasIndex("CreatorId"); b.ToTable("Posts"); }); modelBuilder.Entity("DevHive.Data.Models.ProfilePicture", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid"); b.Property("PictureURL") .HasColumnType("text"); b.Property("UserId") .HasColumnType("uuid"); b.HasKey("Id"); b.HasIndex("UserId") .IsUnique(); b.ToTable("ProfilePicture"); }); modelBuilder.Entity("DevHive.Data.Models.Rating", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid"); b.Property("PostId") .HasColumnType("uuid"); b.Property("Rate") .HasColumnType("integer"); b.HasKey("Id"); b.HasIndex("PostId") .IsUnique(); b.ToTable("Rating"); }); modelBuilder.Entity("DevHive.Data.Models.Role", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid"); 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"); }); modelBuilder.Entity("DevHive.Data.Models.Technology", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid"); b.Property("Name") .HasColumnType("text"); b.HasKey("Id"); b.ToTable("Technologies"); }); modelBuilder.Entity("DevHive.Data.Models.User", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid"); 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("FirstName") .HasColumnType("text"); b.Property("LastName") .HasColumnType("text"); 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("UserId") .HasColumnType("uuid"); b.Property("UserName") .HasMaxLength(256) .HasColumnType("character varying(256)"); b.HasKey("Id"); b.HasIndex("NormalizedEmail") .HasDatabaseName("EmailIndex"); b.HasIndex("NormalizedUserName") .IsUnique() .HasDatabaseName("UserNameIndex"); b.HasIndex("UserId"); b.HasIndex("UserName") .IsUnique(); b.ToTable("AspNetUsers"); }); modelBuilder.Entity("DevHive.Data.RelationModels.PostAttachments", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid"); b.Property("FileUrl") .HasColumnType("text"); b.Property("PostId") .HasColumnType("uuid"); b.HasKey("Id"); b.HasIndex("PostId"); b.ToTable("PostAttachments"); }); modelBuilder.Entity("DevHive.Data.RelationModels.RatedPost", b => { b.Property("UserId") .HasColumnType("uuid"); b.Property("PostId") .HasColumnType("uuid"); b.HasKey("UserId", "PostId"); b.HasIndex("PostId"); b.ToTable("RatedPosts"); }); modelBuilder.Entity("DevHive.Data.RelationModels.UserRate", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid"); b.Property("Liked") .HasColumnType("boolean"); b.Property("PostId") .HasColumnType("uuid"); b.Property("UserId") .HasColumnType("uuid"); b.HasKey("Id"); b.HasIndex("PostId"); b.HasIndex("UserId"); b.ToTable("UserRates"); }); modelBuilder.Entity("LanguageUser", b => { b.Property("LanguagesId") .HasColumnType("uuid"); b.Property("UsersId") .HasColumnType("uuid"); b.HasKey("LanguagesId", "UsersId"); b.HasIndex("UsersId"); b.ToTable("LanguageUser"); }); modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRoleClaim", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("integer") .UseIdentityByDefaultColumn(); b.Property("ClaimType") .HasColumnType("text"); b.Property("ClaimValue") .HasColumnType("text"); b.Property("RoleId") .HasColumnType("uuid"); b.HasKey("Id"); b.HasIndex("RoleId"); b.ToTable("AspNetRoleClaims"); }); modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserClaim", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("integer") .UseIdentityByDefaultColumn(); b.Property("ClaimType") .HasColumnType("text"); b.Property("ClaimValue") .HasColumnType("text"); b.Property("UserId") .HasColumnType("uuid"); b.HasKey("Id"); b.HasIndex("UserId"); b.ToTable("AspNetUserClaims"); }); 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("AspNetUserLogins"); }); 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("AspNetUserRoles"); }); 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("AspNetUserTokens"); }); modelBuilder.Entity("RoleUser", b => { b.Property("RolesId") .HasColumnType("uuid"); b.Property("UsersId") .HasColumnType("uuid"); b.HasKey("RolesId", "UsersId"); b.HasIndex("UsersId"); b.ToTable("RoleUser"); }); modelBuilder.Entity("TechnologyUser", b => { b.Property("TechnologiesId") .HasColumnType("uuid"); b.Property("UsersId") .HasColumnType("uuid"); b.HasKey("TechnologiesId", "UsersId"); b.HasIndex("UsersId"); b.ToTable("TechnologyUser"); }); modelBuilder.Entity("DevHive.Data.Models.Comment", b => { b.HasOne("DevHive.Data.Models.User", "Creator") .WithMany("Comments") .HasForeignKey("CreatorId"); b.HasOne("DevHive.Data.Models.Post", "Post") .WithMany("Comments") .HasForeignKey("PostId"); b.Navigation("Creator"); b.Navigation("Post"); }); modelBuilder.Entity("DevHive.Data.Models.Post", b => { b.HasOne("DevHive.Data.Models.User", "Creator") .WithMany("Posts") .HasForeignKey("CreatorId"); b.Navigation("Creator"); }); modelBuilder.Entity("DevHive.Data.Models.ProfilePicture", b => { b.HasOne("DevHive.Data.Models.User", "User") .WithOne("ProfilePicture") .HasForeignKey("DevHive.Data.Models.ProfilePicture", "UserId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("User"); }); modelBuilder.Entity("DevHive.Data.Models.Rating", b => { b.HasOne("DevHive.Data.Models.Post", "Post") .WithOne("Rating") .HasForeignKey("DevHive.Data.Models.Rating", "PostId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Post"); }); modelBuilder.Entity("DevHive.Data.RelationModels.PostAttachments", b => { b.HasOne("DevHive.Data.Models.Post", "Post") .WithMany("Attachments") .HasForeignKey("PostId"); b.Navigation("Post"); }); modelBuilder.Entity("DevHive.Data.RelationModels.RatedPost", b => { b.HasOne("DevHive.Data.Models.Post", "Post") .WithMany() .HasForeignKey("PostId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("DevHive.Data.Models.User", "User") .WithMany("RatedPosts") .HasForeignKey("UserId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Post"); b.Navigation("User"); }); modelBuilder.Entity("DevHive.Data.RelationModels.UserRate", b => { b.HasOne("DevHive.Data.Models.Post", "Post") .WithMany() .HasForeignKey("PostId"); b.HasOne("DevHive.Data.Models.User", "User") .WithMany() .HasForeignKey("UserId"); b.Navigation("Post"); b.Navigation("User"); }); modelBuilder.Entity("LanguageUser", b => { b.HasOne("DevHive.Data.Models.Language", null) .WithMany() .HasForeignKey("LanguagesId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("DevHive.Data.Models.User", null) .WithMany() .HasForeignKey("UsersId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); }); modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRoleClaim", b => { b.HasOne("DevHive.Data.Models.Role", null) .WithMany() .HasForeignKey("RoleId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); }); modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserClaim", b => { b.HasOne("DevHive.Data.Models.User", null) .WithMany() .HasForeignKey("UserId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); }); modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserLogin", b => { b.HasOne("DevHive.Data.Models.User", null) .WithMany() .HasForeignKey("UserId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); }); modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserRole", b => { b.HasOne("DevHive.Data.Models.Role", null) .WithMany() .HasForeignKey("RoleId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("DevHive.Data.Models.User", null) .WithMany() .HasForeignKey("UserId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); }); modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserToken", b => { b.HasOne("DevHive.Data.Models.User", null) .WithMany() .HasForeignKey("UserId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); }); modelBuilder.Entity("RoleUser", b => { b.HasOne("DevHive.Data.Models.Role", null) .WithMany() .HasForeignKey("RolesId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("DevHive.Data.Models.User", null) .WithMany() .HasForeignKey("UsersId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); }); modelBuilder.Entity("TechnologyUser", b => { b.HasOne("DevHive.Data.Models.Technology", null) .WithMany() .HasForeignKey("TechnologiesId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("DevHive.Data.Models.User", null) .WithMany() .HasForeignKey("UsersId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); }); modelBuilder.Entity("DevHive.Data.Models.Post", b => { b.Navigation("Attachments"); b.Navigation("Comments"); b.Navigation("Rating"); }); modelBuilder.Entity("DevHive.Data.Models.User", b => { b.Navigation("Comments"); b.Navigation("Friends"); b.Navigation("Posts"); b.Navigation("ProfilePicture"); b.Navigation("RatedPosts"); }); #pragma warning restore 612, 618 } } }