// using System; using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Infrastructure; using Microsoft.EntityFrameworkCore.Migrations; using Microsoft.EntityFrameworkCore.Storage.ValueConversion; using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata; using WebAppServer1.ApplicationDbContext; #nullable disable namespace WebAppServer1.Migrations { [DbContext(typeof(AppDbContext))] [Migration("20260519043509_addNickName")] partial class addNickName { /// protected override void BuildTargetModel(ModelBuilder modelBuilder) { #pragma warning disable 612, 618 modelBuilder .HasAnnotation("ProductVersion", "10.0.8") .HasAnnotation("Relational:MaxIdentifierLength", 63); NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder); modelBuilder.Entity("WebAppServer1.Models.FileEntity", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("integer"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); b.Property("FileType") .HasColumnType("integer"); b.Property("FileUrl") .IsRequired() .HasColumnType("text"); b.Property("MessageId") .HasColumnType("integer"); b.Property("Size") .HasColumnType("integer"); b.Property("UploadedAt") .HasColumnType("timestamp with time zone"); b.Property("UploaderId") .HasColumnType("integer"); b.HasKey("Id"); b.HasIndex("MessageId"); b.HasIndex("UploaderId"); b.ToTable("Files"); }); modelBuilder.Entity("WebAppServer1.Models.Friend", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("integer"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); b.Property("CreatedAt") .HasColumnType("timestamp with time zone"); b.Property("FriendId") .HasColumnType("integer"); b.Property("Status") .HasColumnType("integer"); b.Property("UserId") .HasColumnType("integer"); b.HasKey("Id"); b.HasIndex("FriendId"); b.HasIndex("UserId"); b.ToTable("Friends"); }); modelBuilder.Entity("WebAppServer1.Models.Group", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("integer"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); b.Property("AvatarUrl") .IsRequired() .HasColumnType("text"); b.Property("CreatedAt") .HasColumnType("timestamp with time zone"); b.Property("Name") .IsRequired() .HasColumnType("text"); b.Property("OwnerId") .HasColumnType("integer"); b.HasKey("Id"); b.HasIndex("OwnerId"); b.ToTable("Groups"); }); modelBuilder.Entity("WebAppServer1.Models.GroupMember", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("integer"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); b.Property("GroupId") .HasColumnType("integer"); b.Property("JoinedAt") .HasColumnType("timestamp with time zone"); b.Property("Role") .HasColumnType("integer"); b.Property("UserId") .HasColumnType("integer"); b.HasKey("Id"); b.HasIndex("GroupId"); b.HasIndex("UserId"); b.ToTable("GroupMembers"); }); modelBuilder.Entity("WebAppServer1.Models.LoginRecord", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("integer"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); b.Property("DeviceInfo") .IsRequired() .HasColumnType("text"); b.Property("IpAddress") .IsRequired() .HasColumnType("text"); b.Property("IsSuccess") .HasColumnType("boolean"); b.Property("LoginTime") .HasColumnType("timestamp with time zone"); b.Property("UserId") .HasColumnType("integer"); b.HasKey("Id"); b.HasIndex("UserId"); b.ToTable("LoginRecords"); }); modelBuilder.Entity("WebAppServer1.Models.Message", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("integer"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); b.Property("Content") .IsRequired() .HasColumnType("text"); b.Property("CreatedAt") .HasColumnType("timestamp with time zone"); b.Property("GroupId") .HasColumnType("integer"); b.Property("IsDeleted") .HasColumnType("boolean"); b.Property("IsRead") .HasColumnType("boolean"); b.Property("MessageType") .HasColumnType("integer"); b.Property("ReceiverId") .HasColumnType("integer"); b.Property("SenderId") .HasColumnType("integer"); b.HasKey("Id"); b.HasIndex("GroupId"); b.HasIndex("ReceiverId"); b.HasIndex("SenderId"); b.ToTable("Messages"); }); modelBuilder.Entity("WebAppServer1.Models.Notification", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("integer"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); b.Property("Content") .IsRequired() .HasColumnType("text"); b.Property("CreatedAt") .HasColumnType("timestamp with time zone"); b.Property("IsRead") .HasColumnType("boolean"); b.Property("Type") .HasColumnType("integer"); b.Property("UserId") .HasColumnType("integer"); b.HasKey("Id"); b.HasIndex("UserId"); b.ToTable("Notifications"); }); modelBuilder.Entity("WebAppServer1.Models.Tokens", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("integer"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); b.Property("ExpiresAt") .HasColumnType("timestamp with time zone"); b.Property("IsRevoked") .HasColumnType("boolean"); b.Property("IssuedAt") .HasColumnType("timestamp with time zone"); b.Property("RefreshToken") .IsRequired() .HasColumnType("text"); b.Property("UserId") .HasColumnType("integer"); b.Property("UserName") .IsRequired() .HasColumnType("text"); b.HasKey("Id"); b.ToTable("Tokens"); }); modelBuilder.Entity("WebAppServer1.Models.User", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("integer"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); b.Property("AvatarUrl") .IsRequired() .HasColumnType("text"); b.Property("CreatedAt") .HasColumnType("timestamp with time zone"); b.Property("Email") .IsRequired() .HasColumnType("text"); b.Property("IsOnline") .HasColumnType("boolean"); b.Property("LastActive") .HasColumnType("timestamp with time zone"); b.Property("Nickname") .IsRequired() .HasColumnType("text"); b.Property("PasswordHash") .IsRequired() .HasColumnType("text"); b.Property("Signature") .IsRequired() .HasColumnType("text"); b.Property("Username") .IsRequired() .HasColumnType("text"); b.HasKey("Id"); b.ToTable("Users"); }); modelBuilder.Entity("WebAppServer1.Models.UserProfileHistory", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("integer"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); b.Property("ChangedAt") .HasColumnType("timestamp with time zone"); b.Property("ChangedBy") .IsRequired() .HasColumnType("text"); b.Property("FieldName") .IsRequired() .HasColumnType("text"); b.Property("NewValue") .IsRequired() .HasColumnType("text"); b.Property("OldValue") .IsRequired() .HasColumnType("text"); b.Property("UserId") .HasColumnType("integer"); b.HasKey("Id"); b.HasIndex("UserId"); b.ToTable("userProfileHistories"); }); modelBuilder.Entity("WebAppServer1.Models.FileEntity", b => { b.HasOne("WebAppServer1.Models.Message", "Message") .WithMany() .HasForeignKey("MessageId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("WebAppServer1.Models.User", "Uploader") .WithMany() .HasForeignKey("UploaderId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Message"); b.Navigation("Uploader"); }); modelBuilder.Entity("WebAppServer1.Models.Friend", b => { b.HasOne("WebAppServer1.Models.User", "FriendUser") .WithMany() .HasForeignKey("FriendId") .OnDelete(DeleteBehavior.Restrict) .IsRequired(); b.HasOne("WebAppServer1.Models.User", "User") .WithMany("Friends") .HasForeignKey("UserId") .OnDelete(DeleteBehavior.Restrict) .IsRequired(); b.Navigation("FriendUser"); b.Navigation("User"); }); modelBuilder.Entity("WebAppServer1.Models.Group", b => { b.HasOne("WebAppServer1.Models.User", "Owner") .WithMany() .HasForeignKey("OwnerId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Owner"); }); modelBuilder.Entity("WebAppServer1.Models.GroupMember", b => { b.HasOne("WebAppServer1.Models.Group", "Group") .WithMany("Members") .HasForeignKey("GroupId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("WebAppServer1.Models.User", "User") .WithMany() .HasForeignKey("UserId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Group"); b.Navigation("User"); }); modelBuilder.Entity("WebAppServer1.Models.LoginRecord", b => { b.HasOne("WebAppServer1.Models.User", "User") .WithMany() .HasForeignKey("UserId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("User"); }); modelBuilder.Entity("WebAppServer1.Models.Message", b => { b.HasOne("WebAppServer1.Models.Group", "Group") .WithMany() .HasForeignKey("GroupId"); b.HasOne("WebAppServer1.Models.User", "Receiver") .WithMany() .HasForeignKey("ReceiverId") .OnDelete(DeleteBehavior.Restrict); b.HasOne("WebAppServer1.Models.User", "Sender") .WithMany("Messages") .HasForeignKey("SenderId") .OnDelete(DeleteBehavior.Restrict) .IsRequired(); b.Navigation("Group"); b.Navigation("Receiver"); b.Navigation("Sender"); }); modelBuilder.Entity("WebAppServer1.Models.Notification", b => { b.HasOne("WebAppServer1.Models.User", "User") .WithMany() .HasForeignKey("UserId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("User"); }); modelBuilder.Entity("WebAppServer1.Models.UserProfileHistory", b => { b.HasOne("WebAppServer1.Models.User", "User") .WithMany() .HasForeignKey("UserId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("User"); }); modelBuilder.Entity("WebAppServer1.Models.Group", b => { b.Navigation("Members"); }); modelBuilder.Entity("WebAppServer1.Models.User", b => { b.Navigation("Friends"); b.Navigation("Messages"); }); #pragma warning restore 612, 618 } } }