diff --git a/MareSynchronosServer/MareSynchronosShared/Migrations/20241226112428_CharaData.Designer.cs b/MareSynchronosServer/MareSynchronosShared/Migrations/20241226112428_CharaData.Designer.cs deleted file mode 100644 index c056b53..0000000 --- a/MareSynchronosServer/MareSynchronosShared/Migrations/20241226112428_CharaData.Designer.cs +++ /dev/null @@ -1,1024 +0,0 @@ -// -using System; -using MareSynchronosShared.Data; -using Microsoft.EntityFrameworkCore; -using Microsoft.EntityFrameworkCore.Infrastructure; -using Microsoft.EntityFrameworkCore.Migrations; -using Microsoft.EntityFrameworkCore.Storage.ValueConversion; -using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata; - -#nullable disable - -namespace MareSynchronosServer.Migrations -{ - [DbContext(typeof(MareDbContext))] - [Migration("20241226112428_CharaData")] - partial class CharaData - { - /// - protected override void BuildTargetModel(ModelBuilder modelBuilder) - { -#pragma warning disable 612, 618 - modelBuilder - .HasAnnotation("ProductVersion", "8.0.10") - .HasAnnotation("Relational:MaxIdentifierLength", 63); - - NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder); - - modelBuilder.Entity("MareSynchronosShared.Models.Auth", b => - { - b.Property("HashedKey") - .HasMaxLength(64) - .HasColumnType("character varying(64)") - .HasColumnName("hashed_key"); - - b.Property("IsBanned") - .HasColumnType("boolean") - .HasColumnName("is_banned"); - - b.Property("MarkForBan") - .HasColumnType("boolean") - .HasColumnName("mark_for_ban"); - - b.Property("PrimaryUserUID") - .HasColumnType("character varying(10)") - .HasColumnName("primary_user_uid"); - - b.Property("UserUID") - .HasColumnType("character varying(10)") - .HasColumnName("user_uid"); - - b.HasKey("HashedKey") - .HasName("pk_auth"); - - b.HasIndex("PrimaryUserUID") - .HasDatabaseName("ix_auth_primary_user_uid"); - - b.HasIndex("UserUID") - .HasDatabaseName("ix_auth_user_uid"); - - b.ToTable("auth", (string)null); - }); - - modelBuilder.Entity("MareSynchronosShared.Models.Banned", b => - { - b.Property("CharacterIdentification") - .HasMaxLength(100) - .HasColumnType("character varying(100)") - .HasColumnName("character_identification"); - - b.Property("Reason") - .HasColumnType("text") - .HasColumnName("reason"); - - b.Property("Timestamp") - .IsConcurrencyToken() - .ValueGeneratedOnAddOrUpdate() - .HasColumnType("bytea") - .HasColumnName("timestamp"); - - b.HasKey("CharacterIdentification") - .HasName("pk_banned_users"); - - b.ToTable("banned_users", (string)null); - }); - - modelBuilder.Entity("MareSynchronosShared.Models.BannedRegistrations", b => - { - b.Property("DiscordIdOrLodestoneAuth") - .HasMaxLength(100) - .HasColumnType("character varying(100)") - .HasColumnName("discord_id_or_lodestone_auth"); - - b.HasKey("DiscordIdOrLodestoneAuth") - .HasName("pk_banned_registrations"); - - b.ToTable("banned_registrations", (string)null); - }); - - modelBuilder.Entity("MareSynchronosShared.Models.CharaData", b => - { - b.Property("Id") - .HasColumnType("text") - .HasColumnName("id"); - - b.Property("UploaderUID") - .HasColumnType("character varying(10)") - .HasColumnName("uploader_uid"); - - b.Property("AccessType") - .HasColumnType("integer") - .HasColumnName("access_type"); - - b.Property("CreatedDate") - .HasColumnType("timestamp with time zone") - .HasColumnName("created_date"); - - b.Property("CustomizeData") - .HasColumnType("text") - .HasColumnName("customize_data"); - - b.Property("Description") - .HasColumnType("text") - .HasColumnName("description"); - - b.Property("DownloadCount") - .HasColumnType("integer") - .HasColumnName("download_count"); - - b.Property("ExpiryDate") - .HasColumnType("timestamp with time zone") - .HasColumnName("expiry_date"); - - b.Property("GlamourerData") - .HasColumnType("text") - .HasColumnName("glamourer_data"); - - b.Property("ShareType") - .HasColumnType("integer") - .HasColumnName("share_type"); - - b.Property("UpdatedDate") - .HasColumnType("timestamp with time zone") - .HasColumnName("updated_date"); - - b.HasKey("Id", "UploaderUID") - .HasName("pk_chara_data"); - - b.HasIndex("Id") - .HasDatabaseName("ix_chara_data_id"); - - b.HasIndex("UploaderUID") - .HasDatabaseName("ix_chara_data_uploader_uid"); - - b.ToTable("chara_data", (string)null); - }); - - modelBuilder.Entity("MareSynchronosShared.Models.CharaDataAllowance", b => - { - b.Property("ParentId") - .HasColumnType("text") - .HasColumnName("parent_id"); - - b.Property("ParentUploaderUID") - .HasColumnType("character varying(10)") - .HasColumnName("parent_uploader_uid"); - - b.Property("AllowedUserUID") - .HasColumnType("character varying(10)") - .HasColumnName("allowed_user_uid"); - - b.HasKey("ParentId", "ParentUploaderUID", "AllowedUserUID") - .HasName("pk_chara_data_allowance"); - - b.HasIndex("AllowedUserUID") - .HasDatabaseName("ix_chara_data_allowance_allowed_user_uid"); - - b.HasIndex("ParentId") - .HasDatabaseName("ix_chara_data_allowance_parent_id"); - - b.ToTable("chara_data_allowance", (string)null); - }); - - modelBuilder.Entity("MareSynchronosShared.Models.CharaDataFile", b => - { - b.Property("ParentId") - .HasColumnType("text") - .HasColumnName("parent_id"); - - b.Property("GamePath") - .HasColumnType("text") - .HasColumnName("game_path"); - - b.Property("FileCacheHash") - .HasColumnType("character varying(40)") - .HasColumnName("file_cache_hash"); - - b.Property("ParentUploaderUID") - .HasColumnType("character varying(10)") - .HasColumnName("parent_uploader_uid"); - - b.HasKey("ParentId", "GamePath") - .HasName("pk_chara_data_files"); - - b.HasIndex("FileCacheHash") - .HasDatabaseName("ix_chara_data_files_file_cache_hash"); - - b.HasIndex("ParentId") - .HasDatabaseName("ix_chara_data_files_parent_id"); - - b.HasIndex("ParentId", "ParentUploaderUID") - .HasDatabaseName("ix_chara_data_files_parent_id_parent_uploader_uid"); - - b.ToTable("chara_data_files", (string)null); - }); - - modelBuilder.Entity("MareSynchronosShared.Models.CharaDataOriginalFile", b => - { - b.Property("ParentId") - .HasColumnType("text") - .HasColumnName("parent_id"); - - b.Property("ParentUploaderUID") - .HasColumnType("character varying(10)") - .HasColumnName("parent_uploader_uid"); - - b.Property("Hash") - .HasColumnType("text") - .HasColumnName("hash"); - - b.HasKey("ParentId", "ParentUploaderUID", "Hash") - .HasName("pk_chara_data_orig_files"); - - b.HasIndex("ParentId") - .HasDatabaseName("ix_chara_data_orig_files_parent_id"); - - b.ToTable("chara_data_orig_files", (string)null); - }); - - modelBuilder.Entity("MareSynchronosShared.Models.CharaDataPose", b => - { - b.Property("ParentId") - .HasColumnType("text") - .HasColumnName("parent_id"); - - b.Property("ParentUploaderUID") - .HasColumnType("character varying(10)") - .HasColumnName("parent_uploader_uid"); - - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("bigint") - .HasColumnName("id"); - - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - - b.Property("Description") - .HasColumnType("text") - .HasColumnName("description"); - - b.Property("PoseData") - .HasColumnType("text") - .HasColumnName("pose_data"); - - b.Property("WorldData") - .HasColumnType("text") - .HasColumnName("world_data"); - - b.HasKey("ParentId", "ParentUploaderUID", "Id") - .HasName("pk_chara_data_poses"); - - b.HasIndex("ParentId") - .HasDatabaseName("ix_chara_data_poses_parent_id"); - - b.ToTable("chara_data_poses", (string)null); - }); - - modelBuilder.Entity("MareSynchronosShared.Models.ClientPair", b => - { - b.Property("UserUID") - .HasMaxLength(10) - .HasColumnType("character varying(10)") - .HasColumnName("user_uid"); - - b.Property("OtherUserUID") - .HasMaxLength(10) - .HasColumnType("character varying(10)") - .HasColumnName("other_user_uid"); - - b.Property("Timestamp") - .IsConcurrencyToken() - .ValueGeneratedOnAddOrUpdate() - .HasColumnType("bytea") - .HasColumnName("timestamp"); - - b.HasKey("UserUID", "OtherUserUID") - .HasName("pk_client_pairs"); - - b.HasIndex("OtherUserUID") - .HasDatabaseName("ix_client_pairs_other_user_uid"); - - b.HasIndex("UserUID") - .HasDatabaseName("ix_client_pairs_user_uid"); - - b.ToTable("client_pairs", (string)null); - }); - - modelBuilder.Entity("MareSynchronosShared.Models.FileCache", b => - { - b.Property("Hash") - .HasMaxLength(40) - .HasColumnType("character varying(40)") - .HasColumnName("hash"); - - b.Property("RawSize") - .HasColumnType("bigint") - .HasColumnName("raw_size"); - - b.Property("Size") - .HasColumnType("bigint") - .HasColumnName("size"); - - b.Property("Timestamp") - .IsConcurrencyToken() - .ValueGeneratedOnAddOrUpdate() - .HasColumnType("bytea") - .HasColumnName("timestamp"); - - b.Property("UploadDate") - .HasColumnType("timestamp with time zone") - .HasColumnName("upload_date"); - - b.Property("Uploaded") - .HasColumnType("boolean") - .HasColumnName("uploaded"); - - b.Property("UploaderUID") - .HasMaxLength(10) - .HasColumnType("character varying(10)") - .HasColumnName("uploader_uid"); - - b.HasKey("Hash") - .HasName("pk_file_caches"); - - b.HasIndex("UploaderUID") - .HasDatabaseName("ix_file_caches_uploader_uid"); - - b.ToTable("file_caches", (string)null); - }); - - modelBuilder.Entity("MareSynchronosShared.Models.ForbiddenUploadEntry", b => - { - b.Property("Hash") - .HasMaxLength(40) - .HasColumnType("character varying(40)") - .HasColumnName("hash"); - - b.Property("ForbiddenBy") - .HasMaxLength(100) - .HasColumnType("character varying(100)") - .HasColumnName("forbidden_by"); - - b.Property("Timestamp") - .IsConcurrencyToken() - .ValueGeneratedOnAddOrUpdate() - .HasColumnType("bytea") - .HasColumnName("timestamp"); - - b.HasKey("Hash") - .HasName("pk_forbidden_upload_entries"); - - b.ToTable("forbidden_upload_entries", (string)null); - }); - - modelBuilder.Entity("MareSynchronosShared.Models.Group", b => - { - b.Property("GID") - .HasMaxLength(20) - .HasColumnType("character varying(20)") - .HasColumnName("gid"); - - b.Property("Alias") - .HasMaxLength(50) - .HasColumnType("character varying(50)") - .HasColumnName("alias"); - - b.Property("HashedPassword") - .HasColumnType("text") - .HasColumnName("hashed_password"); - - b.Property("InvitesEnabled") - .HasColumnType("boolean") - .HasColumnName("invites_enabled"); - - b.Property("OwnerUID") - .HasColumnType("character varying(10)") - .HasColumnName("owner_uid"); - - b.Property("PreferDisableAnimations") - .HasColumnType("boolean") - .HasColumnName("prefer_disable_animations"); - - b.Property("PreferDisableSounds") - .HasColumnType("boolean") - .HasColumnName("prefer_disable_sounds"); - - b.Property("PreferDisableVFX") - .HasColumnType("boolean") - .HasColumnName("prefer_disable_vfx"); - - b.HasKey("GID") - .HasName("pk_groups"); - - b.HasIndex("OwnerUID") - .HasDatabaseName("ix_groups_owner_uid"); - - b.ToTable("groups", (string)null); - }); - - modelBuilder.Entity("MareSynchronosShared.Models.GroupBan", b => - { - b.Property("GroupGID") - .HasColumnType("character varying(20)") - .HasColumnName("group_gid"); - - b.Property("BannedUserUID") - .HasColumnType("character varying(10)") - .HasColumnName("banned_user_uid"); - - b.Property("BannedByUID") - .HasColumnType("character varying(10)") - .HasColumnName("banned_by_uid"); - - b.Property("BannedOn") - .HasColumnType("timestamp with time zone") - .HasColumnName("banned_on"); - - b.Property("BannedReason") - .HasColumnType("text") - .HasColumnName("banned_reason"); - - b.HasKey("GroupGID", "BannedUserUID") - .HasName("pk_group_bans"); - - b.HasIndex("BannedByUID") - .HasDatabaseName("ix_group_bans_banned_by_uid"); - - b.HasIndex("BannedUserUID") - .HasDatabaseName("ix_group_bans_banned_user_uid"); - - b.HasIndex("GroupGID") - .HasDatabaseName("ix_group_bans_group_gid"); - - b.ToTable("group_bans", (string)null); - }); - - modelBuilder.Entity("MareSynchronosShared.Models.GroupPair", b => - { - b.Property("GroupGID") - .HasColumnType("character varying(20)") - .HasColumnName("group_gid"); - - b.Property("GroupUserUID") - .HasColumnType("character varying(10)") - .HasColumnName("group_user_uid"); - - b.Property("IsModerator") - .HasColumnType("boolean") - .HasColumnName("is_moderator"); - - b.Property("IsPinned") - .HasColumnType("boolean") - .HasColumnName("is_pinned"); - - b.HasKey("GroupGID", "GroupUserUID") - .HasName("pk_group_pairs"); - - b.HasIndex("GroupGID") - .HasDatabaseName("ix_group_pairs_group_gid"); - - b.HasIndex("GroupUserUID") - .HasDatabaseName("ix_group_pairs_group_user_uid"); - - b.ToTable("group_pairs", (string)null); - }); - - modelBuilder.Entity("MareSynchronosShared.Models.GroupPairPreferredPermission", b => - { - b.Property("UserUID") - .HasColumnType("character varying(10)") - .HasColumnName("user_uid"); - - b.Property("GroupGID") - .HasColumnType("character varying(20)") - .HasColumnName("group_gid"); - - b.Property("DisableAnimations") - .HasColumnType("boolean") - .HasColumnName("disable_animations"); - - b.Property("DisableSounds") - .HasColumnType("boolean") - .HasColumnName("disable_sounds"); - - b.Property("DisableVFX") - .HasColumnType("boolean") - .HasColumnName("disable_vfx"); - - b.Property("IsPaused") - .HasColumnType("boolean") - .HasColumnName("is_paused"); - - b.HasKey("UserUID", "GroupGID") - .HasName("pk_group_pair_preferred_permissions"); - - b.HasIndex("GroupGID") - .HasDatabaseName("ix_group_pair_preferred_permissions_group_gid"); - - b.HasIndex("UserUID") - .HasDatabaseName("ix_group_pair_preferred_permissions_user_uid"); - - b.ToTable("group_pair_preferred_permissions", (string)null); - }); - - modelBuilder.Entity("MareSynchronosShared.Models.GroupTempInvite", b => - { - b.Property("GroupGID") - .HasColumnType("character varying(20)") - .HasColumnName("group_gid"); - - b.Property("Invite") - .HasMaxLength(64) - .HasColumnType("character varying(64)") - .HasColumnName("invite"); - - b.Property("ExpirationDate") - .HasColumnType("timestamp with time zone") - .HasColumnName("expiration_date"); - - b.HasKey("GroupGID", "Invite") - .HasName("pk_group_temp_invites"); - - b.HasIndex("GroupGID") - .HasDatabaseName("ix_group_temp_invites_group_gid"); - - b.HasIndex("Invite") - .HasDatabaseName("ix_group_temp_invites_invite"); - - b.ToTable("group_temp_invites", (string)null); - }); - - modelBuilder.Entity("MareSynchronosShared.Models.LodeStoneAuth", b => - { - b.Property("DiscordId") - .ValueGeneratedOnAdd() - .HasColumnType("numeric(20,0)") - .HasColumnName("discord_id"); - - b.Property("HashedLodestoneId") - .HasMaxLength(100) - .HasColumnType("character varying(100)") - .HasColumnName("hashed_lodestone_id"); - - b.Property("LodestoneAuthString") - .HasMaxLength(100) - .HasColumnType("character varying(100)") - .HasColumnName("lodestone_auth_string"); - - b.Property("StartedAt") - .HasColumnType("timestamp with time zone") - .HasColumnName("started_at"); - - b.Property("UserUID") - .HasColumnType("character varying(10)") - .HasColumnName("user_uid"); - - b.HasKey("DiscordId") - .HasName("pk_lodestone_auth"); - - b.HasIndex("UserUID") - .HasDatabaseName("ix_lodestone_auth_user_uid"); - - b.ToTable("lodestone_auth", (string)null); - }); - - modelBuilder.Entity("MareSynchronosShared.Models.User", b => - { - b.Property("UID") - .HasMaxLength(10) - .HasColumnType("character varying(10)") - .HasColumnName("uid"); - - b.Property("Alias") - .HasMaxLength(15) - .HasColumnType("character varying(15)") - .HasColumnName("alias"); - - b.Property("IsAdmin") - .HasColumnType("boolean") - .HasColumnName("is_admin"); - - b.Property("IsModerator") - .HasColumnType("boolean") - .HasColumnName("is_moderator"); - - b.Property("LastLoggedIn") - .HasColumnType("timestamp with time zone") - .HasColumnName("last_logged_in"); - - b.Property("Timestamp") - .IsConcurrencyToken() - .ValueGeneratedOnAddOrUpdate() - .HasColumnType("bytea") - .HasColumnName("timestamp"); - - b.HasKey("UID") - .HasName("pk_users"); - - b.ToTable("users", (string)null); - }); - - modelBuilder.Entity("MareSynchronosShared.Models.UserDefaultPreferredPermission", b => - { - b.Property("UserUID") - .HasMaxLength(10) - .HasColumnType("character varying(10)") - .HasColumnName("user_uid"); - - b.Property("DisableGroupAnimations") - .HasColumnType("boolean") - .HasColumnName("disable_group_animations"); - - b.Property("DisableGroupSounds") - .HasColumnType("boolean") - .HasColumnName("disable_group_sounds"); - - b.Property("DisableGroupVFX") - .HasColumnType("boolean") - .HasColumnName("disable_group_vfx"); - - b.Property("DisableIndividualAnimations") - .HasColumnType("boolean") - .HasColumnName("disable_individual_animations"); - - b.Property("DisableIndividualSounds") - .HasColumnType("boolean") - .HasColumnName("disable_individual_sounds"); - - b.Property("DisableIndividualVFX") - .HasColumnType("boolean") - .HasColumnName("disable_individual_vfx"); - - b.Property("IndividualIsSticky") - .HasColumnType("boolean") - .HasColumnName("individual_is_sticky"); - - b.HasKey("UserUID") - .HasName("pk_user_default_preferred_permissions"); - - b.HasIndex("UserUID") - .HasDatabaseName("ix_user_default_preferred_permissions_user_uid"); - - b.ToTable("user_default_preferred_permissions", (string)null); - }); - - modelBuilder.Entity("MareSynchronosShared.Models.UserPermissionSet", b => - { - b.Property("UserUID") - .HasColumnType("character varying(10)") - .HasColumnName("user_uid"); - - b.Property("OtherUserUID") - .HasColumnType("character varying(10)") - .HasColumnName("other_user_uid"); - - b.Property("DisableAnimations") - .HasColumnType("boolean") - .HasColumnName("disable_animations"); - - b.Property("DisableSounds") - .HasColumnType("boolean") - .HasColumnName("disable_sounds"); - - b.Property("DisableVFX") - .HasColumnType("boolean") - .HasColumnName("disable_vfx"); - - b.Property("IsPaused") - .HasColumnType("boolean") - .HasColumnName("is_paused"); - - b.Property("Sticky") - .HasColumnType("boolean") - .HasColumnName("sticky"); - - b.HasKey("UserUID", "OtherUserUID") - .HasName("pk_user_permission_sets"); - - b.HasIndex("OtherUserUID") - .HasDatabaseName("ix_user_permission_sets_other_user_uid"); - - b.HasIndex("UserUID") - .HasDatabaseName("ix_user_permission_sets_user_uid"); - - b.HasIndex("UserUID", "OtherUserUID", "IsPaused") - .HasDatabaseName("ix_user_permission_sets_user_uid_other_user_uid_is_paused"); - - b.ToTable("user_permission_sets", (string)null); - }); - - modelBuilder.Entity("MareSynchronosShared.Models.UserProfileData", b => - { - b.Property("UserUID") - .HasColumnType("character varying(10)") - .HasColumnName("user_uid"); - - b.Property("Base64ProfileImage") - .HasColumnType("text") - .HasColumnName("base64profile_image"); - - b.Property("FlaggedForReport") - .HasColumnType("boolean") - .HasColumnName("flagged_for_report"); - - b.Property("IsNSFW") - .HasColumnType("boolean") - .HasColumnName("is_nsfw"); - - b.Property("ProfileDisabled") - .HasColumnType("boolean") - .HasColumnName("profile_disabled"); - - b.Property("UserDescription") - .HasColumnType("text") - .HasColumnName("user_description"); - - b.HasKey("UserUID") - .HasName("pk_user_profile_data"); - - b.ToTable("user_profile_data", (string)null); - }); - - modelBuilder.Entity("MareSynchronosShared.Models.Auth", b => - { - b.HasOne("MareSynchronosShared.Models.User", "PrimaryUser") - .WithMany() - .HasForeignKey("PrimaryUserUID") - .HasConstraintName("fk_auth_users_primary_user_uid"); - - b.HasOne("MareSynchronosShared.Models.User", "User") - .WithMany() - .HasForeignKey("UserUID") - .HasConstraintName("fk_auth_users_user_uid"); - - b.Navigation("PrimaryUser"); - - b.Navigation("User"); - }); - - modelBuilder.Entity("MareSynchronosShared.Models.CharaData", b => - { - b.HasOne("MareSynchronosShared.Models.User", "Uploader") - .WithMany() - .HasForeignKey("UploaderUID") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("fk_chara_data_users_uploader_uid"); - - b.Navigation("Uploader"); - }); - - modelBuilder.Entity("MareSynchronosShared.Models.CharaDataAllowance", b => - { - b.HasOne("MareSynchronosShared.Models.User", "AllowedUser") - .WithMany() - .HasForeignKey("AllowedUserUID") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("fk_chara_data_allowance_users_allowed_user_uid"); - - b.HasOne("MareSynchronosShared.Models.CharaData", "Parent") - .WithMany("AllowedIndividiuals") - .HasForeignKey("ParentId", "ParentUploaderUID") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("fk_chara_data_allowance_chara_data_parent_id_parent_uploader_u"); - - b.Navigation("AllowedUser"); - - b.Navigation("Parent"); - }); - - modelBuilder.Entity("MareSynchronosShared.Models.CharaDataFile", b => - { - b.HasOne("MareSynchronosShared.Models.FileCache", "FileCache") - .WithMany() - .HasForeignKey("FileCacheHash") - .HasConstraintName("fk_chara_data_files_files_file_cache_hash"); - - b.HasOne("MareSynchronosShared.Models.CharaData", "Parent") - .WithMany("Files") - .HasForeignKey("ParentId", "ParentUploaderUID") - .HasConstraintName("fk_chara_data_files_chara_data_parent_id_parent_uploader_uid"); - - b.Navigation("FileCache"); - - b.Navigation("Parent"); - }); - - modelBuilder.Entity("MareSynchronosShared.Models.CharaDataOriginalFile", b => - { - b.HasOne("MareSynchronosShared.Models.CharaData", "Parent") - .WithMany("OriginalFiles") - .HasForeignKey("ParentId", "ParentUploaderUID") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("fk_chara_data_orig_files_chara_data_parent_id_parent_uploader_"); - - b.Navigation("Parent"); - }); - - modelBuilder.Entity("MareSynchronosShared.Models.CharaDataPose", b => - { - b.HasOne("MareSynchronosShared.Models.CharaData", "Parent") - .WithMany("Poses") - .HasForeignKey("ParentId", "ParentUploaderUID") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("fk_chara_data_poses_chara_data_parent_id_parent_uploader_uid"); - - b.Navigation("Parent"); - }); - - modelBuilder.Entity("MareSynchronosShared.Models.ClientPair", b => - { - b.HasOne("MareSynchronosShared.Models.User", "OtherUser") - .WithMany() - .HasForeignKey("OtherUserUID") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("fk_client_pairs_users_other_user_uid"); - - b.HasOne("MareSynchronosShared.Models.User", "User") - .WithMany() - .HasForeignKey("UserUID") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("fk_client_pairs_users_user_uid"); - - b.Navigation("OtherUser"); - - b.Navigation("User"); - }); - - modelBuilder.Entity("MareSynchronosShared.Models.FileCache", b => - { - b.HasOne("MareSynchronosShared.Models.User", "Uploader") - .WithMany() - .HasForeignKey("UploaderUID") - .HasConstraintName("fk_file_caches_users_uploader_uid"); - - b.Navigation("Uploader"); - }); - - modelBuilder.Entity("MareSynchronosShared.Models.Group", b => - { - b.HasOne("MareSynchronosShared.Models.User", "Owner") - .WithMany() - .HasForeignKey("OwnerUID") - .HasConstraintName("fk_groups_users_owner_uid"); - - b.Navigation("Owner"); - }); - - modelBuilder.Entity("MareSynchronosShared.Models.GroupBan", b => - { - b.HasOne("MareSynchronosShared.Models.User", "BannedBy") - .WithMany() - .HasForeignKey("BannedByUID") - .HasConstraintName("fk_group_bans_users_banned_by_uid"); - - b.HasOne("MareSynchronosShared.Models.User", "BannedUser") - .WithMany() - .HasForeignKey("BannedUserUID") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("fk_group_bans_users_banned_user_uid"); - - b.HasOne("MareSynchronosShared.Models.Group", "Group") - .WithMany() - .HasForeignKey("GroupGID") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("fk_group_bans_groups_group_gid"); - - b.Navigation("BannedBy"); - - b.Navigation("BannedUser"); - - b.Navigation("Group"); - }); - - modelBuilder.Entity("MareSynchronosShared.Models.GroupPair", b => - { - b.HasOne("MareSynchronosShared.Models.Group", "Group") - .WithMany() - .HasForeignKey("GroupGID") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("fk_group_pairs_groups_group_gid"); - - b.HasOne("MareSynchronosShared.Models.User", "GroupUser") - .WithMany() - .HasForeignKey("GroupUserUID") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("fk_group_pairs_users_group_user_uid"); - - b.Navigation("Group"); - - b.Navigation("GroupUser"); - }); - - modelBuilder.Entity("MareSynchronosShared.Models.GroupPairPreferredPermission", b => - { - b.HasOne("MareSynchronosShared.Models.Group", "Group") - .WithMany() - .HasForeignKey("GroupGID") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("fk_group_pair_preferred_permissions_groups_group_gid"); - - b.HasOne("MareSynchronosShared.Models.User", "User") - .WithMany() - .HasForeignKey("UserUID") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("fk_group_pair_preferred_permissions_users_user_uid"); - - b.Navigation("Group"); - - b.Navigation("User"); - }); - - modelBuilder.Entity("MareSynchronosShared.Models.GroupTempInvite", b => - { - b.HasOne("MareSynchronosShared.Models.Group", "Group") - .WithMany() - .HasForeignKey("GroupGID") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("fk_group_temp_invites_groups_group_gid"); - - b.Navigation("Group"); - }); - - modelBuilder.Entity("MareSynchronosShared.Models.LodeStoneAuth", b => - { - b.HasOne("MareSynchronosShared.Models.User", "User") - .WithMany() - .HasForeignKey("UserUID") - .HasConstraintName("fk_lodestone_auth_users_user_uid"); - - b.Navigation("User"); - }); - - modelBuilder.Entity("MareSynchronosShared.Models.UserDefaultPreferredPermission", b => - { - b.HasOne("MareSynchronosShared.Models.User", "User") - .WithMany() - .HasForeignKey("UserUID") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("fk_user_default_preferred_permissions_users_user_uid"); - - b.Navigation("User"); - }); - - modelBuilder.Entity("MareSynchronosShared.Models.UserPermissionSet", b => - { - b.HasOne("MareSynchronosShared.Models.User", "OtherUser") - .WithMany() - .HasForeignKey("OtherUserUID") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("fk_user_permission_sets_users_other_user_uid"); - - b.HasOne("MareSynchronosShared.Models.User", "User") - .WithMany() - .HasForeignKey("UserUID") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("fk_user_permission_sets_users_user_uid"); - - b.Navigation("OtherUser"); - - b.Navigation("User"); - }); - - modelBuilder.Entity("MareSynchronosShared.Models.UserProfileData", b => - { - b.HasOne("MareSynchronosShared.Models.User", "User") - .WithMany() - .HasForeignKey("UserUID") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("fk_user_profile_data_users_user_uid"); - - b.Navigation("User"); - }); - - modelBuilder.Entity("MareSynchronosShared.Models.CharaData", b => - { - b.Navigation("AllowedIndividiuals"); - - b.Navigation("Files"); - - b.Navigation("OriginalFiles"); - - b.Navigation("Poses"); - }); -#pragma warning restore 612, 618 - } - } -} diff --git a/MareSynchronosServer/MareSynchronosShared/Migrations/20241226194944_CharaDataFileSwap.Designer.cs b/MareSynchronosServer/MareSynchronosShared/Migrations/20241226194944_CharaDataFileSwap.Designer.cs deleted file mode 100644 index f3d3624..0000000 --- a/MareSynchronosServer/MareSynchronosShared/Migrations/20241226194944_CharaDataFileSwap.Designer.cs +++ /dev/null @@ -1,1064 +0,0 @@ -// -using System; -using MareSynchronosShared.Data; -using Microsoft.EntityFrameworkCore; -using Microsoft.EntityFrameworkCore.Infrastructure; -using Microsoft.EntityFrameworkCore.Migrations; -using Microsoft.EntityFrameworkCore.Storage.ValueConversion; -using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata; - -#nullable disable - -namespace MareSynchronosServer.Migrations -{ - [DbContext(typeof(MareDbContext))] - [Migration("20241226194944_CharaDataFileSwap")] - partial class CharaDataFileSwap - { - /// - protected override void BuildTargetModel(ModelBuilder modelBuilder) - { -#pragma warning disable 612, 618 - modelBuilder - .HasAnnotation("ProductVersion", "8.0.10") - .HasAnnotation("Relational:MaxIdentifierLength", 63); - - NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder); - - modelBuilder.Entity("MareSynchronosShared.Models.Auth", b => - { - b.Property("HashedKey") - .HasMaxLength(64) - .HasColumnType("character varying(64)") - .HasColumnName("hashed_key"); - - b.Property("IsBanned") - .HasColumnType("boolean") - .HasColumnName("is_banned"); - - b.Property("MarkForBan") - .HasColumnType("boolean") - .HasColumnName("mark_for_ban"); - - b.Property("PrimaryUserUID") - .HasColumnType("character varying(10)") - .HasColumnName("primary_user_uid"); - - b.Property("UserUID") - .HasColumnType("character varying(10)") - .HasColumnName("user_uid"); - - b.HasKey("HashedKey") - .HasName("pk_auth"); - - b.HasIndex("PrimaryUserUID") - .HasDatabaseName("ix_auth_primary_user_uid"); - - b.HasIndex("UserUID") - .HasDatabaseName("ix_auth_user_uid"); - - b.ToTable("auth", (string)null); - }); - - modelBuilder.Entity("MareSynchronosShared.Models.Banned", b => - { - b.Property("CharacterIdentification") - .HasMaxLength(100) - .HasColumnType("character varying(100)") - .HasColumnName("character_identification"); - - b.Property("Reason") - .HasColumnType("text") - .HasColumnName("reason"); - - b.Property("Timestamp") - .IsConcurrencyToken() - .ValueGeneratedOnAddOrUpdate() - .HasColumnType("bytea") - .HasColumnName("timestamp"); - - b.HasKey("CharacterIdentification") - .HasName("pk_banned_users"); - - b.ToTable("banned_users", (string)null); - }); - - modelBuilder.Entity("MareSynchronosShared.Models.BannedRegistrations", b => - { - b.Property("DiscordIdOrLodestoneAuth") - .HasMaxLength(100) - .HasColumnType("character varying(100)") - .HasColumnName("discord_id_or_lodestone_auth"); - - b.HasKey("DiscordIdOrLodestoneAuth") - .HasName("pk_banned_registrations"); - - b.ToTable("banned_registrations", (string)null); - }); - - modelBuilder.Entity("MareSynchronosShared.Models.CharaData", b => - { - b.Property("Id") - .HasColumnType("text") - .HasColumnName("id"); - - b.Property("UploaderUID") - .HasColumnType("character varying(10)") - .HasColumnName("uploader_uid"); - - b.Property("AccessType") - .HasColumnType("integer") - .HasColumnName("access_type"); - - b.Property("CreatedDate") - .HasColumnType("timestamp with time zone") - .HasColumnName("created_date"); - - b.Property("CustomizeData") - .HasColumnType("text") - .HasColumnName("customize_data"); - - b.Property("Description") - .HasColumnType("text") - .HasColumnName("description"); - - b.Property("DownloadCount") - .HasColumnType("integer") - .HasColumnName("download_count"); - - b.Property("ExpiryDate") - .HasColumnType("timestamp with time zone") - .HasColumnName("expiry_date"); - - b.Property("GlamourerData") - .HasColumnType("text") - .HasColumnName("glamourer_data"); - - b.Property("ShareType") - .HasColumnType("integer") - .HasColumnName("share_type"); - - b.Property("UpdatedDate") - .HasColumnType("timestamp with time zone") - .HasColumnName("updated_date"); - - b.HasKey("Id", "UploaderUID") - .HasName("pk_chara_data"); - - b.HasIndex("Id") - .HasDatabaseName("ix_chara_data_id"); - - b.HasIndex("UploaderUID") - .HasDatabaseName("ix_chara_data_uploader_uid"); - - b.ToTable("chara_data", (string)null); - }); - - modelBuilder.Entity("MareSynchronosShared.Models.CharaDataAllowance", b => - { - b.Property("ParentId") - .HasColumnType("text") - .HasColumnName("parent_id"); - - b.Property("ParentUploaderUID") - .HasColumnType("character varying(10)") - .HasColumnName("parent_uploader_uid"); - - b.Property("AllowedUserUID") - .HasColumnType("character varying(10)") - .HasColumnName("allowed_user_uid"); - - b.HasKey("ParentId", "ParentUploaderUID", "AllowedUserUID") - .HasName("pk_chara_data_allowance"); - - b.HasIndex("AllowedUserUID") - .HasDatabaseName("ix_chara_data_allowance_allowed_user_uid"); - - b.HasIndex("ParentId") - .HasDatabaseName("ix_chara_data_allowance_parent_id"); - - b.ToTable("chara_data_allowance", (string)null); - }); - - modelBuilder.Entity("MareSynchronosShared.Models.CharaDataFile", b => - { - b.Property("ParentId") - .HasColumnType("text") - .HasColumnName("parent_id"); - - b.Property("ParentUploaderUID") - .HasColumnType("character varying(10)") - .HasColumnName("parent_uploader_uid"); - - b.Property("GamePath") - .HasColumnType("text") - .HasColumnName("game_path"); - - b.Property("FileCacheHash") - .HasColumnType("character varying(40)") - .HasColumnName("file_cache_hash"); - - b.HasKey("ParentId", "ParentUploaderUID", "GamePath") - .HasName("pk_chara_data_files"); - - b.HasIndex("FileCacheHash") - .HasDatabaseName("ix_chara_data_files_file_cache_hash"); - - b.HasIndex("ParentId") - .HasDatabaseName("ix_chara_data_files_parent_id"); - - b.ToTable("chara_data_files", (string)null); - }); - - modelBuilder.Entity("MareSynchronosShared.Models.CharaDataFileSwap", b => - { - b.Property("ParentId") - .HasColumnType("text") - .HasColumnName("parent_id"); - - b.Property("ParentUploaderUID") - .HasColumnType("character varying(10)") - .HasColumnName("parent_uploader_uid"); - - b.Property("GamePath") - .HasColumnType("text") - .HasColumnName("game_path"); - - b.Property("FilePath") - .HasColumnType("text") - .HasColumnName("file_path"); - - b.HasKey("ParentId", "ParentUploaderUID", "GamePath") - .HasName("pk_chara_data_file_swaps"); - - b.HasIndex("ParentId") - .HasDatabaseName("ix_chara_data_file_swaps_parent_id"); - - b.ToTable("chara_data_file_swaps", (string)null); - }); - - modelBuilder.Entity("MareSynchronosShared.Models.CharaDataOriginalFile", b => - { - b.Property("ParentId") - .HasColumnType("text") - .HasColumnName("parent_id"); - - b.Property("ParentUploaderUID") - .HasColumnType("character varying(10)") - .HasColumnName("parent_uploader_uid"); - - b.Property("Hash") - .HasColumnType("text") - .HasColumnName("hash"); - - b.HasKey("ParentId", "ParentUploaderUID", "Hash") - .HasName("pk_chara_data_orig_files"); - - b.HasIndex("ParentId") - .HasDatabaseName("ix_chara_data_orig_files_parent_id"); - - b.ToTable("chara_data_orig_files", (string)null); - }); - - modelBuilder.Entity("MareSynchronosShared.Models.CharaDataPose", b => - { - b.Property("ParentId") - .HasColumnType("text") - .HasColumnName("parent_id"); - - b.Property("ParentUploaderUID") - .HasColumnType("character varying(10)") - .HasColumnName("parent_uploader_uid"); - - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("bigint") - .HasColumnName("id"); - - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - - b.Property("Description") - .HasColumnType("text") - .HasColumnName("description"); - - b.Property("PoseData") - .HasColumnType("text") - .HasColumnName("pose_data"); - - b.Property("WorldData") - .HasColumnType("text") - .HasColumnName("world_data"); - - b.HasKey("ParentId", "ParentUploaderUID", "Id") - .HasName("pk_chara_data_poses"); - - b.HasIndex("ParentId") - .HasDatabaseName("ix_chara_data_poses_parent_id"); - - b.ToTable("chara_data_poses", (string)null); - }); - - modelBuilder.Entity("MareSynchronosShared.Models.ClientPair", b => - { - b.Property("UserUID") - .HasMaxLength(10) - .HasColumnType("character varying(10)") - .HasColumnName("user_uid"); - - b.Property("OtherUserUID") - .HasMaxLength(10) - .HasColumnType("character varying(10)") - .HasColumnName("other_user_uid"); - - b.Property("Timestamp") - .IsConcurrencyToken() - .ValueGeneratedOnAddOrUpdate() - .HasColumnType("bytea") - .HasColumnName("timestamp"); - - b.HasKey("UserUID", "OtherUserUID") - .HasName("pk_client_pairs"); - - b.HasIndex("OtherUserUID") - .HasDatabaseName("ix_client_pairs_other_user_uid"); - - b.HasIndex("UserUID") - .HasDatabaseName("ix_client_pairs_user_uid"); - - b.ToTable("client_pairs", (string)null); - }); - - modelBuilder.Entity("MareSynchronosShared.Models.FileCache", b => - { - b.Property("Hash") - .HasMaxLength(40) - .HasColumnType("character varying(40)") - .HasColumnName("hash"); - - b.Property("RawSize") - .HasColumnType("bigint") - .HasColumnName("raw_size"); - - b.Property("Size") - .HasColumnType("bigint") - .HasColumnName("size"); - - b.Property("Timestamp") - .IsConcurrencyToken() - .ValueGeneratedOnAddOrUpdate() - .HasColumnType("bytea") - .HasColumnName("timestamp"); - - b.Property("UploadDate") - .HasColumnType("timestamp with time zone") - .HasColumnName("upload_date"); - - b.Property("Uploaded") - .HasColumnType("boolean") - .HasColumnName("uploaded"); - - b.Property("UploaderUID") - .HasMaxLength(10) - .HasColumnType("character varying(10)") - .HasColumnName("uploader_uid"); - - b.HasKey("Hash") - .HasName("pk_file_caches"); - - b.HasIndex("UploaderUID") - .HasDatabaseName("ix_file_caches_uploader_uid"); - - b.ToTable("file_caches", (string)null); - }); - - modelBuilder.Entity("MareSynchronosShared.Models.ForbiddenUploadEntry", b => - { - b.Property("Hash") - .HasMaxLength(40) - .HasColumnType("character varying(40)") - .HasColumnName("hash"); - - b.Property("ForbiddenBy") - .HasMaxLength(100) - .HasColumnType("character varying(100)") - .HasColumnName("forbidden_by"); - - b.Property("Timestamp") - .IsConcurrencyToken() - .ValueGeneratedOnAddOrUpdate() - .HasColumnType("bytea") - .HasColumnName("timestamp"); - - b.HasKey("Hash") - .HasName("pk_forbidden_upload_entries"); - - b.ToTable("forbidden_upload_entries", (string)null); - }); - - modelBuilder.Entity("MareSynchronosShared.Models.Group", b => - { - b.Property("GID") - .HasMaxLength(20) - .HasColumnType("character varying(20)") - .HasColumnName("gid"); - - b.Property("Alias") - .HasMaxLength(50) - .HasColumnType("character varying(50)") - .HasColumnName("alias"); - - b.Property("HashedPassword") - .HasColumnType("text") - .HasColumnName("hashed_password"); - - b.Property("InvitesEnabled") - .HasColumnType("boolean") - .HasColumnName("invites_enabled"); - - b.Property("OwnerUID") - .HasColumnType("character varying(10)") - .HasColumnName("owner_uid"); - - b.Property("PreferDisableAnimations") - .HasColumnType("boolean") - .HasColumnName("prefer_disable_animations"); - - b.Property("PreferDisableSounds") - .HasColumnType("boolean") - .HasColumnName("prefer_disable_sounds"); - - b.Property("PreferDisableVFX") - .HasColumnType("boolean") - .HasColumnName("prefer_disable_vfx"); - - b.HasKey("GID") - .HasName("pk_groups"); - - b.HasIndex("OwnerUID") - .HasDatabaseName("ix_groups_owner_uid"); - - b.ToTable("groups", (string)null); - }); - - modelBuilder.Entity("MareSynchronosShared.Models.GroupBan", b => - { - b.Property("GroupGID") - .HasColumnType("character varying(20)") - .HasColumnName("group_gid"); - - b.Property("BannedUserUID") - .HasColumnType("character varying(10)") - .HasColumnName("banned_user_uid"); - - b.Property("BannedByUID") - .HasColumnType("character varying(10)") - .HasColumnName("banned_by_uid"); - - b.Property("BannedOn") - .HasColumnType("timestamp with time zone") - .HasColumnName("banned_on"); - - b.Property("BannedReason") - .HasColumnType("text") - .HasColumnName("banned_reason"); - - b.HasKey("GroupGID", "BannedUserUID") - .HasName("pk_group_bans"); - - b.HasIndex("BannedByUID") - .HasDatabaseName("ix_group_bans_banned_by_uid"); - - b.HasIndex("BannedUserUID") - .HasDatabaseName("ix_group_bans_banned_user_uid"); - - b.HasIndex("GroupGID") - .HasDatabaseName("ix_group_bans_group_gid"); - - b.ToTable("group_bans", (string)null); - }); - - modelBuilder.Entity("MareSynchronosShared.Models.GroupPair", b => - { - b.Property("GroupGID") - .HasColumnType("character varying(20)") - .HasColumnName("group_gid"); - - b.Property("GroupUserUID") - .HasColumnType("character varying(10)") - .HasColumnName("group_user_uid"); - - b.Property("IsModerator") - .HasColumnType("boolean") - .HasColumnName("is_moderator"); - - b.Property("IsPinned") - .HasColumnType("boolean") - .HasColumnName("is_pinned"); - - b.HasKey("GroupGID", "GroupUserUID") - .HasName("pk_group_pairs"); - - b.HasIndex("GroupGID") - .HasDatabaseName("ix_group_pairs_group_gid"); - - b.HasIndex("GroupUserUID") - .HasDatabaseName("ix_group_pairs_group_user_uid"); - - b.ToTable("group_pairs", (string)null); - }); - - modelBuilder.Entity("MareSynchronosShared.Models.GroupPairPreferredPermission", b => - { - b.Property("UserUID") - .HasColumnType("character varying(10)") - .HasColumnName("user_uid"); - - b.Property("GroupGID") - .HasColumnType("character varying(20)") - .HasColumnName("group_gid"); - - b.Property("DisableAnimations") - .HasColumnType("boolean") - .HasColumnName("disable_animations"); - - b.Property("DisableSounds") - .HasColumnType("boolean") - .HasColumnName("disable_sounds"); - - b.Property("DisableVFX") - .HasColumnType("boolean") - .HasColumnName("disable_vfx"); - - b.Property("IsPaused") - .HasColumnType("boolean") - .HasColumnName("is_paused"); - - b.HasKey("UserUID", "GroupGID") - .HasName("pk_group_pair_preferred_permissions"); - - b.HasIndex("GroupGID") - .HasDatabaseName("ix_group_pair_preferred_permissions_group_gid"); - - b.HasIndex("UserUID") - .HasDatabaseName("ix_group_pair_preferred_permissions_user_uid"); - - b.ToTable("group_pair_preferred_permissions", (string)null); - }); - - modelBuilder.Entity("MareSynchronosShared.Models.GroupTempInvite", b => - { - b.Property("GroupGID") - .HasColumnType("character varying(20)") - .HasColumnName("group_gid"); - - b.Property("Invite") - .HasMaxLength(64) - .HasColumnType("character varying(64)") - .HasColumnName("invite"); - - b.Property("ExpirationDate") - .HasColumnType("timestamp with time zone") - .HasColumnName("expiration_date"); - - b.HasKey("GroupGID", "Invite") - .HasName("pk_group_temp_invites"); - - b.HasIndex("GroupGID") - .HasDatabaseName("ix_group_temp_invites_group_gid"); - - b.HasIndex("Invite") - .HasDatabaseName("ix_group_temp_invites_invite"); - - b.ToTable("group_temp_invites", (string)null); - }); - - modelBuilder.Entity("MareSynchronosShared.Models.LodeStoneAuth", b => - { - b.Property("DiscordId") - .ValueGeneratedOnAdd() - .HasColumnType("numeric(20,0)") - .HasColumnName("discord_id"); - - b.Property("HashedLodestoneId") - .HasMaxLength(100) - .HasColumnType("character varying(100)") - .HasColumnName("hashed_lodestone_id"); - - b.Property("LodestoneAuthString") - .HasMaxLength(100) - .HasColumnType("character varying(100)") - .HasColumnName("lodestone_auth_string"); - - b.Property("StartedAt") - .HasColumnType("timestamp with time zone") - .HasColumnName("started_at"); - - b.Property("UserUID") - .HasColumnType("character varying(10)") - .HasColumnName("user_uid"); - - b.HasKey("DiscordId") - .HasName("pk_lodestone_auth"); - - b.HasIndex("UserUID") - .HasDatabaseName("ix_lodestone_auth_user_uid"); - - b.ToTable("lodestone_auth", (string)null); - }); - - modelBuilder.Entity("MareSynchronosShared.Models.User", b => - { - b.Property("UID") - .HasMaxLength(10) - .HasColumnType("character varying(10)") - .HasColumnName("uid"); - - b.Property("Alias") - .HasMaxLength(15) - .HasColumnType("character varying(15)") - .HasColumnName("alias"); - - b.Property("IsAdmin") - .HasColumnType("boolean") - .HasColumnName("is_admin"); - - b.Property("IsModerator") - .HasColumnType("boolean") - .HasColumnName("is_moderator"); - - b.Property("LastLoggedIn") - .HasColumnType("timestamp with time zone") - .HasColumnName("last_logged_in"); - - b.Property("Timestamp") - .IsConcurrencyToken() - .ValueGeneratedOnAddOrUpdate() - .HasColumnType("bytea") - .HasColumnName("timestamp"); - - b.HasKey("UID") - .HasName("pk_users"); - - b.ToTable("users", (string)null); - }); - - modelBuilder.Entity("MareSynchronosShared.Models.UserDefaultPreferredPermission", b => - { - b.Property("UserUID") - .HasMaxLength(10) - .HasColumnType("character varying(10)") - .HasColumnName("user_uid"); - - b.Property("DisableGroupAnimations") - .HasColumnType("boolean") - .HasColumnName("disable_group_animations"); - - b.Property("DisableGroupSounds") - .HasColumnType("boolean") - .HasColumnName("disable_group_sounds"); - - b.Property("DisableGroupVFX") - .HasColumnType("boolean") - .HasColumnName("disable_group_vfx"); - - b.Property("DisableIndividualAnimations") - .HasColumnType("boolean") - .HasColumnName("disable_individual_animations"); - - b.Property("DisableIndividualSounds") - .HasColumnType("boolean") - .HasColumnName("disable_individual_sounds"); - - b.Property("DisableIndividualVFX") - .HasColumnType("boolean") - .HasColumnName("disable_individual_vfx"); - - b.Property("IndividualIsSticky") - .HasColumnType("boolean") - .HasColumnName("individual_is_sticky"); - - b.HasKey("UserUID") - .HasName("pk_user_default_preferred_permissions"); - - b.HasIndex("UserUID") - .HasDatabaseName("ix_user_default_preferred_permissions_user_uid"); - - b.ToTable("user_default_preferred_permissions", (string)null); - }); - - modelBuilder.Entity("MareSynchronosShared.Models.UserPermissionSet", b => - { - b.Property("UserUID") - .HasColumnType("character varying(10)") - .HasColumnName("user_uid"); - - b.Property("OtherUserUID") - .HasColumnType("character varying(10)") - .HasColumnName("other_user_uid"); - - b.Property("DisableAnimations") - .HasColumnType("boolean") - .HasColumnName("disable_animations"); - - b.Property("DisableSounds") - .HasColumnType("boolean") - .HasColumnName("disable_sounds"); - - b.Property("DisableVFX") - .HasColumnType("boolean") - .HasColumnName("disable_vfx"); - - b.Property("IsPaused") - .HasColumnType("boolean") - .HasColumnName("is_paused"); - - b.Property("Sticky") - .HasColumnType("boolean") - .HasColumnName("sticky"); - - b.HasKey("UserUID", "OtherUserUID") - .HasName("pk_user_permission_sets"); - - b.HasIndex("OtherUserUID") - .HasDatabaseName("ix_user_permission_sets_other_user_uid"); - - b.HasIndex("UserUID") - .HasDatabaseName("ix_user_permission_sets_user_uid"); - - b.HasIndex("UserUID", "OtherUserUID", "IsPaused") - .HasDatabaseName("ix_user_permission_sets_user_uid_other_user_uid_is_paused"); - - b.ToTable("user_permission_sets", (string)null); - }); - - modelBuilder.Entity("MareSynchronosShared.Models.UserProfileData", b => - { - b.Property("UserUID") - .HasColumnType("character varying(10)") - .HasColumnName("user_uid"); - - b.Property("Base64ProfileImage") - .HasColumnType("text") - .HasColumnName("base64profile_image"); - - b.Property("FlaggedForReport") - .HasColumnType("boolean") - .HasColumnName("flagged_for_report"); - - b.Property("IsNSFW") - .HasColumnType("boolean") - .HasColumnName("is_nsfw"); - - b.Property("ProfileDisabled") - .HasColumnType("boolean") - .HasColumnName("profile_disabled"); - - b.Property("UserDescription") - .HasColumnType("text") - .HasColumnName("user_description"); - - b.HasKey("UserUID") - .HasName("pk_user_profile_data"); - - b.ToTable("user_profile_data", (string)null); - }); - - modelBuilder.Entity("MareSynchronosShared.Models.Auth", b => - { - b.HasOne("MareSynchronosShared.Models.User", "PrimaryUser") - .WithMany() - .HasForeignKey("PrimaryUserUID") - .HasConstraintName("fk_auth_users_primary_user_uid"); - - b.HasOne("MareSynchronosShared.Models.User", "User") - .WithMany() - .HasForeignKey("UserUID") - .HasConstraintName("fk_auth_users_user_uid"); - - b.Navigation("PrimaryUser"); - - b.Navigation("User"); - }); - - modelBuilder.Entity("MareSynchronosShared.Models.CharaData", b => - { - b.HasOne("MareSynchronosShared.Models.User", "Uploader") - .WithMany() - .HasForeignKey("UploaderUID") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("fk_chara_data_users_uploader_uid"); - - b.Navigation("Uploader"); - }); - - modelBuilder.Entity("MareSynchronosShared.Models.CharaDataAllowance", b => - { - b.HasOne("MareSynchronosShared.Models.User", "AllowedUser") - .WithMany() - .HasForeignKey("AllowedUserUID") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("fk_chara_data_allowance_users_allowed_user_uid"); - - b.HasOne("MareSynchronosShared.Models.CharaData", "Parent") - .WithMany("AllowedIndividiuals") - .HasForeignKey("ParentId", "ParentUploaderUID") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("fk_chara_data_allowance_chara_data_parent_id_parent_uploader_u"); - - b.Navigation("AllowedUser"); - - b.Navigation("Parent"); - }); - - modelBuilder.Entity("MareSynchronosShared.Models.CharaDataFile", b => - { - b.HasOne("MareSynchronosShared.Models.FileCache", "FileCache") - .WithMany() - .HasForeignKey("FileCacheHash") - .HasConstraintName("fk_chara_data_files_files_file_cache_hash"); - - b.HasOne("MareSynchronosShared.Models.CharaData", "Parent") - .WithMany("Files") - .HasForeignKey("ParentId", "ParentUploaderUID") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("fk_chara_data_files_chara_data_parent_id_parent_uploader_uid"); - - b.Navigation("FileCache"); - - b.Navigation("Parent"); - }); - - modelBuilder.Entity("MareSynchronosShared.Models.CharaDataFileSwap", b => - { - b.HasOne("MareSynchronosShared.Models.CharaData", "Parent") - .WithMany("FileSwaps") - .HasForeignKey("ParentId", "ParentUploaderUID") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("fk_chara_data_file_swaps_chara_data_parent_id_parent_uploader_"); - - b.Navigation("Parent"); - }); - - modelBuilder.Entity("MareSynchronosShared.Models.CharaDataOriginalFile", b => - { - b.HasOne("MareSynchronosShared.Models.CharaData", "Parent") - .WithMany("OriginalFiles") - .HasForeignKey("ParentId", "ParentUploaderUID") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("fk_chara_data_orig_files_chara_data_parent_id_parent_uploader_"); - - b.Navigation("Parent"); - }); - - modelBuilder.Entity("MareSynchronosShared.Models.CharaDataPose", b => - { - b.HasOne("MareSynchronosShared.Models.CharaData", "Parent") - .WithMany("Poses") - .HasForeignKey("ParentId", "ParentUploaderUID") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("fk_chara_data_poses_chara_data_parent_id_parent_uploader_uid"); - - b.Navigation("Parent"); - }); - - modelBuilder.Entity("MareSynchronosShared.Models.ClientPair", b => - { - b.HasOne("MareSynchronosShared.Models.User", "OtherUser") - .WithMany() - .HasForeignKey("OtherUserUID") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("fk_client_pairs_users_other_user_uid"); - - b.HasOne("MareSynchronosShared.Models.User", "User") - .WithMany() - .HasForeignKey("UserUID") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("fk_client_pairs_users_user_uid"); - - b.Navigation("OtherUser"); - - b.Navigation("User"); - }); - - modelBuilder.Entity("MareSynchronosShared.Models.FileCache", b => - { - b.HasOne("MareSynchronosShared.Models.User", "Uploader") - .WithMany() - .HasForeignKey("UploaderUID") - .HasConstraintName("fk_file_caches_users_uploader_uid"); - - b.Navigation("Uploader"); - }); - - modelBuilder.Entity("MareSynchronosShared.Models.Group", b => - { - b.HasOne("MareSynchronosShared.Models.User", "Owner") - .WithMany() - .HasForeignKey("OwnerUID") - .HasConstraintName("fk_groups_users_owner_uid"); - - b.Navigation("Owner"); - }); - - modelBuilder.Entity("MareSynchronosShared.Models.GroupBan", b => - { - b.HasOne("MareSynchronosShared.Models.User", "BannedBy") - .WithMany() - .HasForeignKey("BannedByUID") - .HasConstraintName("fk_group_bans_users_banned_by_uid"); - - b.HasOne("MareSynchronosShared.Models.User", "BannedUser") - .WithMany() - .HasForeignKey("BannedUserUID") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("fk_group_bans_users_banned_user_uid"); - - b.HasOne("MareSynchronosShared.Models.Group", "Group") - .WithMany() - .HasForeignKey("GroupGID") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("fk_group_bans_groups_group_gid"); - - b.Navigation("BannedBy"); - - b.Navigation("BannedUser"); - - b.Navigation("Group"); - }); - - modelBuilder.Entity("MareSynchronosShared.Models.GroupPair", b => - { - b.HasOne("MareSynchronosShared.Models.Group", "Group") - .WithMany() - .HasForeignKey("GroupGID") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("fk_group_pairs_groups_group_gid"); - - b.HasOne("MareSynchronosShared.Models.User", "GroupUser") - .WithMany() - .HasForeignKey("GroupUserUID") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("fk_group_pairs_users_group_user_uid"); - - b.Navigation("Group"); - - b.Navigation("GroupUser"); - }); - - modelBuilder.Entity("MareSynchronosShared.Models.GroupPairPreferredPermission", b => - { - b.HasOne("MareSynchronosShared.Models.Group", "Group") - .WithMany() - .HasForeignKey("GroupGID") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("fk_group_pair_preferred_permissions_groups_group_gid"); - - b.HasOne("MareSynchronosShared.Models.User", "User") - .WithMany() - .HasForeignKey("UserUID") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("fk_group_pair_preferred_permissions_users_user_uid"); - - b.Navigation("Group"); - - b.Navigation("User"); - }); - - modelBuilder.Entity("MareSynchronosShared.Models.GroupTempInvite", b => - { - b.HasOne("MareSynchronosShared.Models.Group", "Group") - .WithMany() - .HasForeignKey("GroupGID") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("fk_group_temp_invites_groups_group_gid"); - - b.Navigation("Group"); - }); - - modelBuilder.Entity("MareSynchronosShared.Models.LodeStoneAuth", b => - { - b.HasOne("MareSynchronosShared.Models.User", "User") - .WithMany() - .HasForeignKey("UserUID") - .HasConstraintName("fk_lodestone_auth_users_user_uid"); - - b.Navigation("User"); - }); - - modelBuilder.Entity("MareSynchronosShared.Models.UserDefaultPreferredPermission", b => - { - b.HasOne("MareSynchronosShared.Models.User", "User") - .WithMany() - .HasForeignKey("UserUID") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("fk_user_default_preferred_permissions_users_user_uid"); - - b.Navigation("User"); - }); - - modelBuilder.Entity("MareSynchronosShared.Models.UserPermissionSet", b => - { - b.HasOne("MareSynchronosShared.Models.User", "OtherUser") - .WithMany() - .HasForeignKey("OtherUserUID") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("fk_user_permission_sets_users_other_user_uid"); - - b.HasOne("MareSynchronosShared.Models.User", "User") - .WithMany() - .HasForeignKey("UserUID") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("fk_user_permission_sets_users_user_uid"); - - b.Navigation("OtherUser"); - - b.Navigation("User"); - }); - - modelBuilder.Entity("MareSynchronosShared.Models.UserProfileData", b => - { - b.HasOne("MareSynchronosShared.Models.User", "User") - .WithMany() - .HasForeignKey("UserUID") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("fk_user_profile_data_users_user_uid"); - - b.Navigation("User"); - }); - - modelBuilder.Entity("MareSynchronosShared.Models.CharaData", b => - { - b.Navigation("AllowedIndividiuals"); - - b.Navigation("FileSwaps"); - - b.Navigation("Files"); - - b.Navigation("OriginalFiles"); - - b.Navigation("Poses"); - }); -#pragma warning restore 612, 618 - } - } -} diff --git a/MareSynchronosServer/MareSynchronosShared/Migrations/20241226194944_CharaDataFileSwap.cs b/MareSynchronosServer/MareSynchronosShared/Migrations/20241226194944_CharaDataFileSwap.cs deleted file mode 100644 index 023b4c4..0000000 --- a/MareSynchronosServer/MareSynchronosShared/Migrations/20241226194944_CharaDataFileSwap.cs +++ /dev/null @@ -1,114 +0,0 @@ -using Microsoft.EntityFrameworkCore.Migrations; - -#nullable disable - -namespace MareSynchronosServer.Migrations -{ - /// - public partial class CharaDataFileSwap : Migration - { - /// - protected override void Up(MigrationBuilder migrationBuilder) - { - migrationBuilder.DropForeignKey( - name: "fk_chara_data_files_chara_data_parent_id_parent_uploader_uid", - table: "chara_data_files"); - - migrationBuilder.DropPrimaryKey( - name: "pk_chara_data_files", - table: "chara_data_files"); - - migrationBuilder.DropIndex( - name: "ix_chara_data_files_parent_id_parent_uploader_uid", - table: "chara_data_files"); - - migrationBuilder.AlterColumn( - name: "parent_uploader_uid", - table: "chara_data_files", - type: "character varying(10)", - nullable: false, - defaultValue: "", - oldClrType: typeof(string), - oldType: "character varying(10)", - oldNullable: true); - - migrationBuilder.AddPrimaryKey( - name: "pk_chara_data_files", - table: "chara_data_files", - columns: new[] { "parent_id", "parent_uploader_uid", "game_path" }); - - migrationBuilder.CreateTable( - name: "chara_data_file_swaps", - columns: table => new - { - parent_id = table.Column(type: "text", nullable: false), - parent_uploader_uid = table.Column(type: "character varying(10)", nullable: false), - game_path = table.Column(type: "text", nullable: false), - file_path = table.Column(type: "text", nullable: true) - }, - constraints: table => - { - table.PrimaryKey("pk_chara_data_file_swaps", x => new { x.parent_id, x.parent_uploader_uid, x.game_path }); - table.ForeignKey( - name: "fk_chara_data_file_swaps_chara_data_parent_id_parent_uploader_", - columns: x => new { x.parent_id, x.parent_uploader_uid }, - principalTable: "chara_data", - principalColumns: new[] { "id", "uploader_uid" }, - onDelete: ReferentialAction.Cascade); - }); - - migrationBuilder.CreateIndex( - name: "ix_chara_data_file_swaps_parent_id", - table: "chara_data_file_swaps", - column: "parent_id"); - - migrationBuilder.AddForeignKey( - name: "fk_chara_data_files_chara_data_parent_id_parent_uploader_uid", - table: "chara_data_files", - columns: new[] { "parent_id", "parent_uploader_uid" }, - principalTable: "chara_data", - principalColumns: new[] { "id", "uploader_uid" }, - onDelete: ReferentialAction.Cascade); - } - - /// - protected override void Down(MigrationBuilder migrationBuilder) - { - migrationBuilder.DropForeignKey( - name: "fk_chara_data_files_chara_data_parent_id_parent_uploader_uid", - table: "chara_data_files"); - - migrationBuilder.DropTable( - name: "chara_data_file_swaps"); - - migrationBuilder.DropPrimaryKey( - name: "pk_chara_data_files", - table: "chara_data_files"); - - migrationBuilder.AlterColumn( - name: "parent_uploader_uid", - table: "chara_data_files", - type: "character varying(10)", - nullable: true, - oldClrType: typeof(string), - oldType: "character varying(10)"); - - migrationBuilder.AddPrimaryKey( - name: "pk_chara_data_files", - table: "chara_data_files", - columns: new[] { "parent_id", "game_path" }); - - migrationBuilder.CreateIndex( - name: "ix_chara_data_files_parent_id_parent_uploader_uid", - table: "chara_data_files", - columns: new[] { "parent_id", "parent_uploader_uid" }); - - migrationBuilder.AddForeignKey( - name: "fk_chara_data_files_chara_data_parent_id_parent_uploader_uid", - table: "chara_data_files", - columns: new[] { "parent_id", "parent_uploader_uid" }, - principalTable: "chara_data", - principalColumns: new[] { "id", "uploader_uid" }); - } - } -} diff --git a/MareSynchronosServer/MareSynchronosShared/Migrations/20241227130901_CascadeFile.Designer.cs b/MareSynchronosServer/MareSynchronosShared/Migrations/20241227130901_CascadeFile.Designer.cs deleted file mode 100644 index c9adfd9..0000000 --- a/MareSynchronosServer/MareSynchronosShared/Migrations/20241227130901_CascadeFile.Designer.cs +++ /dev/null @@ -1,1065 +0,0 @@ -// -using System; -using MareSynchronosShared.Data; -using Microsoft.EntityFrameworkCore; -using Microsoft.EntityFrameworkCore.Infrastructure; -using Microsoft.EntityFrameworkCore.Migrations; -using Microsoft.EntityFrameworkCore.Storage.ValueConversion; -using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata; - -#nullable disable - -namespace MareSynchronosServer.Migrations -{ - [DbContext(typeof(MareDbContext))] - [Migration("20241227130901_CascadeFile")] - partial class CascadeFile - { - /// - protected override void BuildTargetModel(ModelBuilder modelBuilder) - { -#pragma warning disable 612, 618 - modelBuilder - .HasAnnotation("ProductVersion", "8.0.10") - .HasAnnotation("Relational:MaxIdentifierLength", 63); - - NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder); - - modelBuilder.Entity("MareSynchronosShared.Models.Auth", b => - { - b.Property("HashedKey") - .HasMaxLength(64) - .HasColumnType("character varying(64)") - .HasColumnName("hashed_key"); - - b.Property("IsBanned") - .HasColumnType("boolean") - .HasColumnName("is_banned"); - - b.Property("MarkForBan") - .HasColumnType("boolean") - .HasColumnName("mark_for_ban"); - - b.Property("PrimaryUserUID") - .HasColumnType("character varying(10)") - .HasColumnName("primary_user_uid"); - - b.Property("UserUID") - .HasColumnType("character varying(10)") - .HasColumnName("user_uid"); - - b.HasKey("HashedKey") - .HasName("pk_auth"); - - b.HasIndex("PrimaryUserUID") - .HasDatabaseName("ix_auth_primary_user_uid"); - - b.HasIndex("UserUID") - .HasDatabaseName("ix_auth_user_uid"); - - b.ToTable("auth", (string)null); - }); - - modelBuilder.Entity("MareSynchronosShared.Models.Banned", b => - { - b.Property("CharacterIdentification") - .HasMaxLength(100) - .HasColumnType("character varying(100)") - .HasColumnName("character_identification"); - - b.Property("Reason") - .HasColumnType("text") - .HasColumnName("reason"); - - b.Property("Timestamp") - .IsConcurrencyToken() - .ValueGeneratedOnAddOrUpdate() - .HasColumnType("bytea") - .HasColumnName("timestamp"); - - b.HasKey("CharacterIdentification") - .HasName("pk_banned_users"); - - b.ToTable("banned_users", (string)null); - }); - - modelBuilder.Entity("MareSynchronosShared.Models.BannedRegistrations", b => - { - b.Property("DiscordIdOrLodestoneAuth") - .HasMaxLength(100) - .HasColumnType("character varying(100)") - .HasColumnName("discord_id_or_lodestone_auth"); - - b.HasKey("DiscordIdOrLodestoneAuth") - .HasName("pk_banned_registrations"); - - b.ToTable("banned_registrations", (string)null); - }); - - modelBuilder.Entity("MareSynchronosShared.Models.CharaData", b => - { - b.Property("Id") - .HasColumnType("text") - .HasColumnName("id"); - - b.Property("UploaderUID") - .HasColumnType("character varying(10)") - .HasColumnName("uploader_uid"); - - b.Property("AccessType") - .HasColumnType("integer") - .HasColumnName("access_type"); - - b.Property("CreatedDate") - .HasColumnType("timestamp with time zone") - .HasColumnName("created_date"); - - b.Property("CustomizeData") - .HasColumnType("text") - .HasColumnName("customize_data"); - - b.Property("Description") - .HasColumnType("text") - .HasColumnName("description"); - - b.Property("DownloadCount") - .HasColumnType("integer") - .HasColumnName("download_count"); - - b.Property("ExpiryDate") - .HasColumnType("timestamp with time zone") - .HasColumnName("expiry_date"); - - b.Property("GlamourerData") - .HasColumnType("text") - .HasColumnName("glamourer_data"); - - b.Property("ShareType") - .HasColumnType("integer") - .HasColumnName("share_type"); - - b.Property("UpdatedDate") - .HasColumnType("timestamp with time zone") - .HasColumnName("updated_date"); - - b.HasKey("Id", "UploaderUID") - .HasName("pk_chara_data"); - - b.HasIndex("Id") - .HasDatabaseName("ix_chara_data_id"); - - b.HasIndex("UploaderUID") - .HasDatabaseName("ix_chara_data_uploader_uid"); - - b.ToTable("chara_data", (string)null); - }); - - modelBuilder.Entity("MareSynchronosShared.Models.CharaDataAllowance", b => - { - b.Property("ParentId") - .HasColumnType("text") - .HasColumnName("parent_id"); - - b.Property("ParentUploaderUID") - .HasColumnType("character varying(10)") - .HasColumnName("parent_uploader_uid"); - - b.Property("AllowedUserUID") - .HasColumnType("character varying(10)") - .HasColumnName("allowed_user_uid"); - - b.HasKey("ParentId", "ParentUploaderUID", "AllowedUserUID") - .HasName("pk_chara_data_allowance"); - - b.HasIndex("AllowedUserUID") - .HasDatabaseName("ix_chara_data_allowance_allowed_user_uid"); - - b.HasIndex("ParentId") - .HasDatabaseName("ix_chara_data_allowance_parent_id"); - - b.ToTable("chara_data_allowance", (string)null); - }); - - modelBuilder.Entity("MareSynchronosShared.Models.CharaDataFile", b => - { - b.Property("ParentId") - .HasColumnType("text") - .HasColumnName("parent_id"); - - b.Property("ParentUploaderUID") - .HasColumnType("character varying(10)") - .HasColumnName("parent_uploader_uid"); - - b.Property("GamePath") - .HasColumnType("text") - .HasColumnName("game_path"); - - b.Property("FileCacheHash") - .HasColumnType("character varying(40)") - .HasColumnName("file_cache_hash"); - - b.HasKey("ParentId", "ParentUploaderUID", "GamePath") - .HasName("pk_chara_data_files"); - - b.HasIndex("FileCacheHash") - .HasDatabaseName("ix_chara_data_files_file_cache_hash"); - - b.HasIndex("ParentId") - .HasDatabaseName("ix_chara_data_files_parent_id"); - - b.ToTable("chara_data_files", (string)null); - }); - - modelBuilder.Entity("MareSynchronosShared.Models.CharaDataFileSwap", b => - { - b.Property("ParentId") - .HasColumnType("text") - .HasColumnName("parent_id"); - - b.Property("ParentUploaderUID") - .HasColumnType("character varying(10)") - .HasColumnName("parent_uploader_uid"); - - b.Property("GamePath") - .HasColumnType("text") - .HasColumnName("game_path"); - - b.Property("FilePath") - .HasColumnType("text") - .HasColumnName("file_path"); - - b.HasKey("ParentId", "ParentUploaderUID", "GamePath") - .HasName("pk_chara_data_file_swaps"); - - b.HasIndex("ParentId") - .HasDatabaseName("ix_chara_data_file_swaps_parent_id"); - - b.ToTable("chara_data_file_swaps", (string)null); - }); - - modelBuilder.Entity("MareSynchronosShared.Models.CharaDataOriginalFile", b => - { - b.Property("ParentId") - .HasColumnType("text") - .HasColumnName("parent_id"); - - b.Property("ParentUploaderUID") - .HasColumnType("character varying(10)") - .HasColumnName("parent_uploader_uid"); - - b.Property("Hash") - .HasColumnType("text") - .HasColumnName("hash"); - - b.HasKey("ParentId", "ParentUploaderUID", "Hash") - .HasName("pk_chara_data_orig_files"); - - b.HasIndex("ParentId") - .HasDatabaseName("ix_chara_data_orig_files_parent_id"); - - b.ToTable("chara_data_orig_files", (string)null); - }); - - modelBuilder.Entity("MareSynchronosShared.Models.CharaDataPose", b => - { - b.Property("ParentId") - .HasColumnType("text") - .HasColumnName("parent_id"); - - b.Property("ParentUploaderUID") - .HasColumnType("character varying(10)") - .HasColumnName("parent_uploader_uid"); - - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("bigint") - .HasColumnName("id"); - - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - - b.Property("Description") - .HasColumnType("text") - .HasColumnName("description"); - - b.Property("PoseData") - .HasColumnType("text") - .HasColumnName("pose_data"); - - b.Property("WorldData") - .HasColumnType("text") - .HasColumnName("world_data"); - - b.HasKey("ParentId", "ParentUploaderUID", "Id") - .HasName("pk_chara_data_poses"); - - b.HasIndex("ParentId") - .HasDatabaseName("ix_chara_data_poses_parent_id"); - - b.ToTable("chara_data_poses", (string)null); - }); - - modelBuilder.Entity("MareSynchronosShared.Models.ClientPair", b => - { - b.Property("UserUID") - .HasMaxLength(10) - .HasColumnType("character varying(10)") - .HasColumnName("user_uid"); - - b.Property("OtherUserUID") - .HasMaxLength(10) - .HasColumnType("character varying(10)") - .HasColumnName("other_user_uid"); - - b.Property("Timestamp") - .IsConcurrencyToken() - .ValueGeneratedOnAddOrUpdate() - .HasColumnType("bytea") - .HasColumnName("timestamp"); - - b.HasKey("UserUID", "OtherUserUID") - .HasName("pk_client_pairs"); - - b.HasIndex("OtherUserUID") - .HasDatabaseName("ix_client_pairs_other_user_uid"); - - b.HasIndex("UserUID") - .HasDatabaseName("ix_client_pairs_user_uid"); - - b.ToTable("client_pairs", (string)null); - }); - - modelBuilder.Entity("MareSynchronosShared.Models.FileCache", b => - { - b.Property("Hash") - .HasMaxLength(40) - .HasColumnType("character varying(40)") - .HasColumnName("hash"); - - b.Property("RawSize") - .HasColumnType("bigint") - .HasColumnName("raw_size"); - - b.Property("Size") - .HasColumnType("bigint") - .HasColumnName("size"); - - b.Property("Timestamp") - .IsConcurrencyToken() - .ValueGeneratedOnAddOrUpdate() - .HasColumnType("bytea") - .HasColumnName("timestamp"); - - b.Property("UploadDate") - .HasColumnType("timestamp with time zone") - .HasColumnName("upload_date"); - - b.Property("Uploaded") - .HasColumnType("boolean") - .HasColumnName("uploaded"); - - b.Property("UploaderUID") - .HasMaxLength(10) - .HasColumnType("character varying(10)") - .HasColumnName("uploader_uid"); - - b.HasKey("Hash") - .HasName("pk_file_caches"); - - b.HasIndex("UploaderUID") - .HasDatabaseName("ix_file_caches_uploader_uid"); - - b.ToTable("file_caches", (string)null); - }); - - modelBuilder.Entity("MareSynchronosShared.Models.ForbiddenUploadEntry", b => - { - b.Property("Hash") - .HasMaxLength(40) - .HasColumnType("character varying(40)") - .HasColumnName("hash"); - - b.Property("ForbiddenBy") - .HasMaxLength(100) - .HasColumnType("character varying(100)") - .HasColumnName("forbidden_by"); - - b.Property("Timestamp") - .IsConcurrencyToken() - .ValueGeneratedOnAddOrUpdate() - .HasColumnType("bytea") - .HasColumnName("timestamp"); - - b.HasKey("Hash") - .HasName("pk_forbidden_upload_entries"); - - b.ToTable("forbidden_upload_entries", (string)null); - }); - - modelBuilder.Entity("MareSynchronosShared.Models.Group", b => - { - b.Property("GID") - .HasMaxLength(20) - .HasColumnType("character varying(20)") - .HasColumnName("gid"); - - b.Property("Alias") - .HasMaxLength(50) - .HasColumnType("character varying(50)") - .HasColumnName("alias"); - - b.Property("HashedPassword") - .HasColumnType("text") - .HasColumnName("hashed_password"); - - b.Property("InvitesEnabled") - .HasColumnType("boolean") - .HasColumnName("invites_enabled"); - - b.Property("OwnerUID") - .HasColumnType("character varying(10)") - .HasColumnName("owner_uid"); - - b.Property("PreferDisableAnimations") - .HasColumnType("boolean") - .HasColumnName("prefer_disable_animations"); - - b.Property("PreferDisableSounds") - .HasColumnType("boolean") - .HasColumnName("prefer_disable_sounds"); - - b.Property("PreferDisableVFX") - .HasColumnType("boolean") - .HasColumnName("prefer_disable_vfx"); - - b.HasKey("GID") - .HasName("pk_groups"); - - b.HasIndex("OwnerUID") - .HasDatabaseName("ix_groups_owner_uid"); - - b.ToTable("groups", (string)null); - }); - - modelBuilder.Entity("MareSynchronosShared.Models.GroupBan", b => - { - b.Property("GroupGID") - .HasColumnType("character varying(20)") - .HasColumnName("group_gid"); - - b.Property("BannedUserUID") - .HasColumnType("character varying(10)") - .HasColumnName("banned_user_uid"); - - b.Property("BannedByUID") - .HasColumnType("character varying(10)") - .HasColumnName("banned_by_uid"); - - b.Property("BannedOn") - .HasColumnType("timestamp with time zone") - .HasColumnName("banned_on"); - - b.Property("BannedReason") - .HasColumnType("text") - .HasColumnName("banned_reason"); - - b.HasKey("GroupGID", "BannedUserUID") - .HasName("pk_group_bans"); - - b.HasIndex("BannedByUID") - .HasDatabaseName("ix_group_bans_banned_by_uid"); - - b.HasIndex("BannedUserUID") - .HasDatabaseName("ix_group_bans_banned_user_uid"); - - b.HasIndex("GroupGID") - .HasDatabaseName("ix_group_bans_group_gid"); - - b.ToTable("group_bans", (string)null); - }); - - modelBuilder.Entity("MareSynchronosShared.Models.GroupPair", b => - { - b.Property("GroupGID") - .HasColumnType("character varying(20)") - .HasColumnName("group_gid"); - - b.Property("GroupUserUID") - .HasColumnType("character varying(10)") - .HasColumnName("group_user_uid"); - - b.Property("IsModerator") - .HasColumnType("boolean") - .HasColumnName("is_moderator"); - - b.Property("IsPinned") - .HasColumnType("boolean") - .HasColumnName("is_pinned"); - - b.HasKey("GroupGID", "GroupUserUID") - .HasName("pk_group_pairs"); - - b.HasIndex("GroupGID") - .HasDatabaseName("ix_group_pairs_group_gid"); - - b.HasIndex("GroupUserUID") - .HasDatabaseName("ix_group_pairs_group_user_uid"); - - b.ToTable("group_pairs", (string)null); - }); - - modelBuilder.Entity("MareSynchronosShared.Models.GroupPairPreferredPermission", b => - { - b.Property("UserUID") - .HasColumnType("character varying(10)") - .HasColumnName("user_uid"); - - b.Property("GroupGID") - .HasColumnType("character varying(20)") - .HasColumnName("group_gid"); - - b.Property("DisableAnimations") - .HasColumnType("boolean") - .HasColumnName("disable_animations"); - - b.Property("DisableSounds") - .HasColumnType("boolean") - .HasColumnName("disable_sounds"); - - b.Property("DisableVFX") - .HasColumnType("boolean") - .HasColumnName("disable_vfx"); - - b.Property("IsPaused") - .HasColumnType("boolean") - .HasColumnName("is_paused"); - - b.HasKey("UserUID", "GroupGID") - .HasName("pk_group_pair_preferred_permissions"); - - b.HasIndex("GroupGID") - .HasDatabaseName("ix_group_pair_preferred_permissions_group_gid"); - - b.HasIndex("UserUID") - .HasDatabaseName("ix_group_pair_preferred_permissions_user_uid"); - - b.ToTable("group_pair_preferred_permissions", (string)null); - }); - - modelBuilder.Entity("MareSynchronosShared.Models.GroupTempInvite", b => - { - b.Property("GroupGID") - .HasColumnType("character varying(20)") - .HasColumnName("group_gid"); - - b.Property("Invite") - .HasMaxLength(64) - .HasColumnType("character varying(64)") - .HasColumnName("invite"); - - b.Property("ExpirationDate") - .HasColumnType("timestamp with time zone") - .HasColumnName("expiration_date"); - - b.HasKey("GroupGID", "Invite") - .HasName("pk_group_temp_invites"); - - b.HasIndex("GroupGID") - .HasDatabaseName("ix_group_temp_invites_group_gid"); - - b.HasIndex("Invite") - .HasDatabaseName("ix_group_temp_invites_invite"); - - b.ToTable("group_temp_invites", (string)null); - }); - - modelBuilder.Entity("MareSynchronosShared.Models.LodeStoneAuth", b => - { - b.Property("DiscordId") - .ValueGeneratedOnAdd() - .HasColumnType("numeric(20,0)") - .HasColumnName("discord_id"); - - b.Property("HashedLodestoneId") - .HasMaxLength(100) - .HasColumnType("character varying(100)") - .HasColumnName("hashed_lodestone_id"); - - b.Property("LodestoneAuthString") - .HasMaxLength(100) - .HasColumnType("character varying(100)") - .HasColumnName("lodestone_auth_string"); - - b.Property("StartedAt") - .HasColumnType("timestamp with time zone") - .HasColumnName("started_at"); - - b.Property("UserUID") - .HasColumnType("character varying(10)") - .HasColumnName("user_uid"); - - b.HasKey("DiscordId") - .HasName("pk_lodestone_auth"); - - b.HasIndex("UserUID") - .HasDatabaseName("ix_lodestone_auth_user_uid"); - - b.ToTable("lodestone_auth", (string)null); - }); - - modelBuilder.Entity("MareSynchronosShared.Models.User", b => - { - b.Property("UID") - .HasMaxLength(10) - .HasColumnType("character varying(10)") - .HasColumnName("uid"); - - b.Property("Alias") - .HasMaxLength(15) - .HasColumnType("character varying(15)") - .HasColumnName("alias"); - - b.Property("IsAdmin") - .HasColumnType("boolean") - .HasColumnName("is_admin"); - - b.Property("IsModerator") - .HasColumnType("boolean") - .HasColumnName("is_moderator"); - - b.Property("LastLoggedIn") - .HasColumnType("timestamp with time zone") - .HasColumnName("last_logged_in"); - - b.Property("Timestamp") - .IsConcurrencyToken() - .ValueGeneratedOnAddOrUpdate() - .HasColumnType("bytea") - .HasColumnName("timestamp"); - - b.HasKey("UID") - .HasName("pk_users"); - - b.ToTable("users", (string)null); - }); - - modelBuilder.Entity("MareSynchronosShared.Models.UserDefaultPreferredPermission", b => - { - b.Property("UserUID") - .HasMaxLength(10) - .HasColumnType("character varying(10)") - .HasColumnName("user_uid"); - - b.Property("DisableGroupAnimations") - .HasColumnType("boolean") - .HasColumnName("disable_group_animations"); - - b.Property("DisableGroupSounds") - .HasColumnType("boolean") - .HasColumnName("disable_group_sounds"); - - b.Property("DisableGroupVFX") - .HasColumnType("boolean") - .HasColumnName("disable_group_vfx"); - - b.Property("DisableIndividualAnimations") - .HasColumnType("boolean") - .HasColumnName("disable_individual_animations"); - - b.Property("DisableIndividualSounds") - .HasColumnType("boolean") - .HasColumnName("disable_individual_sounds"); - - b.Property("DisableIndividualVFX") - .HasColumnType("boolean") - .HasColumnName("disable_individual_vfx"); - - b.Property("IndividualIsSticky") - .HasColumnType("boolean") - .HasColumnName("individual_is_sticky"); - - b.HasKey("UserUID") - .HasName("pk_user_default_preferred_permissions"); - - b.HasIndex("UserUID") - .HasDatabaseName("ix_user_default_preferred_permissions_user_uid"); - - b.ToTable("user_default_preferred_permissions", (string)null); - }); - - modelBuilder.Entity("MareSynchronosShared.Models.UserPermissionSet", b => - { - b.Property("UserUID") - .HasColumnType("character varying(10)") - .HasColumnName("user_uid"); - - b.Property("OtherUserUID") - .HasColumnType("character varying(10)") - .HasColumnName("other_user_uid"); - - b.Property("DisableAnimations") - .HasColumnType("boolean") - .HasColumnName("disable_animations"); - - b.Property("DisableSounds") - .HasColumnType("boolean") - .HasColumnName("disable_sounds"); - - b.Property("DisableVFX") - .HasColumnType("boolean") - .HasColumnName("disable_vfx"); - - b.Property("IsPaused") - .HasColumnType("boolean") - .HasColumnName("is_paused"); - - b.Property("Sticky") - .HasColumnType("boolean") - .HasColumnName("sticky"); - - b.HasKey("UserUID", "OtherUserUID") - .HasName("pk_user_permission_sets"); - - b.HasIndex("OtherUserUID") - .HasDatabaseName("ix_user_permission_sets_other_user_uid"); - - b.HasIndex("UserUID") - .HasDatabaseName("ix_user_permission_sets_user_uid"); - - b.HasIndex("UserUID", "OtherUserUID", "IsPaused") - .HasDatabaseName("ix_user_permission_sets_user_uid_other_user_uid_is_paused"); - - b.ToTable("user_permission_sets", (string)null); - }); - - modelBuilder.Entity("MareSynchronosShared.Models.UserProfileData", b => - { - b.Property("UserUID") - .HasColumnType("character varying(10)") - .HasColumnName("user_uid"); - - b.Property("Base64ProfileImage") - .HasColumnType("text") - .HasColumnName("base64profile_image"); - - b.Property("FlaggedForReport") - .HasColumnType("boolean") - .HasColumnName("flagged_for_report"); - - b.Property("IsNSFW") - .HasColumnType("boolean") - .HasColumnName("is_nsfw"); - - b.Property("ProfileDisabled") - .HasColumnType("boolean") - .HasColumnName("profile_disabled"); - - b.Property("UserDescription") - .HasColumnType("text") - .HasColumnName("user_description"); - - b.HasKey("UserUID") - .HasName("pk_user_profile_data"); - - b.ToTable("user_profile_data", (string)null); - }); - - modelBuilder.Entity("MareSynchronosShared.Models.Auth", b => - { - b.HasOne("MareSynchronosShared.Models.User", "PrimaryUser") - .WithMany() - .HasForeignKey("PrimaryUserUID") - .HasConstraintName("fk_auth_users_primary_user_uid"); - - b.HasOne("MareSynchronosShared.Models.User", "User") - .WithMany() - .HasForeignKey("UserUID") - .HasConstraintName("fk_auth_users_user_uid"); - - b.Navigation("PrimaryUser"); - - b.Navigation("User"); - }); - - modelBuilder.Entity("MareSynchronosShared.Models.CharaData", b => - { - b.HasOne("MareSynchronosShared.Models.User", "Uploader") - .WithMany() - .HasForeignKey("UploaderUID") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("fk_chara_data_users_uploader_uid"); - - b.Navigation("Uploader"); - }); - - modelBuilder.Entity("MareSynchronosShared.Models.CharaDataAllowance", b => - { - b.HasOne("MareSynchronosShared.Models.User", "AllowedUser") - .WithMany() - .HasForeignKey("AllowedUserUID") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("fk_chara_data_allowance_users_allowed_user_uid"); - - b.HasOne("MareSynchronosShared.Models.CharaData", "Parent") - .WithMany("AllowedIndividiuals") - .HasForeignKey("ParentId", "ParentUploaderUID") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("fk_chara_data_allowance_chara_data_parent_id_parent_uploader_u"); - - b.Navigation("AllowedUser"); - - b.Navigation("Parent"); - }); - - modelBuilder.Entity("MareSynchronosShared.Models.CharaDataFile", b => - { - b.HasOne("MareSynchronosShared.Models.FileCache", "FileCache") - .WithMany() - .HasForeignKey("FileCacheHash") - .OnDelete(DeleteBehavior.Cascade) - .HasConstraintName("fk_chara_data_files_files_file_cache_hash"); - - b.HasOne("MareSynchronosShared.Models.CharaData", "Parent") - .WithMany("Files") - .HasForeignKey("ParentId", "ParentUploaderUID") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("fk_chara_data_files_chara_data_parent_id_parent_uploader_uid"); - - b.Navigation("FileCache"); - - b.Navigation("Parent"); - }); - - modelBuilder.Entity("MareSynchronosShared.Models.CharaDataFileSwap", b => - { - b.HasOne("MareSynchronosShared.Models.CharaData", "Parent") - .WithMany("FileSwaps") - .HasForeignKey("ParentId", "ParentUploaderUID") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("fk_chara_data_file_swaps_chara_data_parent_id_parent_uploader_"); - - b.Navigation("Parent"); - }); - - modelBuilder.Entity("MareSynchronosShared.Models.CharaDataOriginalFile", b => - { - b.HasOne("MareSynchronosShared.Models.CharaData", "Parent") - .WithMany("OriginalFiles") - .HasForeignKey("ParentId", "ParentUploaderUID") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("fk_chara_data_orig_files_chara_data_parent_id_parent_uploader_"); - - b.Navigation("Parent"); - }); - - modelBuilder.Entity("MareSynchronosShared.Models.CharaDataPose", b => - { - b.HasOne("MareSynchronosShared.Models.CharaData", "Parent") - .WithMany("Poses") - .HasForeignKey("ParentId", "ParentUploaderUID") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("fk_chara_data_poses_chara_data_parent_id_parent_uploader_uid"); - - b.Navigation("Parent"); - }); - - modelBuilder.Entity("MareSynchronosShared.Models.ClientPair", b => - { - b.HasOne("MareSynchronosShared.Models.User", "OtherUser") - .WithMany() - .HasForeignKey("OtherUserUID") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("fk_client_pairs_users_other_user_uid"); - - b.HasOne("MareSynchronosShared.Models.User", "User") - .WithMany() - .HasForeignKey("UserUID") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("fk_client_pairs_users_user_uid"); - - b.Navigation("OtherUser"); - - b.Navigation("User"); - }); - - modelBuilder.Entity("MareSynchronosShared.Models.FileCache", b => - { - b.HasOne("MareSynchronosShared.Models.User", "Uploader") - .WithMany() - .HasForeignKey("UploaderUID") - .HasConstraintName("fk_file_caches_users_uploader_uid"); - - b.Navigation("Uploader"); - }); - - modelBuilder.Entity("MareSynchronosShared.Models.Group", b => - { - b.HasOne("MareSynchronosShared.Models.User", "Owner") - .WithMany() - .HasForeignKey("OwnerUID") - .HasConstraintName("fk_groups_users_owner_uid"); - - b.Navigation("Owner"); - }); - - modelBuilder.Entity("MareSynchronosShared.Models.GroupBan", b => - { - b.HasOne("MareSynchronosShared.Models.User", "BannedBy") - .WithMany() - .HasForeignKey("BannedByUID") - .HasConstraintName("fk_group_bans_users_banned_by_uid"); - - b.HasOne("MareSynchronosShared.Models.User", "BannedUser") - .WithMany() - .HasForeignKey("BannedUserUID") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("fk_group_bans_users_banned_user_uid"); - - b.HasOne("MareSynchronosShared.Models.Group", "Group") - .WithMany() - .HasForeignKey("GroupGID") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("fk_group_bans_groups_group_gid"); - - b.Navigation("BannedBy"); - - b.Navigation("BannedUser"); - - b.Navigation("Group"); - }); - - modelBuilder.Entity("MareSynchronosShared.Models.GroupPair", b => - { - b.HasOne("MareSynchronosShared.Models.Group", "Group") - .WithMany() - .HasForeignKey("GroupGID") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("fk_group_pairs_groups_group_gid"); - - b.HasOne("MareSynchronosShared.Models.User", "GroupUser") - .WithMany() - .HasForeignKey("GroupUserUID") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("fk_group_pairs_users_group_user_uid"); - - b.Navigation("Group"); - - b.Navigation("GroupUser"); - }); - - modelBuilder.Entity("MareSynchronosShared.Models.GroupPairPreferredPermission", b => - { - b.HasOne("MareSynchronosShared.Models.Group", "Group") - .WithMany() - .HasForeignKey("GroupGID") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("fk_group_pair_preferred_permissions_groups_group_gid"); - - b.HasOne("MareSynchronosShared.Models.User", "User") - .WithMany() - .HasForeignKey("UserUID") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("fk_group_pair_preferred_permissions_users_user_uid"); - - b.Navigation("Group"); - - b.Navigation("User"); - }); - - modelBuilder.Entity("MareSynchronosShared.Models.GroupTempInvite", b => - { - b.HasOne("MareSynchronosShared.Models.Group", "Group") - .WithMany() - .HasForeignKey("GroupGID") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("fk_group_temp_invites_groups_group_gid"); - - b.Navigation("Group"); - }); - - modelBuilder.Entity("MareSynchronosShared.Models.LodeStoneAuth", b => - { - b.HasOne("MareSynchronosShared.Models.User", "User") - .WithMany() - .HasForeignKey("UserUID") - .HasConstraintName("fk_lodestone_auth_users_user_uid"); - - b.Navigation("User"); - }); - - modelBuilder.Entity("MareSynchronosShared.Models.UserDefaultPreferredPermission", b => - { - b.HasOne("MareSynchronosShared.Models.User", "User") - .WithMany() - .HasForeignKey("UserUID") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("fk_user_default_preferred_permissions_users_user_uid"); - - b.Navigation("User"); - }); - - modelBuilder.Entity("MareSynchronosShared.Models.UserPermissionSet", b => - { - b.HasOne("MareSynchronosShared.Models.User", "OtherUser") - .WithMany() - .HasForeignKey("OtherUserUID") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("fk_user_permission_sets_users_other_user_uid"); - - b.HasOne("MareSynchronosShared.Models.User", "User") - .WithMany() - .HasForeignKey("UserUID") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("fk_user_permission_sets_users_user_uid"); - - b.Navigation("OtherUser"); - - b.Navigation("User"); - }); - - modelBuilder.Entity("MareSynchronosShared.Models.UserProfileData", b => - { - b.HasOne("MareSynchronosShared.Models.User", "User") - .WithMany() - .HasForeignKey("UserUID") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("fk_user_profile_data_users_user_uid"); - - b.Navigation("User"); - }); - - modelBuilder.Entity("MareSynchronosShared.Models.CharaData", b => - { - b.Navigation("AllowedIndividiuals"); - - b.Navigation("FileSwaps"); - - b.Navigation("Files"); - - b.Navigation("OriginalFiles"); - - b.Navigation("Poses"); - }); -#pragma warning restore 612, 618 - } - } -} diff --git a/MareSynchronosServer/MareSynchronosShared/Migrations/20241227130901_CascadeFile.cs b/MareSynchronosServer/MareSynchronosShared/Migrations/20241227130901_CascadeFile.cs deleted file mode 100644 index 8ba0c31..0000000 --- a/MareSynchronosServer/MareSynchronosShared/Migrations/20241227130901_CascadeFile.cs +++ /dev/null @@ -1,41 +0,0 @@ -using Microsoft.EntityFrameworkCore.Migrations; - -#nullable disable - -namespace MareSynchronosServer.Migrations -{ - /// - public partial class CascadeFile : Migration - { - /// - protected override void Up(MigrationBuilder migrationBuilder) - { - migrationBuilder.DropForeignKey( - name: "fk_chara_data_files_files_file_cache_hash", - table: "chara_data_files"); - - migrationBuilder.AddForeignKey( - name: "fk_chara_data_files_files_file_cache_hash", - table: "chara_data_files", - column: "file_cache_hash", - principalTable: "file_caches", - principalColumn: "hash", - onDelete: ReferentialAction.Cascade); - } - - /// - protected override void Down(MigrationBuilder migrationBuilder) - { - migrationBuilder.DropForeignKey( - name: "fk_chara_data_files_files_file_cache_hash", - table: "chara_data_files"); - - migrationBuilder.AddForeignKey( - name: "fk_chara_data_files_files_file_cache_hash", - table: "chara_data_files", - column: "file_cache_hash", - principalTable: "file_caches", - principalColumn: "hash"); - } - } -} diff --git a/MareSynchronosServer/MareSynchronosShared/Migrations/20241227190944_OrigFileGamePath.Designer.cs b/MareSynchronosServer/MareSynchronosShared/Migrations/20241227190944_OrigFileGamePath.Designer.cs deleted file mode 100644 index 288ace1..0000000 --- a/MareSynchronosServer/MareSynchronosShared/Migrations/20241227190944_OrigFileGamePath.Designer.cs +++ /dev/null @@ -1,1069 +0,0 @@ -// -using System; -using MareSynchronosShared.Data; -using Microsoft.EntityFrameworkCore; -using Microsoft.EntityFrameworkCore.Infrastructure; -using Microsoft.EntityFrameworkCore.Migrations; -using Microsoft.EntityFrameworkCore.Storage.ValueConversion; -using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata; - -#nullable disable - -namespace MareSynchronosServer.Migrations -{ - [DbContext(typeof(MareDbContext))] - [Migration("20241227190944_OrigFileGamePath")] - partial class OrigFileGamePath - { - /// - protected override void BuildTargetModel(ModelBuilder modelBuilder) - { -#pragma warning disable 612, 618 - modelBuilder - .HasAnnotation("ProductVersion", "8.0.10") - .HasAnnotation("Relational:MaxIdentifierLength", 63); - - NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder); - - modelBuilder.Entity("MareSynchronosShared.Models.Auth", b => - { - b.Property("HashedKey") - .HasMaxLength(64) - .HasColumnType("character varying(64)") - .HasColumnName("hashed_key"); - - b.Property("IsBanned") - .HasColumnType("boolean") - .HasColumnName("is_banned"); - - b.Property("MarkForBan") - .HasColumnType("boolean") - .HasColumnName("mark_for_ban"); - - b.Property("PrimaryUserUID") - .HasColumnType("character varying(10)") - .HasColumnName("primary_user_uid"); - - b.Property("UserUID") - .HasColumnType("character varying(10)") - .HasColumnName("user_uid"); - - b.HasKey("HashedKey") - .HasName("pk_auth"); - - b.HasIndex("PrimaryUserUID") - .HasDatabaseName("ix_auth_primary_user_uid"); - - b.HasIndex("UserUID") - .HasDatabaseName("ix_auth_user_uid"); - - b.ToTable("auth", (string)null); - }); - - modelBuilder.Entity("MareSynchronosShared.Models.Banned", b => - { - b.Property("CharacterIdentification") - .HasMaxLength(100) - .HasColumnType("character varying(100)") - .HasColumnName("character_identification"); - - b.Property("Reason") - .HasColumnType("text") - .HasColumnName("reason"); - - b.Property("Timestamp") - .IsConcurrencyToken() - .ValueGeneratedOnAddOrUpdate() - .HasColumnType("bytea") - .HasColumnName("timestamp"); - - b.HasKey("CharacterIdentification") - .HasName("pk_banned_users"); - - b.ToTable("banned_users", (string)null); - }); - - modelBuilder.Entity("MareSynchronosShared.Models.BannedRegistrations", b => - { - b.Property("DiscordIdOrLodestoneAuth") - .HasMaxLength(100) - .HasColumnType("character varying(100)") - .HasColumnName("discord_id_or_lodestone_auth"); - - b.HasKey("DiscordIdOrLodestoneAuth") - .HasName("pk_banned_registrations"); - - b.ToTable("banned_registrations", (string)null); - }); - - modelBuilder.Entity("MareSynchronosShared.Models.CharaData", b => - { - b.Property("Id") - .HasColumnType("text") - .HasColumnName("id"); - - b.Property("UploaderUID") - .HasColumnType("character varying(10)") - .HasColumnName("uploader_uid"); - - b.Property("AccessType") - .HasColumnType("integer") - .HasColumnName("access_type"); - - b.Property("CreatedDate") - .HasColumnType("timestamp with time zone") - .HasColumnName("created_date"); - - b.Property("CustomizeData") - .HasColumnType("text") - .HasColumnName("customize_data"); - - b.Property("Description") - .HasColumnType("text") - .HasColumnName("description"); - - b.Property("DownloadCount") - .HasColumnType("integer") - .HasColumnName("download_count"); - - b.Property("ExpiryDate") - .HasColumnType("timestamp with time zone") - .HasColumnName("expiry_date"); - - b.Property("GlamourerData") - .HasColumnType("text") - .HasColumnName("glamourer_data"); - - b.Property("ShareType") - .HasColumnType("integer") - .HasColumnName("share_type"); - - b.Property("UpdatedDate") - .HasColumnType("timestamp with time zone") - .HasColumnName("updated_date"); - - b.HasKey("Id", "UploaderUID") - .HasName("pk_chara_data"); - - b.HasIndex("Id") - .HasDatabaseName("ix_chara_data_id"); - - b.HasIndex("UploaderUID") - .HasDatabaseName("ix_chara_data_uploader_uid"); - - b.ToTable("chara_data", (string)null); - }); - - modelBuilder.Entity("MareSynchronosShared.Models.CharaDataAllowance", b => - { - b.Property("ParentId") - .HasColumnType("text") - .HasColumnName("parent_id"); - - b.Property("ParentUploaderUID") - .HasColumnType("character varying(10)") - .HasColumnName("parent_uploader_uid"); - - b.Property("AllowedUserUID") - .HasColumnType("character varying(10)") - .HasColumnName("allowed_user_uid"); - - b.HasKey("ParentId", "ParentUploaderUID", "AllowedUserUID") - .HasName("pk_chara_data_allowance"); - - b.HasIndex("AllowedUserUID") - .HasDatabaseName("ix_chara_data_allowance_allowed_user_uid"); - - b.HasIndex("ParentId") - .HasDatabaseName("ix_chara_data_allowance_parent_id"); - - b.ToTable("chara_data_allowance", (string)null); - }); - - modelBuilder.Entity("MareSynchronosShared.Models.CharaDataFile", b => - { - b.Property("ParentId") - .HasColumnType("text") - .HasColumnName("parent_id"); - - b.Property("ParentUploaderUID") - .HasColumnType("character varying(10)") - .HasColumnName("parent_uploader_uid"); - - b.Property("GamePath") - .HasColumnType("text") - .HasColumnName("game_path"); - - b.Property("FileCacheHash") - .HasColumnType("character varying(40)") - .HasColumnName("file_cache_hash"); - - b.HasKey("ParentId", "ParentUploaderUID", "GamePath") - .HasName("pk_chara_data_files"); - - b.HasIndex("FileCacheHash") - .HasDatabaseName("ix_chara_data_files_file_cache_hash"); - - b.HasIndex("ParentId") - .HasDatabaseName("ix_chara_data_files_parent_id"); - - b.ToTable("chara_data_files", (string)null); - }); - - modelBuilder.Entity("MareSynchronosShared.Models.CharaDataFileSwap", b => - { - b.Property("ParentId") - .HasColumnType("text") - .HasColumnName("parent_id"); - - b.Property("ParentUploaderUID") - .HasColumnType("character varying(10)") - .HasColumnName("parent_uploader_uid"); - - b.Property("GamePath") - .HasColumnType("text") - .HasColumnName("game_path"); - - b.Property("FilePath") - .HasColumnType("text") - .HasColumnName("file_path"); - - b.HasKey("ParentId", "ParentUploaderUID", "GamePath") - .HasName("pk_chara_data_file_swaps"); - - b.HasIndex("ParentId") - .HasDatabaseName("ix_chara_data_file_swaps_parent_id"); - - b.ToTable("chara_data_file_swaps", (string)null); - }); - - modelBuilder.Entity("MareSynchronosShared.Models.CharaDataOriginalFile", b => - { - b.Property("ParentId") - .HasColumnType("text") - .HasColumnName("parent_id"); - - b.Property("ParentUploaderUID") - .HasColumnType("character varying(10)") - .HasColumnName("parent_uploader_uid"); - - b.Property("GamePath") - .HasColumnType("text") - .HasColumnName("game_path"); - - b.Property("Hash") - .HasColumnType("text") - .HasColumnName("hash"); - - b.HasKey("ParentId", "ParentUploaderUID", "GamePath") - .HasName("pk_chara_data_orig_files"); - - b.HasIndex("ParentId") - .HasDatabaseName("ix_chara_data_orig_files_parent_id"); - - b.ToTable("chara_data_orig_files", (string)null); - }); - - modelBuilder.Entity("MareSynchronosShared.Models.CharaDataPose", b => - { - b.Property("ParentId") - .HasColumnType("text") - .HasColumnName("parent_id"); - - b.Property("ParentUploaderUID") - .HasColumnType("character varying(10)") - .HasColumnName("parent_uploader_uid"); - - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("bigint") - .HasColumnName("id"); - - NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); - - b.Property("Description") - .HasColumnType("text") - .HasColumnName("description"); - - b.Property("PoseData") - .HasColumnType("text") - .HasColumnName("pose_data"); - - b.Property("WorldData") - .HasColumnType("text") - .HasColumnName("world_data"); - - b.HasKey("ParentId", "ParentUploaderUID", "Id") - .HasName("pk_chara_data_poses"); - - b.HasIndex("ParentId") - .HasDatabaseName("ix_chara_data_poses_parent_id"); - - b.ToTable("chara_data_poses", (string)null); - }); - - modelBuilder.Entity("MareSynchronosShared.Models.ClientPair", b => - { - b.Property("UserUID") - .HasMaxLength(10) - .HasColumnType("character varying(10)") - .HasColumnName("user_uid"); - - b.Property("OtherUserUID") - .HasMaxLength(10) - .HasColumnType("character varying(10)") - .HasColumnName("other_user_uid"); - - b.Property("Timestamp") - .IsConcurrencyToken() - .ValueGeneratedOnAddOrUpdate() - .HasColumnType("bytea") - .HasColumnName("timestamp"); - - b.HasKey("UserUID", "OtherUserUID") - .HasName("pk_client_pairs"); - - b.HasIndex("OtherUserUID") - .HasDatabaseName("ix_client_pairs_other_user_uid"); - - b.HasIndex("UserUID") - .HasDatabaseName("ix_client_pairs_user_uid"); - - b.ToTable("client_pairs", (string)null); - }); - - modelBuilder.Entity("MareSynchronosShared.Models.FileCache", b => - { - b.Property("Hash") - .HasMaxLength(40) - .HasColumnType("character varying(40)") - .HasColumnName("hash"); - - b.Property("RawSize") - .HasColumnType("bigint") - .HasColumnName("raw_size"); - - b.Property("Size") - .HasColumnType("bigint") - .HasColumnName("size"); - - b.Property("Timestamp") - .IsConcurrencyToken() - .ValueGeneratedOnAddOrUpdate() - .HasColumnType("bytea") - .HasColumnName("timestamp"); - - b.Property("UploadDate") - .HasColumnType("timestamp with time zone") - .HasColumnName("upload_date"); - - b.Property("Uploaded") - .HasColumnType("boolean") - .HasColumnName("uploaded"); - - b.Property("UploaderUID") - .HasMaxLength(10) - .HasColumnType("character varying(10)") - .HasColumnName("uploader_uid"); - - b.HasKey("Hash") - .HasName("pk_file_caches"); - - b.HasIndex("UploaderUID") - .HasDatabaseName("ix_file_caches_uploader_uid"); - - b.ToTable("file_caches", (string)null); - }); - - modelBuilder.Entity("MareSynchronosShared.Models.ForbiddenUploadEntry", b => - { - b.Property("Hash") - .HasMaxLength(40) - .HasColumnType("character varying(40)") - .HasColumnName("hash"); - - b.Property("ForbiddenBy") - .HasMaxLength(100) - .HasColumnType("character varying(100)") - .HasColumnName("forbidden_by"); - - b.Property("Timestamp") - .IsConcurrencyToken() - .ValueGeneratedOnAddOrUpdate() - .HasColumnType("bytea") - .HasColumnName("timestamp"); - - b.HasKey("Hash") - .HasName("pk_forbidden_upload_entries"); - - b.ToTable("forbidden_upload_entries", (string)null); - }); - - modelBuilder.Entity("MareSynchronosShared.Models.Group", b => - { - b.Property("GID") - .HasMaxLength(20) - .HasColumnType("character varying(20)") - .HasColumnName("gid"); - - b.Property("Alias") - .HasMaxLength(50) - .HasColumnType("character varying(50)") - .HasColumnName("alias"); - - b.Property("HashedPassword") - .HasColumnType("text") - .HasColumnName("hashed_password"); - - b.Property("InvitesEnabled") - .HasColumnType("boolean") - .HasColumnName("invites_enabled"); - - b.Property("OwnerUID") - .HasColumnType("character varying(10)") - .HasColumnName("owner_uid"); - - b.Property("PreferDisableAnimations") - .HasColumnType("boolean") - .HasColumnName("prefer_disable_animations"); - - b.Property("PreferDisableSounds") - .HasColumnType("boolean") - .HasColumnName("prefer_disable_sounds"); - - b.Property("PreferDisableVFX") - .HasColumnType("boolean") - .HasColumnName("prefer_disable_vfx"); - - b.HasKey("GID") - .HasName("pk_groups"); - - b.HasIndex("OwnerUID") - .HasDatabaseName("ix_groups_owner_uid"); - - b.ToTable("groups", (string)null); - }); - - modelBuilder.Entity("MareSynchronosShared.Models.GroupBan", b => - { - b.Property("GroupGID") - .HasColumnType("character varying(20)") - .HasColumnName("group_gid"); - - b.Property("BannedUserUID") - .HasColumnType("character varying(10)") - .HasColumnName("banned_user_uid"); - - b.Property("BannedByUID") - .HasColumnType("character varying(10)") - .HasColumnName("banned_by_uid"); - - b.Property("BannedOn") - .HasColumnType("timestamp with time zone") - .HasColumnName("banned_on"); - - b.Property("BannedReason") - .HasColumnType("text") - .HasColumnName("banned_reason"); - - b.HasKey("GroupGID", "BannedUserUID") - .HasName("pk_group_bans"); - - b.HasIndex("BannedByUID") - .HasDatabaseName("ix_group_bans_banned_by_uid"); - - b.HasIndex("BannedUserUID") - .HasDatabaseName("ix_group_bans_banned_user_uid"); - - b.HasIndex("GroupGID") - .HasDatabaseName("ix_group_bans_group_gid"); - - b.ToTable("group_bans", (string)null); - }); - - modelBuilder.Entity("MareSynchronosShared.Models.GroupPair", b => - { - b.Property("GroupGID") - .HasColumnType("character varying(20)") - .HasColumnName("group_gid"); - - b.Property("GroupUserUID") - .HasColumnType("character varying(10)") - .HasColumnName("group_user_uid"); - - b.Property("IsModerator") - .HasColumnType("boolean") - .HasColumnName("is_moderator"); - - b.Property("IsPinned") - .HasColumnType("boolean") - .HasColumnName("is_pinned"); - - b.HasKey("GroupGID", "GroupUserUID") - .HasName("pk_group_pairs"); - - b.HasIndex("GroupGID") - .HasDatabaseName("ix_group_pairs_group_gid"); - - b.HasIndex("GroupUserUID") - .HasDatabaseName("ix_group_pairs_group_user_uid"); - - b.ToTable("group_pairs", (string)null); - }); - - modelBuilder.Entity("MareSynchronosShared.Models.GroupPairPreferredPermission", b => - { - b.Property("UserUID") - .HasColumnType("character varying(10)") - .HasColumnName("user_uid"); - - b.Property("GroupGID") - .HasColumnType("character varying(20)") - .HasColumnName("group_gid"); - - b.Property("DisableAnimations") - .HasColumnType("boolean") - .HasColumnName("disable_animations"); - - b.Property("DisableSounds") - .HasColumnType("boolean") - .HasColumnName("disable_sounds"); - - b.Property("DisableVFX") - .HasColumnType("boolean") - .HasColumnName("disable_vfx"); - - b.Property("IsPaused") - .HasColumnType("boolean") - .HasColumnName("is_paused"); - - b.HasKey("UserUID", "GroupGID") - .HasName("pk_group_pair_preferred_permissions"); - - b.HasIndex("GroupGID") - .HasDatabaseName("ix_group_pair_preferred_permissions_group_gid"); - - b.HasIndex("UserUID") - .HasDatabaseName("ix_group_pair_preferred_permissions_user_uid"); - - b.ToTable("group_pair_preferred_permissions", (string)null); - }); - - modelBuilder.Entity("MareSynchronosShared.Models.GroupTempInvite", b => - { - b.Property("GroupGID") - .HasColumnType("character varying(20)") - .HasColumnName("group_gid"); - - b.Property("Invite") - .HasMaxLength(64) - .HasColumnType("character varying(64)") - .HasColumnName("invite"); - - b.Property("ExpirationDate") - .HasColumnType("timestamp with time zone") - .HasColumnName("expiration_date"); - - b.HasKey("GroupGID", "Invite") - .HasName("pk_group_temp_invites"); - - b.HasIndex("GroupGID") - .HasDatabaseName("ix_group_temp_invites_group_gid"); - - b.HasIndex("Invite") - .HasDatabaseName("ix_group_temp_invites_invite"); - - b.ToTable("group_temp_invites", (string)null); - }); - - modelBuilder.Entity("MareSynchronosShared.Models.LodeStoneAuth", b => - { - b.Property("DiscordId") - .ValueGeneratedOnAdd() - .HasColumnType("numeric(20,0)") - .HasColumnName("discord_id"); - - b.Property("HashedLodestoneId") - .HasMaxLength(100) - .HasColumnType("character varying(100)") - .HasColumnName("hashed_lodestone_id"); - - b.Property("LodestoneAuthString") - .HasMaxLength(100) - .HasColumnType("character varying(100)") - .HasColumnName("lodestone_auth_string"); - - b.Property("StartedAt") - .HasColumnType("timestamp with time zone") - .HasColumnName("started_at"); - - b.Property("UserUID") - .HasColumnType("character varying(10)") - .HasColumnName("user_uid"); - - b.HasKey("DiscordId") - .HasName("pk_lodestone_auth"); - - b.HasIndex("UserUID") - .HasDatabaseName("ix_lodestone_auth_user_uid"); - - b.ToTable("lodestone_auth", (string)null); - }); - - modelBuilder.Entity("MareSynchronosShared.Models.User", b => - { - b.Property("UID") - .HasMaxLength(10) - .HasColumnType("character varying(10)") - .HasColumnName("uid"); - - b.Property("Alias") - .HasMaxLength(15) - .HasColumnType("character varying(15)") - .HasColumnName("alias"); - - b.Property("IsAdmin") - .HasColumnType("boolean") - .HasColumnName("is_admin"); - - b.Property("IsModerator") - .HasColumnType("boolean") - .HasColumnName("is_moderator"); - - b.Property("LastLoggedIn") - .HasColumnType("timestamp with time zone") - .HasColumnName("last_logged_in"); - - b.Property("Timestamp") - .IsConcurrencyToken() - .ValueGeneratedOnAddOrUpdate() - .HasColumnType("bytea") - .HasColumnName("timestamp"); - - b.HasKey("UID") - .HasName("pk_users"); - - b.ToTable("users", (string)null); - }); - - modelBuilder.Entity("MareSynchronosShared.Models.UserDefaultPreferredPermission", b => - { - b.Property("UserUID") - .HasMaxLength(10) - .HasColumnType("character varying(10)") - .HasColumnName("user_uid"); - - b.Property("DisableGroupAnimations") - .HasColumnType("boolean") - .HasColumnName("disable_group_animations"); - - b.Property("DisableGroupSounds") - .HasColumnType("boolean") - .HasColumnName("disable_group_sounds"); - - b.Property("DisableGroupVFX") - .HasColumnType("boolean") - .HasColumnName("disable_group_vfx"); - - b.Property("DisableIndividualAnimations") - .HasColumnType("boolean") - .HasColumnName("disable_individual_animations"); - - b.Property("DisableIndividualSounds") - .HasColumnType("boolean") - .HasColumnName("disable_individual_sounds"); - - b.Property("DisableIndividualVFX") - .HasColumnType("boolean") - .HasColumnName("disable_individual_vfx"); - - b.Property("IndividualIsSticky") - .HasColumnType("boolean") - .HasColumnName("individual_is_sticky"); - - b.HasKey("UserUID") - .HasName("pk_user_default_preferred_permissions"); - - b.HasIndex("UserUID") - .HasDatabaseName("ix_user_default_preferred_permissions_user_uid"); - - b.ToTable("user_default_preferred_permissions", (string)null); - }); - - modelBuilder.Entity("MareSynchronosShared.Models.UserPermissionSet", b => - { - b.Property("UserUID") - .HasColumnType("character varying(10)") - .HasColumnName("user_uid"); - - b.Property("OtherUserUID") - .HasColumnType("character varying(10)") - .HasColumnName("other_user_uid"); - - b.Property("DisableAnimations") - .HasColumnType("boolean") - .HasColumnName("disable_animations"); - - b.Property("DisableSounds") - .HasColumnType("boolean") - .HasColumnName("disable_sounds"); - - b.Property("DisableVFX") - .HasColumnType("boolean") - .HasColumnName("disable_vfx"); - - b.Property("IsPaused") - .HasColumnType("boolean") - .HasColumnName("is_paused"); - - b.Property("Sticky") - .HasColumnType("boolean") - .HasColumnName("sticky"); - - b.HasKey("UserUID", "OtherUserUID") - .HasName("pk_user_permission_sets"); - - b.HasIndex("OtherUserUID") - .HasDatabaseName("ix_user_permission_sets_other_user_uid"); - - b.HasIndex("UserUID") - .HasDatabaseName("ix_user_permission_sets_user_uid"); - - b.HasIndex("UserUID", "OtherUserUID", "IsPaused") - .HasDatabaseName("ix_user_permission_sets_user_uid_other_user_uid_is_paused"); - - b.ToTable("user_permission_sets", (string)null); - }); - - modelBuilder.Entity("MareSynchronosShared.Models.UserProfileData", b => - { - b.Property("UserUID") - .HasColumnType("character varying(10)") - .HasColumnName("user_uid"); - - b.Property("Base64ProfileImage") - .HasColumnType("text") - .HasColumnName("base64profile_image"); - - b.Property("FlaggedForReport") - .HasColumnType("boolean") - .HasColumnName("flagged_for_report"); - - b.Property("IsNSFW") - .HasColumnType("boolean") - .HasColumnName("is_nsfw"); - - b.Property("ProfileDisabled") - .HasColumnType("boolean") - .HasColumnName("profile_disabled"); - - b.Property("UserDescription") - .HasColumnType("text") - .HasColumnName("user_description"); - - b.HasKey("UserUID") - .HasName("pk_user_profile_data"); - - b.ToTable("user_profile_data", (string)null); - }); - - modelBuilder.Entity("MareSynchronosShared.Models.Auth", b => - { - b.HasOne("MareSynchronosShared.Models.User", "PrimaryUser") - .WithMany() - .HasForeignKey("PrimaryUserUID") - .HasConstraintName("fk_auth_users_primary_user_uid"); - - b.HasOne("MareSynchronosShared.Models.User", "User") - .WithMany() - .HasForeignKey("UserUID") - .HasConstraintName("fk_auth_users_user_uid"); - - b.Navigation("PrimaryUser"); - - b.Navigation("User"); - }); - - modelBuilder.Entity("MareSynchronosShared.Models.CharaData", b => - { - b.HasOne("MareSynchronosShared.Models.User", "Uploader") - .WithMany() - .HasForeignKey("UploaderUID") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("fk_chara_data_users_uploader_uid"); - - b.Navigation("Uploader"); - }); - - modelBuilder.Entity("MareSynchronosShared.Models.CharaDataAllowance", b => - { - b.HasOne("MareSynchronosShared.Models.User", "AllowedUser") - .WithMany() - .HasForeignKey("AllowedUserUID") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("fk_chara_data_allowance_users_allowed_user_uid"); - - b.HasOne("MareSynchronosShared.Models.CharaData", "Parent") - .WithMany("AllowedIndividiuals") - .HasForeignKey("ParentId", "ParentUploaderUID") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("fk_chara_data_allowance_chara_data_parent_id_parent_uploader_u"); - - b.Navigation("AllowedUser"); - - b.Navigation("Parent"); - }); - - modelBuilder.Entity("MareSynchronosShared.Models.CharaDataFile", b => - { - b.HasOne("MareSynchronosShared.Models.FileCache", "FileCache") - .WithMany() - .HasForeignKey("FileCacheHash") - .OnDelete(DeleteBehavior.Cascade) - .HasConstraintName("fk_chara_data_files_files_file_cache_hash"); - - b.HasOne("MareSynchronosShared.Models.CharaData", "Parent") - .WithMany("Files") - .HasForeignKey("ParentId", "ParentUploaderUID") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("fk_chara_data_files_chara_data_parent_id_parent_uploader_uid"); - - b.Navigation("FileCache"); - - b.Navigation("Parent"); - }); - - modelBuilder.Entity("MareSynchronosShared.Models.CharaDataFileSwap", b => - { - b.HasOne("MareSynchronosShared.Models.CharaData", "Parent") - .WithMany("FileSwaps") - .HasForeignKey("ParentId", "ParentUploaderUID") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("fk_chara_data_file_swaps_chara_data_parent_id_parent_uploader_"); - - b.Navigation("Parent"); - }); - - modelBuilder.Entity("MareSynchronosShared.Models.CharaDataOriginalFile", b => - { - b.HasOne("MareSynchronosShared.Models.CharaData", "Parent") - .WithMany("OriginalFiles") - .HasForeignKey("ParentId", "ParentUploaderUID") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("fk_chara_data_orig_files_chara_data_parent_id_parent_uploader_"); - - b.Navigation("Parent"); - }); - - modelBuilder.Entity("MareSynchronosShared.Models.CharaDataPose", b => - { - b.HasOne("MareSynchronosShared.Models.CharaData", "Parent") - .WithMany("Poses") - .HasForeignKey("ParentId", "ParentUploaderUID") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("fk_chara_data_poses_chara_data_parent_id_parent_uploader_uid"); - - b.Navigation("Parent"); - }); - - modelBuilder.Entity("MareSynchronosShared.Models.ClientPair", b => - { - b.HasOne("MareSynchronosShared.Models.User", "OtherUser") - .WithMany() - .HasForeignKey("OtherUserUID") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("fk_client_pairs_users_other_user_uid"); - - b.HasOne("MareSynchronosShared.Models.User", "User") - .WithMany() - .HasForeignKey("UserUID") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("fk_client_pairs_users_user_uid"); - - b.Navigation("OtherUser"); - - b.Navigation("User"); - }); - - modelBuilder.Entity("MareSynchronosShared.Models.FileCache", b => - { - b.HasOne("MareSynchronosShared.Models.User", "Uploader") - .WithMany() - .HasForeignKey("UploaderUID") - .HasConstraintName("fk_file_caches_users_uploader_uid"); - - b.Navigation("Uploader"); - }); - - modelBuilder.Entity("MareSynchronosShared.Models.Group", b => - { - b.HasOne("MareSynchronosShared.Models.User", "Owner") - .WithMany() - .HasForeignKey("OwnerUID") - .HasConstraintName("fk_groups_users_owner_uid"); - - b.Navigation("Owner"); - }); - - modelBuilder.Entity("MareSynchronosShared.Models.GroupBan", b => - { - b.HasOne("MareSynchronosShared.Models.User", "BannedBy") - .WithMany() - .HasForeignKey("BannedByUID") - .HasConstraintName("fk_group_bans_users_banned_by_uid"); - - b.HasOne("MareSynchronosShared.Models.User", "BannedUser") - .WithMany() - .HasForeignKey("BannedUserUID") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("fk_group_bans_users_banned_user_uid"); - - b.HasOne("MareSynchronosShared.Models.Group", "Group") - .WithMany() - .HasForeignKey("GroupGID") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("fk_group_bans_groups_group_gid"); - - b.Navigation("BannedBy"); - - b.Navigation("BannedUser"); - - b.Navigation("Group"); - }); - - modelBuilder.Entity("MareSynchronosShared.Models.GroupPair", b => - { - b.HasOne("MareSynchronosShared.Models.Group", "Group") - .WithMany() - .HasForeignKey("GroupGID") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("fk_group_pairs_groups_group_gid"); - - b.HasOne("MareSynchronosShared.Models.User", "GroupUser") - .WithMany() - .HasForeignKey("GroupUserUID") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("fk_group_pairs_users_group_user_uid"); - - b.Navigation("Group"); - - b.Navigation("GroupUser"); - }); - - modelBuilder.Entity("MareSynchronosShared.Models.GroupPairPreferredPermission", b => - { - b.HasOne("MareSynchronosShared.Models.Group", "Group") - .WithMany() - .HasForeignKey("GroupGID") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("fk_group_pair_preferred_permissions_groups_group_gid"); - - b.HasOne("MareSynchronosShared.Models.User", "User") - .WithMany() - .HasForeignKey("UserUID") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("fk_group_pair_preferred_permissions_users_user_uid"); - - b.Navigation("Group"); - - b.Navigation("User"); - }); - - modelBuilder.Entity("MareSynchronosShared.Models.GroupTempInvite", b => - { - b.HasOne("MareSynchronosShared.Models.Group", "Group") - .WithMany() - .HasForeignKey("GroupGID") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("fk_group_temp_invites_groups_group_gid"); - - b.Navigation("Group"); - }); - - modelBuilder.Entity("MareSynchronosShared.Models.LodeStoneAuth", b => - { - b.HasOne("MareSynchronosShared.Models.User", "User") - .WithMany() - .HasForeignKey("UserUID") - .HasConstraintName("fk_lodestone_auth_users_user_uid"); - - b.Navigation("User"); - }); - - modelBuilder.Entity("MareSynchronosShared.Models.UserDefaultPreferredPermission", b => - { - b.HasOne("MareSynchronosShared.Models.User", "User") - .WithMany() - .HasForeignKey("UserUID") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("fk_user_default_preferred_permissions_users_user_uid"); - - b.Navigation("User"); - }); - - modelBuilder.Entity("MareSynchronosShared.Models.UserPermissionSet", b => - { - b.HasOne("MareSynchronosShared.Models.User", "OtherUser") - .WithMany() - .HasForeignKey("OtherUserUID") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("fk_user_permission_sets_users_other_user_uid"); - - b.HasOne("MareSynchronosShared.Models.User", "User") - .WithMany() - .HasForeignKey("UserUID") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("fk_user_permission_sets_users_user_uid"); - - b.Navigation("OtherUser"); - - b.Navigation("User"); - }); - - modelBuilder.Entity("MareSynchronosShared.Models.UserProfileData", b => - { - b.HasOne("MareSynchronosShared.Models.User", "User") - .WithMany() - .HasForeignKey("UserUID") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("fk_user_profile_data_users_user_uid"); - - b.Navigation("User"); - }); - - modelBuilder.Entity("MareSynchronosShared.Models.CharaData", b => - { - b.Navigation("AllowedIndividiuals"); - - b.Navigation("FileSwaps"); - - b.Navigation("Files"); - - b.Navigation("OriginalFiles"); - - b.Navigation("Poses"); - }); -#pragma warning restore 612, 618 - } - } -} diff --git a/MareSynchronosServer/MareSynchronosShared/Migrations/20241227190944_OrigFileGamePath.cs b/MareSynchronosServer/MareSynchronosShared/Migrations/20241227190944_OrigFileGamePath.cs deleted file mode 100644 index 54ca992..0000000 --- a/MareSynchronosServer/MareSynchronosShared/Migrations/20241227190944_OrigFileGamePath.cs +++ /dev/null @@ -1,65 +0,0 @@ -using Microsoft.EntityFrameworkCore.Migrations; - -#nullable disable - -namespace MareSynchronosServer.Migrations -{ - /// - public partial class OrigFileGamePath : Migration - { - /// - protected override void Up(MigrationBuilder migrationBuilder) - { - migrationBuilder.DropPrimaryKey( - name: "pk_chara_data_orig_files", - table: "chara_data_orig_files"); - - migrationBuilder.AlterColumn( - name: "hash", - table: "chara_data_orig_files", - type: "text", - nullable: true, - oldClrType: typeof(string), - oldType: "text"); - - migrationBuilder.AddColumn( - name: "game_path", - table: "chara_data_orig_files", - type: "text", - nullable: false, - defaultValue: ""); - - migrationBuilder.AddPrimaryKey( - name: "pk_chara_data_orig_files", - table: "chara_data_orig_files", - columns: new[] { "parent_id", "parent_uploader_uid", "game_path" }); - } - - /// - protected override void Down(MigrationBuilder migrationBuilder) - { - migrationBuilder.DropPrimaryKey( - name: "pk_chara_data_orig_files", - table: "chara_data_orig_files"); - - migrationBuilder.DropColumn( - name: "game_path", - table: "chara_data_orig_files"); - - migrationBuilder.AlterColumn( - name: "hash", - table: "chara_data_orig_files", - type: "text", - nullable: false, - defaultValue: "", - oldClrType: typeof(string), - oldType: "text", - oldNullable: true); - - migrationBuilder.AddPrimaryKey( - name: "pk_chara_data_orig_files", - table: "chara_data_orig_files", - columns: new[] { "parent_id", "parent_uploader_uid", "hash" }); - } - } -} diff --git a/MareSynchronosServer/MareSynchronosShared/Migrations/20241228190750_ManipData.cs b/MareSynchronosServer/MareSynchronosShared/Migrations/20241228190750_ManipData.cs deleted file mode 100644 index fa9faa8..0000000 --- a/MareSynchronosServer/MareSynchronosShared/Migrations/20241228190750_ManipData.cs +++ /dev/null @@ -1,28 +0,0 @@ -using Microsoft.EntityFrameworkCore.Migrations; - -#nullable disable - -namespace MareSynchronosServer.Migrations -{ - /// - public partial class ManipData : Migration - { - /// - protected override void Up(MigrationBuilder migrationBuilder) - { - migrationBuilder.AddColumn( - name: "manipulation_data", - table: "chara_data", - type: "text", - nullable: true); - } - - /// - protected override void Down(MigrationBuilder migrationBuilder) - { - migrationBuilder.DropColumn( - name: "manipulation_data", - table: "chara_data"); - } - } -} diff --git a/MareSynchronosServer/MareSynchronosShared/Migrations/20241228190750_ManipData.Designer.cs b/MareSynchronosServer/MareSynchronosShared/Migrations/20250627174541_MCDO.Designer.cs similarity index 84% rename from MareSynchronosServer/MareSynchronosShared/Migrations/20241228190750_ManipData.Designer.cs rename to MareSynchronosServer/MareSynchronosShared/Migrations/20250627174541_MCDO.Designer.cs index 00cb93c..0a9b2a6 100644 --- a/MareSynchronosServer/MareSynchronosShared/Migrations/20241228190750_ManipData.Designer.cs +++ b/MareSynchronosServer/MareSynchronosShared/Migrations/20250627174541_MCDO.Designer.cs @@ -12,15 +12,15 @@ using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata; namespace MareSynchronosServer.Migrations { [DbContext(typeof(MareDbContext))] - [Migration("20241228190750_ManipData")] - partial class ManipData + [Migration("20250627174541_MCDO")] + partial class MCDO { /// protected override void BuildTargetModel(ModelBuilder modelBuilder) { #pragma warning disable 612, 618 modelBuilder - .HasAnnotation("ProductVersion", "8.0.10") + .HasAnnotation("ProductVersion", "8.0.4") .HasAnnotation("Relational:MaxIdentifierLength", 63); NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder); @@ -36,10 +36,6 @@ namespace MareSynchronosServer.Migrations .HasColumnType("boolean") .HasColumnName("is_banned"); - b.Property("MarkForBan") - .HasColumnType("boolean") - .HasColumnName("mark_for_ban"); - b.Property("PrimaryUserUID") .HasColumnType("character varying(10)") .HasColumnName("primary_user_uid"); @@ -318,6 +314,26 @@ namespace MareSynchronosServer.Migrations .HasColumnType("character varying(10)") .HasColumnName("other_user_uid"); + b.Property("AllowReceivingMessages") + .HasColumnType("boolean") + .HasColumnName("allow_receiving_messages"); + + b.Property("DisableAnimations") + .HasColumnType("boolean") + .HasColumnName("disable_animations"); + + b.Property("DisableSounds") + .HasColumnType("boolean") + .HasColumnName("disable_sounds"); + + b.Property("DisableVFX") + .HasColumnType("boolean") + .HasColumnName("disable_vfx"); + + b.Property("IsPaused") + .HasColumnType("boolean") + .HasColumnName("is_paused"); + b.Property("Timestamp") .IsConcurrencyToken() .ValueGeneratedOnAddOrUpdate() @@ -343,10 +359,6 @@ namespace MareSynchronosServer.Migrations .HasColumnType("character varying(40)") .HasColumnName("hash"); - b.Property("RawSize") - .HasColumnType("bigint") - .HasColumnName("raw_size"); - b.Property("Size") .HasColumnType("bigint") .HasColumnName("size"); @@ -415,6 +427,18 @@ namespace MareSynchronosServer.Migrations .HasColumnType("character varying(50)") .HasColumnName("alias"); + b.Property("DisableAnimations") + .HasColumnType("boolean") + .HasColumnName("disable_animations"); + + b.Property("DisableSounds") + .HasColumnType("boolean") + .HasColumnName("disable_sounds"); + + b.Property("DisableVFX") + .HasColumnType("boolean") + .HasColumnName("disable_vfx"); + b.Property("HashedPassword") .HasColumnType("text") .HasColumnName("hashed_password"); @@ -427,18 +451,6 @@ namespace MareSynchronosServer.Migrations .HasColumnType("character varying(10)") .HasColumnName("owner_uid"); - b.Property("PreferDisableAnimations") - .HasColumnType("boolean") - .HasColumnName("prefer_disable_animations"); - - b.Property("PreferDisableSounds") - .HasColumnType("boolean") - .HasColumnName("prefer_disable_sounds"); - - b.Property("PreferDisableVFX") - .HasColumnType("boolean") - .HasColumnName("prefer_disable_vfx"); - b.HasKey("GID") .HasName("pk_groups"); @@ -495,10 +507,26 @@ namespace MareSynchronosServer.Migrations .HasColumnType("character varying(10)") .HasColumnName("group_user_uid"); + b.Property("DisableAnimations") + .HasColumnType("boolean") + .HasColumnName("disable_animations"); + + b.Property("DisableSounds") + .HasColumnType("boolean") + .HasColumnName("disable_sounds"); + + b.Property("DisableVFX") + .HasColumnType("boolean") + .HasColumnName("disable_vfx"); + b.Property("IsModerator") .HasColumnType("boolean") .HasColumnName("is_moderator"); + b.Property("IsPaused") + .HasColumnType("boolean") + .HasColumnName("is_paused"); + b.Property("IsPinned") .HasColumnType("boolean") .HasColumnName("is_pinned"); @@ -515,44 +543,6 @@ namespace MareSynchronosServer.Migrations b.ToTable("group_pairs", (string)null); }); - modelBuilder.Entity("MareSynchronosShared.Models.GroupPairPreferredPermission", b => - { - b.Property("UserUID") - .HasColumnType("character varying(10)") - .HasColumnName("user_uid"); - - b.Property("GroupGID") - .HasColumnType("character varying(20)") - .HasColumnName("group_gid"); - - b.Property("DisableAnimations") - .HasColumnType("boolean") - .HasColumnName("disable_animations"); - - b.Property("DisableSounds") - .HasColumnType("boolean") - .HasColumnName("disable_sounds"); - - b.Property("DisableVFX") - .HasColumnType("boolean") - .HasColumnName("disable_vfx"); - - b.Property("IsPaused") - .HasColumnType("boolean") - .HasColumnName("is_paused"); - - b.HasKey("UserUID", "GroupGID") - .HasName("pk_group_pair_preferred_permissions"); - - b.HasIndex("GroupGID") - .HasDatabaseName("ix_group_pair_preferred_permissions_group_gid"); - - b.HasIndex("UserUID") - .HasDatabaseName("ix_group_pair_preferred_permissions_user_uid"); - - b.ToTable("group_pair_preferred_permissions", (string)null); - }); - modelBuilder.Entity("MareSynchronosShared.Models.GroupTempInvite", b => { b.Property("GroupGID") @@ -650,95 +640,6 @@ namespace MareSynchronosServer.Migrations b.ToTable("users", (string)null); }); - modelBuilder.Entity("MareSynchronosShared.Models.UserDefaultPreferredPermission", b => - { - b.Property("UserUID") - .HasMaxLength(10) - .HasColumnType("character varying(10)") - .HasColumnName("user_uid"); - - b.Property("DisableGroupAnimations") - .HasColumnType("boolean") - .HasColumnName("disable_group_animations"); - - b.Property("DisableGroupSounds") - .HasColumnType("boolean") - .HasColumnName("disable_group_sounds"); - - b.Property("DisableGroupVFX") - .HasColumnType("boolean") - .HasColumnName("disable_group_vfx"); - - b.Property("DisableIndividualAnimations") - .HasColumnType("boolean") - .HasColumnName("disable_individual_animations"); - - b.Property("DisableIndividualSounds") - .HasColumnType("boolean") - .HasColumnName("disable_individual_sounds"); - - b.Property("DisableIndividualVFX") - .HasColumnType("boolean") - .HasColumnName("disable_individual_vfx"); - - b.Property("IndividualIsSticky") - .HasColumnType("boolean") - .HasColumnName("individual_is_sticky"); - - b.HasKey("UserUID") - .HasName("pk_user_default_preferred_permissions"); - - b.HasIndex("UserUID") - .HasDatabaseName("ix_user_default_preferred_permissions_user_uid"); - - b.ToTable("user_default_preferred_permissions", (string)null); - }); - - modelBuilder.Entity("MareSynchronosShared.Models.UserPermissionSet", b => - { - b.Property("UserUID") - .HasColumnType("character varying(10)") - .HasColumnName("user_uid"); - - b.Property("OtherUserUID") - .HasColumnType("character varying(10)") - .HasColumnName("other_user_uid"); - - b.Property("DisableAnimations") - .HasColumnType("boolean") - .HasColumnName("disable_animations"); - - b.Property("DisableSounds") - .HasColumnType("boolean") - .HasColumnName("disable_sounds"); - - b.Property("DisableVFX") - .HasColumnType("boolean") - .HasColumnName("disable_vfx"); - - b.Property("IsPaused") - .HasColumnType("boolean") - .HasColumnName("is_paused"); - - b.Property("Sticky") - .HasColumnType("boolean") - .HasColumnName("sticky"); - - b.HasKey("UserUID", "OtherUserUID") - .HasName("pk_user_permission_sets"); - - b.HasIndex("OtherUserUID") - .HasDatabaseName("ix_user_permission_sets_other_user_uid"); - - b.HasIndex("UserUID") - .HasDatabaseName("ix_user_permission_sets_user_uid"); - - b.HasIndex("UserUID", "OtherUserUID", "IsPaused") - .HasDatabaseName("ix_user_permission_sets_user_uid_other_user_uid_is_paused"); - - b.ToTable("user_permission_sets", (string)null); - }); - modelBuilder.Entity("MareSynchronosShared.Models.UserProfileData", b => { b.Property("UserUID") @@ -771,6 +672,43 @@ namespace MareSynchronosServer.Migrations b.ToTable("user_profile_data", (string)null); }); + modelBuilder.Entity("MareSynchronosShared.Models.UserProfileDataReport", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("id"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("ReportDate") + .HasColumnType("timestamp with time zone") + .HasColumnName("report_date"); + + b.Property("ReportReason") + .HasColumnType("text") + .HasColumnName("report_reason"); + + b.Property("ReportedUserUID") + .HasColumnType("character varying(10)") + .HasColumnName("reported_user_uid"); + + b.Property("ReportingUserUID") + .HasColumnType("character varying(10)") + .HasColumnName("reporting_user_uid"); + + b.HasKey("Id") + .HasName("pk_user_profile_data_reports"); + + b.HasIndex("ReportedUserUID") + .HasDatabaseName("ix_user_profile_data_reports_reported_user_uid"); + + b.HasIndex("ReportingUserUID") + .HasDatabaseName("ix_user_profile_data_reports_reporting_user_uid"); + + b.ToTable("user_profile_data_reports", (string)null); + }); + modelBuilder.Entity("MareSynchronosShared.Models.Auth", b => { b.HasOne("MareSynchronosShared.Models.User", "PrimaryUser") @@ -967,27 +905,6 @@ namespace MareSynchronosServer.Migrations b.Navigation("GroupUser"); }); - modelBuilder.Entity("MareSynchronosShared.Models.GroupPairPreferredPermission", b => - { - b.HasOne("MareSynchronosShared.Models.Group", "Group") - .WithMany() - .HasForeignKey("GroupGID") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("fk_group_pair_preferred_permissions_groups_group_gid"); - - b.HasOne("MareSynchronosShared.Models.User", "User") - .WithMany() - .HasForeignKey("UserUID") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("fk_group_pair_preferred_permissions_users_user_uid"); - - b.Navigation("Group"); - - b.Navigation("User"); - }); - modelBuilder.Entity("MareSynchronosShared.Models.GroupTempInvite", b => { b.HasOne("MareSynchronosShared.Models.Group", "Group") @@ -1010,39 +927,6 @@ namespace MareSynchronosServer.Migrations b.Navigation("User"); }); - modelBuilder.Entity("MareSynchronosShared.Models.UserDefaultPreferredPermission", b => - { - b.HasOne("MareSynchronosShared.Models.User", "User") - .WithMany() - .HasForeignKey("UserUID") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("fk_user_default_preferred_permissions_users_user_uid"); - - b.Navigation("User"); - }); - - modelBuilder.Entity("MareSynchronosShared.Models.UserPermissionSet", b => - { - b.HasOne("MareSynchronosShared.Models.User", "OtherUser") - .WithMany() - .HasForeignKey("OtherUserUID") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("fk_user_permission_sets_users_other_user_uid"); - - b.HasOne("MareSynchronosShared.Models.User", "User") - .WithMany() - .HasForeignKey("UserUID") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired() - .HasConstraintName("fk_user_permission_sets_users_user_uid"); - - b.Navigation("OtherUser"); - - b.Navigation("User"); - }); - modelBuilder.Entity("MareSynchronosShared.Models.UserProfileData", b => { b.HasOne("MareSynchronosShared.Models.User", "User") @@ -1055,6 +939,23 @@ namespace MareSynchronosServer.Migrations b.Navigation("User"); }); + modelBuilder.Entity("MareSynchronosShared.Models.UserProfileDataReport", b => + { + b.HasOne("MareSynchronosShared.Models.User", "ReportedUser") + .WithMany() + .HasForeignKey("ReportedUserUID") + .HasConstraintName("fk_user_profile_data_reports_users_reported_user_uid"); + + b.HasOne("MareSynchronosShared.Models.User", "ReportingUser") + .WithMany() + .HasForeignKey("ReportingUserUID") + .HasConstraintName("fk_user_profile_data_reports_users_reporting_user_uid"); + + b.Navigation("ReportedUser"); + + b.Navigation("ReportingUser"); + }); + modelBuilder.Entity("MareSynchronosShared.Models.CharaData", b => { b.Navigation("AllowedIndividiuals"); diff --git a/MareSynchronosServer/MareSynchronosShared/Migrations/20241226112428_CharaData.cs b/MareSynchronosServer/MareSynchronosShared/Migrations/20250627174541_MCDO.cs similarity index 81% rename from MareSynchronosServer/MareSynchronosShared/Migrations/20241226112428_CharaData.cs rename to MareSynchronosServer/MareSynchronosShared/Migrations/20250627174541_MCDO.cs index 745ce15..5466ead 100644 --- a/MareSynchronosServer/MareSynchronosShared/Migrations/20241226112428_CharaData.cs +++ b/MareSynchronosServer/MareSynchronosShared/Migrations/20250627174541_MCDO.cs @@ -7,7 +7,7 @@ using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata; namespace MareSynchronosServer.Migrations { /// - public partial class CharaData : Migration + public partial class MCDO : Migration { /// protected override void Up(MigrationBuilder migrationBuilder) @@ -26,6 +26,7 @@ namespace MareSynchronosServer.Migrations expiry_date = table.Column(type: "timestamp with time zone", nullable: true), glamourer_data = table.Column(type: "text", nullable: true), customize_data = table.Column(type: "text", nullable: true), + manipulation_data = table.Column(type: "text", nullable: true), download_count = table.Column(type: "integer", nullable: false) }, constraints: table => @@ -64,28 +65,50 @@ namespace MareSynchronosServer.Migrations onDelete: ReferentialAction.Cascade); }); + migrationBuilder.CreateTable( + name: "chara_data_file_swaps", + columns: table => new + { + parent_id = table.Column(type: "text", nullable: false), + parent_uploader_uid = table.Column(type: "character varying(10)", nullable: false), + game_path = table.Column(type: "text", nullable: false), + file_path = table.Column(type: "text", nullable: true) + }, + constraints: table => + { + table.PrimaryKey("pk_chara_data_file_swaps", x => new { x.parent_id, x.parent_uploader_uid, x.game_path }); + table.ForeignKey( + name: "fk_chara_data_file_swaps_chara_data_parent_id_parent_uploader_", + columns: x => new { x.parent_id, x.parent_uploader_uid }, + principalTable: "chara_data", + principalColumns: new[] { "id", "uploader_uid" }, + onDelete: ReferentialAction.Cascade); + }); + migrationBuilder.CreateTable( name: "chara_data_files", columns: table => new { game_path = table.Column(type: "text", nullable: false), parent_id = table.Column(type: "text", nullable: false), - file_cache_hash = table.Column(type: "character varying(40)", nullable: true), - parent_uploader_uid = table.Column(type: "character varying(10)", nullable: true) + parent_uploader_uid = table.Column(type: "character varying(10)", nullable: false), + file_cache_hash = table.Column(type: "character varying(40)", nullable: true) }, constraints: table => { - table.PrimaryKey("pk_chara_data_files", x => new { x.parent_id, x.game_path }); + table.PrimaryKey("pk_chara_data_files", x => new { x.parent_id, x.parent_uploader_uid, x.game_path }); table.ForeignKey( name: "fk_chara_data_files_chara_data_parent_id_parent_uploader_uid", columns: x => new { x.parent_id, x.parent_uploader_uid }, principalTable: "chara_data", - principalColumns: new[] { "id", "uploader_uid" }); + principalColumns: new[] { "id", "uploader_uid" }, + onDelete: ReferentialAction.Cascade); table.ForeignKey( name: "fk_chara_data_files_files_file_cache_hash", column: x => x.file_cache_hash, principalTable: "file_caches", - principalColumn: "hash"); + principalColumn: "hash", + onDelete: ReferentialAction.Cascade); }); migrationBuilder.CreateTable( @@ -94,11 +117,12 @@ namespace MareSynchronosServer.Migrations { parent_id = table.Column(type: "text", nullable: false), parent_uploader_uid = table.Column(type: "character varying(10)", nullable: false), - hash = table.Column(type: "text", nullable: false) + game_path = table.Column(type: "text", nullable: false), + hash = table.Column(type: "text", nullable: true) }, constraints: table => { - table.PrimaryKey("pk_chara_data_orig_files", x => new { x.parent_id, x.parent_uploader_uid, x.hash }); + table.PrimaryKey("pk_chara_data_orig_files", x => new { x.parent_id, x.parent_uploader_uid, x.game_path }); table.ForeignKey( name: "fk_chara_data_orig_files_chara_data_parent_id_parent_uploader_", columns: x => new { x.parent_id, x.parent_uploader_uid }, @@ -150,6 +174,11 @@ namespace MareSynchronosServer.Migrations table: "chara_data_allowance", column: "parent_id"); + migrationBuilder.CreateIndex( + name: "ix_chara_data_file_swaps_parent_id", + table: "chara_data_file_swaps", + column: "parent_id"); + migrationBuilder.CreateIndex( name: "ix_chara_data_files_file_cache_hash", table: "chara_data_files", @@ -160,11 +189,6 @@ namespace MareSynchronosServer.Migrations table: "chara_data_files", column: "parent_id"); - migrationBuilder.CreateIndex( - name: "ix_chara_data_files_parent_id_parent_uploader_uid", - table: "chara_data_files", - columns: new[] { "parent_id", "parent_uploader_uid" }); - migrationBuilder.CreateIndex( name: "ix_chara_data_orig_files_parent_id", table: "chara_data_orig_files", @@ -182,6 +206,9 @@ namespace MareSynchronosServer.Migrations migrationBuilder.DropTable( name: "chara_data_allowance"); + migrationBuilder.DropTable( + name: "chara_data_file_swaps"); + migrationBuilder.DropTable( name: "chara_data_files");