Mare 0.9 (#27)
* add jwt expiry * update api * merge * start rework permissions * ok so in theory this compiles * make it work I guess * reuse some permissions * fix intermediate connectivity issues * fixes * whatever * some fixes I guess * fix some stuff * idk some random fixes I guess * change some defaults * update nuget * adjust order of operations * adjust deletion of account * remove todo --------- Co-authored-by: rootdarkarchon <root.darkarchon@outlook.com>
This commit is contained in:
805
MareSynchronosServer/MareSynchronosShared/Migrations/20230924190113_permissions.Designer.cs
generated
Normal file
805
MareSynchronosServer/MareSynchronosShared/Migrations/20230924190113_permissions.Designer.cs
generated
Normal file
@@ -0,0 +1,805 @@
|
||||
// <auto-generated />
|
||||
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("20230924190113_permissions")]
|
||||
partial class permissions
|
||||
{
|
||||
/// <inheritdoc />
|
||||
protected override void BuildTargetModel(ModelBuilder modelBuilder)
|
||||
{
|
||||
#pragma warning disable 612, 618
|
||||
modelBuilder
|
||||
.HasAnnotation("ProductVersion", "7.0.5")
|
||||
.HasAnnotation("Relational:MaxIdentifierLength", 63);
|
||||
|
||||
NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder);
|
||||
|
||||
modelBuilder.Entity("MareSynchronosShared.Models.Auth", b =>
|
||||
{
|
||||
b.Property<string>("HashedKey")
|
||||
.HasMaxLength(64)
|
||||
.HasColumnType("character varying(64)")
|
||||
.HasColumnName("hashed_key");
|
||||
|
||||
b.Property<bool>("IsBanned")
|
||||
.HasColumnType("boolean")
|
||||
.HasColumnName("is_banned");
|
||||
|
||||
b.Property<string>("PrimaryUserUID")
|
||||
.HasColumnType("character varying(10)")
|
||||
.HasColumnName("primary_user_uid");
|
||||
|
||||
b.Property<string>("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<string>("CharacterIdentification")
|
||||
.HasMaxLength(100)
|
||||
.HasColumnType("character varying(100)")
|
||||
.HasColumnName("character_identification");
|
||||
|
||||
b.Property<string>("Reason")
|
||||
.HasColumnType("text")
|
||||
.HasColumnName("reason");
|
||||
|
||||
b.Property<byte[]>("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<string>("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.ClientPair", b =>
|
||||
{
|
||||
b.Property<string>("UserUID")
|
||||
.HasMaxLength(10)
|
||||
.HasColumnType("character varying(10)")
|
||||
.HasColumnName("user_uid");
|
||||
|
||||
b.Property<string>("OtherUserUID")
|
||||
.HasMaxLength(10)
|
||||
.HasColumnType("character varying(10)")
|
||||
.HasColumnName("other_user_uid");
|
||||
|
||||
b.Property<byte[]>("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<string>("Hash")
|
||||
.HasMaxLength(40)
|
||||
.HasColumnType("character varying(40)")
|
||||
.HasColumnName("hash");
|
||||
|
||||
b.Property<long>("Size")
|
||||
.HasColumnType("bigint")
|
||||
.HasColumnName("size");
|
||||
|
||||
b.Property<byte[]>("Timestamp")
|
||||
.IsConcurrencyToken()
|
||||
.ValueGeneratedOnAddOrUpdate()
|
||||
.HasColumnType("bytea")
|
||||
.HasColumnName("timestamp");
|
||||
|
||||
b.Property<DateTime>("UploadDate")
|
||||
.HasColumnType("timestamp with time zone")
|
||||
.HasColumnName("upload_date");
|
||||
|
||||
b.Property<bool>("Uploaded")
|
||||
.HasColumnType("boolean")
|
||||
.HasColumnName("uploaded");
|
||||
|
||||
b.Property<string>("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<string>("Hash")
|
||||
.HasMaxLength(40)
|
||||
.HasColumnType("character varying(40)")
|
||||
.HasColumnName("hash");
|
||||
|
||||
b.Property<string>("ForbiddenBy")
|
||||
.HasMaxLength(100)
|
||||
.HasColumnType("character varying(100)")
|
||||
.HasColumnName("forbidden_by");
|
||||
|
||||
b.Property<byte[]>("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<string>("GID")
|
||||
.HasMaxLength(20)
|
||||
.HasColumnType("character varying(20)")
|
||||
.HasColumnName("gid");
|
||||
|
||||
b.Property<string>("Alias")
|
||||
.HasMaxLength(50)
|
||||
.HasColumnType("character varying(50)")
|
||||
.HasColumnName("alias");
|
||||
|
||||
b.Property<string>("HashedPassword")
|
||||
.HasColumnType("text")
|
||||
.HasColumnName("hashed_password");
|
||||
|
||||
b.Property<bool>("InvitesEnabled")
|
||||
.HasColumnType("boolean")
|
||||
.HasColumnName("invites_enabled");
|
||||
|
||||
b.Property<string>("OwnerUID")
|
||||
.HasColumnType("character varying(10)")
|
||||
.HasColumnName("owner_uid");
|
||||
|
||||
b.Property<bool>("PreferDisableAnimations")
|
||||
.HasColumnType("boolean")
|
||||
.HasColumnName("prefer_disable_animations");
|
||||
|
||||
b.Property<bool>("PreferDisableSounds")
|
||||
.HasColumnType("boolean")
|
||||
.HasColumnName("prefer_disable_sounds");
|
||||
|
||||
b.Property<bool>("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<string>("GroupGID")
|
||||
.HasColumnType("character varying(20)")
|
||||
.HasColumnName("group_gid");
|
||||
|
||||
b.Property<string>("BannedUserUID")
|
||||
.HasColumnType("character varying(10)")
|
||||
.HasColumnName("banned_user_uid");
|
||||
|
||||
b.Property<string>("BannedByUID")
|
||||
.HasColumnType("character varying(10)")
|
||||
.HasColumnName("banned_by_uid");
|
||||
|
||||
b.Property<DateTime>("BannedOn")
|
||||
.HasColumnType("timestamp with time zone")
|
||||
.HasColumnName("banned_on");
|
||||
|
||||
b.Property<string>("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<string>("GroupGID")
|
||||
.HasColumnType("character varying(20)")
|
||||
.HasColumnName("group_gid");
|
||||
|
||||
b.Property<string>("GroupUserUID")
|
||||
.HasColumnType("character varying(10)")
|
||||
.HasColumnName("group_user_uid");
|
||||
|
||||
b.Property<bool>("IsModerator")
|
||||
.HasColumnType("boolean")
|
||||
.HasColumnName("is_moderator");
|
||||
|
||||
b.Property<bool>("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<string>("UserUID")
|
||||
.HasColumnType("character varying(10)")
|
||||
.HasColumnName("user_uid");
|
||||
|
||||
b.Property<string>("GroupGID")
|
||||
.HasColumnType("character varying(20)")
|
||||
.HasColumnName("group_gid");
|
||||
|
||||
b.Property<bool>("DisableAnimations")
|
||||
.HasColumnType("boolean")
|
||||
.HasColumnName("disable_animations");
|
||||
|
||||
b.Property<bool>("DisableSounds")
|
||||
.HasColumnType("boolean")
|
||||
.HasColumnName("disable_sounds");
|
||||
|
||||
b.Property<bool>("DisableVFX")
|
||||
.HasColumnType("boolean")
|
||||
.HasColumnName("disable_vfx");
|
||||
|
||||
b.Property<bool>("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<string>("GroupGID")
|
||||
.HasColumnType("character varying(20)")
|
||||
.HasColumnName("group_gid");
|
||||
|
||||
b.Property<string>("Invite")
|
||||
.HasMaxLength(64)
|
||||
.HasColumnType("character varying(64)")
|
||||
.HasColumnName("invite");
|
||||
|
||||
b.Property<DateTime>("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<decimal>("DiscordId")
|
||||
.ValueGeneratedOnAdd()
|
||||
.HasColumnType("numeric(20,0)")
|
||||
.HasColumnName("discord_id");
|
||||
|
||||
b.Property<string>("HashedLodestoneId")
|
||||
.HasMaxLength(100)
|
||||
.HasColumnType("character varying(100)")
|
||||
.HasColumnName("hashed_lodestone_id");
|
||||
|
||||
b.Property<string>("LodestoneAuthString")
|
||||
.HasMaxLength(100)
|
||||
.HasColumnType("character varying(100)")
|
||||
.HasColumnName("lodestone_auth_string");
|
||||
|
||||
b.Property<DateTime?>("StartedAt")
|
||||
.HasColumnType("timestamp with time zone")
|
||||
.HasColumnName("started_at");
|
||||
|
||||
b.Property<string>("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<string>("UID")
|
||||
.HasMaxLength(10)
|
||||
.HasColumnType("character varying(10)")
|
||||
.HasColumnName("uid");
|
||||
|
||||
b.Property<string>("Alias")
|
||||
.HasMaxLength(15)
|
||||
.HasColumnType("character varying(15)")
|
||||
.HasColumnName("alias");
|
||||
|
||||
b.Property<bool>("IsAdmin")
|
||||
.HasColumnType("boolean")
|
||||
.HasColumnName("is_admin");
|
||||
|
||||
b.Property<bool>("IsModerator")
|
||||
.HasColumnType("boolean")
|
||||
.HasColumnName("is_moderator");
|
||||
|
||||
b.Property<DateTime>("LastLoggedIn")
|
||||
.HasColumnType("timestamp with time zone")
|
||||
.HasColumnName("last_logged_in");
|
||||
|
||||
b.Property<byte[]>("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<string>("UserUID")
|
||||
.HasColumnType("text")
|
||||
.HasColumnName("user_uid");
|
||||
|
||||
b.Property<bool>("DisableGroupAnimations")
|
||||
.HasColumnType("boolean")
|
||||
.HasColumnName("disable_group_animations");
|
||||
|
||||
b.Property<bool>("DisableGroupSounds")
|
||||
.HasColumnType("boolean")
|
||||
.HasColumnName("disable_group_sounds");
|
||||
|
||||
b.Property<bool>("DisableGroupVFX")
|
||||
.HasColumnType("boolean")
|
||||
.HasColumnName("disable_group_vfx");
|
||||
|
||||
b.Property<bool>("DisableIndividualAnimations")
|
||||
.HasColumnType("boolean")
|
||||
.HasColumnName("disable_individual_animations");
|
||||
|
||||
b.Property<bool>("DisableIndividualSounds")
|
||||
.HasColumnType("boolean")
|
||||
.HasColumnName("disable_individual_sounds");
|
||||
|
||||
b.Property<bool>("DisableIndividualVFX")
|
||||
.HasColumnType("boolean")
|
||||
.HasColumnName("disable_individual_vfx");
|
||||
|
||||
b.Property<bool>("IndividualIsSticky")
|
||||
.HasColumnType("boolean")
|
||||
.HasColumnName("individual_is_sticky");
|
||||
|
||||
b.Property<string>("UserUID1")
|
||||
.HasColumnType("character varying(10)")
|
||||
.HasColumnName("user_uid1");
|
||||
|
||||
b.HasKey("UserUID")
|
||||
.HasName("pk_user_default_preferred_permissions");
|
||||
|
||||
b.HasIndex("UserUID1")
|
||||
.HasDatabaseName("ix_user_default_preferred_permissions_user_uid1");
|
||||
|
||||
b.ToTable("user_default_preferred_permissions", (string)null);
|
||||
});
|
||||
|
||||
modelBuilder.Entity("MareSynchronosShared.Models.UserPermissionSet", b =>
|
||||
{
|
||||
b.Property<string>("UserUID")
|
||||
.HasColumnType("character varying(10)")
|
||||
.HasColumnName("user_uid");
|
||||
|
||||
b.Property<string>("OtherUserUID")
|
||||
.HasColumnType("character varying(10)")
|
||||
.HasColumnName("other_user_uid");
|
||||
|
||||
b.Property<bool>("DisableAnimations")
|
||||
.HasColumnType("boolean")
|
||||
.HasColumnName("disable_animations");
|
||||
|
||||
b.Property<bool>("DisableSounds")
|
||||
.HasColumnType("boolean")
|
||||
.HasColumnName("disable_sounds");
|
||||
|
||||
b.Property<bool>("DisableVFX")
|
||||
.HasColumnType("boolean")
|
||||
.HasColumnName("disable_vfx");
|
||||
|
||||
b.Property<bool>("IsPaused")
|
||||
.HasColumnType("boolean")
|
||||
.HasColumnName("is_paused");
|
||||
|
||||
b.Property<bool>("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.ToTable("user_permission_sets", (string)null);
|
||||
});
|
||||
|
||||
modelBuilder.Entity("MareSynchronosShared.Models.UserProfileData", b =>
|
||||
{
|
||||
b.Property<string>("UserUID")
|
||||
.HasColumnType("character varying(10)")
|
||||
.HasColumnName("user_uid");
|
||||
|
||||
b.Property<string>("Base64ProfileImage")
|
||||
.HasColumnType("text")
|
||||
.HasColumnName("base64profile_image");
|
||||
|
||||
b.Property<bool>("FlaggedForReport")
|
||||
.HasColumnType("boolean")
|
||||
.HasColumnName("flagged_for_report");
|
||||
|
||||
b.Property<bool>("IsNSFW")
|
||||
.HasColumnType("boolean")
|
||||
.HasColumnName("is_nsfw");
|
||||
|
||||
b.Property<bool>("ProfileDisabled")
|
||||
.HasColumnType("boolean")
|
||||
.HasColumnName("profile_disabled");
|
||||
|
||||
b.Property<string>("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.UserProfileDataReport", b =>
|
||||
{
|
||||
b.Property<int>("Id")
|
||||
.ValueGeneratedOnAdd()
|
||||
.HasColumnType("integer")
|
||||
.HasColumnName("id");
|
||||
|
||||
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
|
||||
|
||||
b.Property<DateTime>("ReportDate")
|
||||
.HasColumnType("timestamp with time zone")
|
||||
.HasColumnName("report_date");
|
||||
|
||||
b.Property<string>("ReportReason")
|
||||
.HasColumnType("text")
|
||||
.HasColumnName("report_reason");
|
||||
|
||||
b.Property<string>("ReportedUserUID")
|
||||
.HasColumnType("character varying(10)")
|
||||
.HasColumnName("reported_user_uid");
|
||||
|
||||
b.Property<string>("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")
|
||||
.WithMany()
|
||||
.HasForeignKey("PrimaryUserUID")
|
||||
.HasConstraintName("fk_auth_users_primary_user_temp_id");
|
||||
|
||||
b.HasOne("MareSynchronosShared.Models.User", "User")
|
||||
.WithMany()
|
||||
.HasForeignKey("UserUID")
|
||||
.HasConstraintName("fk_auth_users_user_temp_id1");
|
||||
|
||||
b.Navigation("PrimaryUser");
|
||||
|
||||
b.Navigation("User");
|
||||
});
|
||||
|
||||
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_temp_id2");
|
||||
|
||||
b.HasOne("MareSynchronosShared.Models.User", "User")
|
||||
.WithMany()
|
||||
.HasForeignKey("UserUID")
|
||||
.OnDelete(DeleteBehavior.Cascade)
|
||||
.IsRequired()
|
||||
.HasConstraintName("fk_client_pairs_users_user_temp_id3");
|
||||
|
||||
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_temp_id9");
|
||||
|
||||
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_temp_id5");
|
||||
|
||||
b.HasOne("MareSynchronosShared.Models.User", "BannedUser")
|
||||
.WithMany()
|
||||
.HasForeignKey("BannedUserUID")
|
||||
.OnDelete(DeleteBehavior.Cascade)
|
||||
.IsRequired()
|
||||
.HasConstraintName("fk_group_bans_users_banned_user_temp_id6");
|
||||
|
||||
b.HasOne("MareSynchronosShared.Models.Group", "Group")
|
||||
.WithMany()
|
||||
.HasForeignKey("GroupGID")
|
||||
.OnDelete(DeleteBehavior.Cascade)
|
||||
.IsRequired()
|
||||
.HasConstraintName("fk_group_bans_groups_group_temp_id");
|
||||
|
||||
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_temp_id2");
|
||||
|
||||
b.HasOne("MareSynchronosShared.Models.User", "GroupUser")
|
||||
.WithMany()
|
||||
.HasForeignKey("GroupUserUID")
|
||||
.OnDelete(DeleteBehavior.Cascade)
|
||||
.IsRequired()
|
||||
.HasConstraintName("fk_group_pairs_users_group_user_temp_id8");
|
||||
|
||||
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_temp_id1");
|
||||
|
||||
b.HasOne("MareSynchronosShared.Models.User", "User")
|
||||
.WithMany()
|
||||
.HasForeignKey("UserUID")
|
||||
.OnDelete(DeleteBehavior.Cascade)
|
||||
.IsRequired()
|
||||
.HasConstraintName("fk_group_pair_preferred_permissions_users_user_temp_id7");
|
||||
|
||||
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("UserUID1")
|
||||
.HasConstraintName("fk_user_default_preferred_permissions_users_user_temp_id13");
|
||||
|
||||
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.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");
|
||||
});
|
||||
#pragma warning restore 612, 618
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,442 @@
|
||||
using MareSynchronosShared.Models;
|
||||
using Microsoft.EntityFrameworkCore.Migrations;
|
||||
using static System.Runtime.InteropServices.JavaScript.JSType;
|
||||
|
||||
#nullable disable
|
||||
|
||||
namespace MareSynchronosServer.Migrations
|
||||
{
|
||||
/// <inheritdoc />
|
||||
public partial class permissions : Migration
|
||||
{
|
||||
/// <inheritdoc />
|
||||
protected override void Up(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
migrationBuilder.CreateTable(
|
||||
name: "group_pair_preferred_permissions",
|
||||
columns: table => new
|
||||
{
|
||||
group_gid = table.Column<string>(type: "character varying(20)", nullable: false),
|
||||
user_uid = table.Column<string>(type: "character varying(10)", nullable: false),
|
||||
is_paused = table.Column<bool>(type: "boolean", nullable: false),
|
||||
disable_animations = table.Column<bool>(type: "boolean", nullable: false),
|
||||
disable_sounds = table.Column<bool>(type: "boolean", nullable: false),
|
||||
disable_vfx = table.Column<bool>(type: "boolean", nullable: false)
|
||||
},
|
||||
constraints: table =>
|
||||
{
|
||||
table.PrimaryKey("pk_group_pair_preferred_permissions", x => new { x.user_uid, x.group_gid });
|
||||
table.ForeignKey(
|
||||
name: "fk_group_pair_preferred_permissions_groups_group_temp_id1",
|
||||
column: x => x.group_gid,
|
||||
principalTable: "groups",
|
||||
principalColumn: "gid",
|
||||
onDelete: ReferentialAction.Cascade);
|
||||
table.ForeignKey(
|
||||
name: "fk_group_pair_preferred_permissions_users_user_temp_id7",
|
||||
column: x => x.user_uid,
|
||||
principalTable: "users",
|
||||
principalColumn: "uid",
|
||||
onDelete: ReferentialAction.Cascade);
|
||||
});
|
||||
|
||||
migrationBuilder.CreateTable(
|
||||
name: "user_default_preferred_permissions",
|
||||
columns: table => new
|
||||
{
|
||||
user_uid = table.Column<string>(type: "text", nullable: false),
|
||||
user_uid1 = table.Column<string>(type: "character varying(10)", nullable: true),
|
||||
disable_individual_animations = table.Column<bool>(type: "boolean", nullable: false),
|
||||
disable_individual_sounds = table.Column<bool>(type: "boolean", nullable: false),
|
||||
disable_individual_vfx = table.Column<bool>(type: "boolean", nullable: false),
|
||||
disable_group_animations = table.Column<bool>(type: "boolean", nullable: false),
|
||||
disable_group_sounds = table.Column<bool>(type: "boolean", nullable: false),
|
||||
disable_group_vfx = table.Column<bool>(type: "boolean", nullable: false),
|
||||
individual_is_sticky = table.Column<bool>(type: "boolean", nullable: false)
|
||||
},
|
||||
constraints: table =>
|
||||
{
|
||||
table.PrimaryKey("pk_user_default_preferred_permissions", x => x.user_uid);
|
||||
table.ForeignKey(
|
||||
name: "fk_user_default_preferred_permissions_users_user_temp_id13",
|
||||
column: x => x.user_uid1,
|
||||
principalTable: "users",
|
||||
principalColumn: "uid");
|
||||
});
|
||||
|
||||
migrationBuilder.CreateTable(
|
||||
name: "user_permission_sets",
|
||||
columns: table => new
|
||||
{
|
||||
user_uid = table.Column<string>(type: "character varying(10)", nullable: false),
|
||||
other_user_uid = table.Column<string>(type: "character varying(10)", nullable: false),
|
||||
sticky = table.Column<bool>(type: "boolean", nullable: false),
|
||||
is_paused = table.Column<bool>(type: "boolean", nullable: false),
|
||||
disable_animations = table.Column<bool>(type: "boolean", nullable: false),
|
||||
disable_vfx = table.Column<bool>(type: "boolean", nullable: false),
|
||||
disable_sounds = table.Column<bool>(type: "boolean", nullable: false)
|
||||
},
|
||||
constraints: table =>
|
||||
{
|
||||
table.PrimaryKey("pk_user_permission_sets", x => new { x.user_uid, x.other_user_uid });
|
||||
table.ForeignKey(
|
||||
name: "fk_user_permission_sets_users_other_user_uid",
|
||||
column: x => x.other_user_uid,
|
||||
principalTable: "users",
|
||||
principalColumn: "uid",
|
||||
onDelete: ReferentialAction.Cascade);
|
||||
table.ForeignKey(
|
||||
name: "fk_user_permission_sets_users_user_uid",
|
||||
column: x => x.user_uid,
|
||||
principalTable: "users",
|
||||
principalColumn: "uid",
|
||||
onDelete: ReferentialAction.Cascade);
|
||||
});
|
||||
|
||||
migrationBuilder.Sql(@"insert into user_permission_sets
|
||||
select user1.user_uid as user_uid, user1.other_user_uid as other_user_uid,
|
||||
true,
|
||||
user1.is_paused as is_paused,
|
||||
user1.disable_animations as disable_animations,
|
||||
user1.disable_sounds as disable_sounds,
|
||||
user1.disable_vfx as disable_vfx
|
||||
from client_pairs as user1;");
|
||||
|
||||
migrationBuilder.Sql(@"insert into user_permission_sets
|
||||
select gp.group_user_uid, gp2.group_user_uid,
|
||||
false,
|
||||
bool_and(gp.is_paused),
|
||||
bool_and(g.disable_animations or gp.disable_animations),
|
||||
bool_and(g.disable_sounds or gp.disable_sounds),
|
||||
bool_and(g.disable_vfx or gp.disable_vfx)
|
||||
from group_pairs gp
|
||||
left join group_pairs gp2 on gp2.group_gid = gp.group_gid
|
||||
left join groups g on g.gid = gp2.group_gid
|
||||
where gp2.group_user_uid <> gp.group_user_uid
|
||||
group by gp.group_user_uid, gp2.group_user_uid
|
||||
on conflict do nothing;");
|
||||
|
||||
migrationBuilder.Sql(@"insert into group_pair_preferred_permissions
|
||||
select group_gid
|
||||
, group_user_uid
|
||||
, gp.is_paused
|
||||
, gp.disable_animations or g.disable_animations as disable_animations
|
||||
, gp.disable_sounds or g.disable_sounds as disable_sounds
|
||||
, gp.disable_vfx or g.disable_vfx as disable_vfx
|
||||
from group_pairs as gp
|
||||
left join groups g on g.gid = gp.group_gid");
|
||||
|
||||
migrationBuilder.DropForeignKey(
|
||||
name: "fk_group_pairs_groups_group_temp_id1",
|
||||
table: "group_pairs");
|
||||
|
||||
migrationBuilder.DropForeignKey(
|
||||
name: "fk_group_pairs_users_group_user_temp_id7",
|
||||
table: "group_pairs");
|
||||
|
||||
migrationBuilder.DropForeignKey(
|
||||
name: "fk_groups_users_owner_temp_id8",
|
||||
table: "groups");
|
||||
|
||||
migrationBuilder.DropColumn(
|
||||
name: "disable_animations",
|
||||
table: "group_pairs");
|
||||
|
||||
migrationBuilder.DropColumn(
|
||||
name: "disable_sounds",
|
||||
table: "group_pairs");
|
||||
|
||||
migrationBuilder.DropColumn(
|
||||
name: "disable_vfx",
|
||||
table: "group_pairs");
|
||||
|
||||
migrationBuilder.DropColumn(
|
||||
name: "is_paused",
|
||||
table: "group_pairs");
|
||||
|
||||
migrationBuilder.DropColumn(
|
||||
name: "allow_receiving_messages",
|
||||
table: "client_pairs");
|
||||
|
||||
migrationBuilder.DropColumn(
|
||||
name: "disable_animations",
|
||||
table: "client_pairs");
|
||||
|
||||
migrationBuilder.DropColumn(
|
||||
name: "disable_sounds",
|
||||
table: "client_pairs");
|
||||
|
||||
migrationBuilder.DropColumn(
|
||||
name: "disable_vfx",
|
||||
table: "client_pairs");
|
||||
|
||||
migrationBuilder.DropColumn(
|
||||
name: "is_paused",
|
||||
table: "client_pairs");
|
||||
|
||||
migrationBuilder.RenameColumn(
|
||||
name: "disable_vfx",
|
||||
table: "groups",
|
||||
newName: "prefer_disable_vfx");
|
||||
|
||||
migrationBuilder.RenameColumn(
|
||||
name: "disable_sounds",
|
||||
table: "groups",
|
||||
newName: "prefer_disable_sounds");
|
||||
|
||||
migrationBuilder.RenameColumn(
|
||||
name: "disable_animations",
|
||||
table: "groups",
|
||||
newName: "prefer_disable_animations");
|
||||
|
||||
migrationBuilder.CreateIndex(
|
||||
name: "ix_group_pair_preferred_permissions_group_gid",
|
||||
table: "group_pair_preferred_permissions",
|
||||
column: "group_gid");
|
||||
|
||||
migrationBuilder.CreateIndex(
|
||||
name: "ix_group_pair_preferred_permissions_user_uid",
|
||||
table: "group_pair_preferred_permissions",
|
||||
column: "user_uid");
|
||||
|
||||
migrationBuilder.CreateIndex(
|
||||
name: "ix_user_default_preferred_permissions_user_uid1",
|
||||
table: "user_default_preferred_permissions",
|
||||
column: "user_uid1");
|
||||
|
||||
migrationBuilder.CreateIndex(
|
||||
name: "ix_user_permission_sets_other_user_uid",
|
||||
table: "user_permission_sets",
|
||||
column: "other_user_uid");
|
||||
|
||||
migrationBuilder.CreateIndex(
|
||||
name: "ix_user_permission_sets_user_uid",
|
||||
table: "user_permission_sets",
|
||||
column: "user_uid");
|
||||
|
||||
migrationBuilder.AddForeignKey(
|
||||
name: "fk_group_pairs_groups_group_temp_id2",
|
||||
table: "group_pairs",
|
||||
column: "group_gid",
|
||||
principalTable: "groups",
|
||||
principalColumn: "gid",
|
||||
onDelete: ReferentialAction.Cascade);
|
||||
|
||||
migrationBuilder.AddForeignKey(
|
||||
name: "fk_group_pairs_users_group_user_temp_id8",
|
||||
table: "group_pairs",
|
||||
column: "group_user_uid",
|
||||
principalTable: "users",
|
||||
principalColumn: "uid",
|
||||
onDelete: ReferentialAction.Cascade);
|
||||
|
||||
migrationBuilder.AddForeignKey(
|
||||
name: "fk_groups_users_owner_temp_id9",
|
||||
table: "groups",
|
||||
column: "owner_uid",
|
||||
principalTable: "users",
|
||||
principalColumn: "uid");
|
||||
|
||||
migrationBuilder.Sql(@"create function get_all_pairs_for_user(req_uid text)
|
||||
returns table(
|
||||
user_uid varchar(10)
|
||||
,other_user_uid varchar(10)
|
||||
,alias varchar(15)
|
||||
,gid varchar(20)
|
||||
,synced bool
|
||||
,ownperm_is_paused bool
|
||||
,ownperm_sticky bool
|
||||
,ownperm_disable_animations bool
|
||||
,ownperm_disable_sounds bool
|
||||
,ownperm_disable_vfx bool
|
||||
,otherperm_is_paused bool
|
||||
,otherperm_disable_animations bool
|
||||
,otherperm_disable_sounds bool
|
||||
,otherperm_disable_vfx bool)
|
||||
as
|
||||
$$
|
||||
begin
|
||||
return query(
|
||||
WITH query1 AS (
|
||||
SELECT user1.user_uid AS user_uid
|
||||
,user1.other_user_uid AS other_user_uid
|
||||
,NULL AS gid
|
||||
,NOT (user2 IS NULL) AS synced
|
||||
FROM client_pairs AS user1
|
||||
LEFT JOIN client_pairs user2 ON user1.user_uid = user2.other_user_uid
|
||||
AND user2.user_uid = user1.other_user_uid
|
||||
WHERE user1.user_uid = req_uid
|
||||
),
|
||||
query2 AS (
|
||||
SELECT gp.group_user_uid
|
||||
,gp2.group_user_uid
|
||||
,gp.group_gid
|
||||
,true
|
||||
FROM group_pairs gp
|
||||
LEFT JOIN group_pairs gp2 ON gp2.group_gid = gp.group_gid
|
||||
WHERE gp.group_user_uid = req_uid
|
||||
AND gp2.group_user_uid <> req_uid
|
||||
AND gp2.group_gid = gp.group_gid
|
||||
)
|
||||
|
||||
SELECT pairs.user_uid
|
||||
,pairs.other_user_uid
|
||||
,u.alias
|
||||
,cast(pairs.gid as varchar(20))
|
||||
,pairs.synced
|
||||
,ownperm.is_paused
|
||||
,ownperm.sticky
|
||||
,ownperm.disable_animations
|
||||
,ownperm.disable_sounds
|
||||
,ownperm.disable_vfx
|
||||
,otherperm.is_paused
|
||||
,otherperm.disable_animations
|
||||
,otherperm.disable_sounds
|
||||
,otherperm.disable_vfx
|
||||
FROM (SELECT * FROM query1
|
||||
union all
|
||||
SELECT * FROM query2) AS pairs
|
||||
LEFT JOIN users AS u ON pairs.other_user_uid = u.uid
|
||||
LEFT JOIN user_permission_sets AS ownperm ON pairs.user_uid = ownperm.user_uid
|
||||
AND pairs.other_user_uid = ownperm.other_user_uid
|
||||
LEFT JOIN user_permission_sets AS otherperm ON pairs.user_uid = otherperm.other_user_uid
|
||||
AND pairs.other_user_uid = otherperm.user_uid
|
||||
WHERE pairs.user_uid = req_uid
|
||||
AND u.uid = pairs.other_user_uid
|
||||
AND (
|
||||
(ownperm.user_uid = req_uid)
|
||||
OR (otherperm.other_user_uid = req_uid)
|
||||
)
|
||||
);
|
||||
end;
|
||||
$$
|
||||
language plpgsql;");
|
||||
}
|
||||
|
||||
/// <inheritdoc />
|
||||
protected override void Down(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
migrationBuilder.DropForeignKey(
|
||||
name: "fk_group_pairs_groups_group_temp_id2",
|
||||
table: "group_pairs");
|
||||
|
||||
migrationBuilder.DropForeignKey(
|
||||
name: "fk_group_pairs_users_group_user_temp_id8",
|
||||
table: "group_pairs");
|
||||
|
||||
migrationBuilder.DropForeignKey(
|
||||
name: "fk_groups_users_owner_temp_id9",
|
||||
table: "groups");
|
||||
|
||||
migrationBuilder.DropTable(
|
||||
name: "group_pair_preferred_permissions");
|
||||
|
||||
migrationBuilder.DropTable(
|
||||
name: "user_default_preferred_permissions");
|
||||
|
||||
migrationBuilder.DropTable(
|
||||
name: "user_permission_sets");
|
||||
|
||||
migrationBuilder.RenameColumn(
|
||||
name: "prefer_disable_vfx",
|
||||
table: "groups",
|
||||
newName: "disable_vfx");
|
||||
|
||||
migrationBuilder.RenameColumn(
|
||||
name: "prefer_disable_sounds",
|
||||
table: "groups",
|
||||
newName: "disable_sounds");
|
||||
|
||||
migrationBuilder.RenameColumn(
|
||||
name: "prefer_disable_animations",
|
||||
table: "groups",
|
||||
newName: "disable_animations");
|
||||
|
||||
migrationBuilder.AddColumn<bool>(
|
||||
name: "disable_animations",
|
||||
table: "group_pairs",
|
||||
type: "boolean",
|
||||
nullable: false,
|
||||
defaultValue: false);
|
||||
|
||||
migrationBuilder.AddColumn<bool>(
|
||||
name: "disable_sounds",
|
||||
table: "group_pairs",
|
||||
type: "boolean",
|
||||
nullable: false,
|
||||
defaultValue: false);
|
||||
|
||||
migrationBuilder.AddColumn<bool>(
|
||||
name: "disable_vfx",
|
||||
table: "group_pairs",
|
||||
type: "boolean",
|
||||
nullable: false,
|
||||
defaultValue: false);
|
||||
|
||||
migrationBuilder.AddColumn<bool>(
|
||||
name: "is_paused",
|
||||
table: "group_pairs",
|
||||
type: "boolean",
|
||||
nullable: false,
|
||||
defaultValue: false);
|
||||
|
||||
migrationBuilder.AddColumn<bool>(
|
||||
name: "allow_receiving_messages",
|
||||
table: "client_pairs",
|
||||
type: "boolean",
|
||||
nullable: false,
|
||||
defaultValue: false);
|
||||
|
||||
migrationBuilder.AddColumn<bool>(
|
||||
name: "disable_animations",
|
||||
table: "client_pairs",
|
||||
type: "boolean",
|
||||
nullable: false,
|
||||
defaultValue: false);
|
||||
|
||||
migrationBuilder.AddColumn<bool>(
|
||||
name: "disable_sounds",
|
||||
table: "client_pairs",
|
||||
type: "boolean",
|
||||
nullable: false,
|
||||
defaultValue: false);
|
||||
|
||||
migrationBuilder.AddColumn<bool>(
|
||||
name: "disable_vfx",
|
||||
table: "client_pairs",
|
||||
type: "boolean",
|
||||
nullable: false,
|
||||
defaultValue: false);
|
||||
|
||||
migrationBuilder.AddColumn<bool>(
|
||||
name: "is_paused",
|
||||
table: "client_pairs",
|
||||
type: "boolean",
|
||||
nullable: false,
|
||||
defaultValue: false);
|
||||
|
||||
migrationBuilder.AddForeignKey(
|
||||
name: "fk_group_pairs_groups_group_temp_id1",
|
||||
table: "group_pairs",
|
||||
column: "group_gid",
|
||||
principalTable: "groups",
|
||||
principalColumn: "gid",
|
||||
onDelete: ReferentialAction.Cascade);
|
||||
|
||||
migrationBuilder.AddForeignKey(
|
||||
name: "fk_group_pairs_users_group_user_temp_id7",
|
||||
table: "group_pairs",
|
||||
column: "group_user_uid",
|
||||
principalTable: "users",
|
||||
principalColumn: "uid",
|
||||
onDelete: ReferentialAction.Cascade);
|
||||
|
||||
migrationBuilder.AddForeignKey(
|
||||
name: "fk_groups_users_owner_temp_id8",
|
||||
table: "groups",
|
||||
column: "owner_uid",
|
||||
principalTable: "users",
|
||||
principalColumn: "uid");
|
||||
}
|
||||
}
|
||||
}
|
||||
868
MareSynchronosServer/MareSynchronosShared/Migrations/20230926212023_AlterPermissions.Designer.cs
generated
Normal file
868
MareSynchronosServer/MareSynchronosShared/Migrations/20230926212023_AlterPermissions.Designer.cs
generated
Normal file
@@ -0,0 +1,868 @@
|
||||
// <auto-generated />
|
||||
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("20230926212023_AlterPermissions")]
|
||||
partial class AlterPermissions
|
||||
{
|
||||
/// <inheritdoc />
|
||||
protected override void BuildTargetModel(ModelBuilder modelBuilder)
|
||||
{
|
||||
#pragma warning disable 612, 618
|
||||
modelBuilder
|
||||
.HasAnnotation("ProductVersion", "7.0.5")
|
||||
.HasAnnotation("Relational:MaxIdentifierLength", 63);
|
||||
|
||||
NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder);
|
||||
|
||||
modelBuilder.Entity("MareSynchronosShared.Models.Auth", b =>
|
||||
{
|
||||
b.Property<string>("HashedKey")
|
||||
.HasMaxLength(64)
|
||||
.HasColumnType("character varying(64)")
|
||||
.HasColumnName("hashed_key");
|
||||
|
||||
b.Property<bool>("IsBanned")
|
||||
.HasColumnType("boolean")
|
||||
.HasColumnName("is_banned");
|
||||
|
||||
b.Property<string>("PrimaryUserUID")
|
||||
.HasColumnType("character varying(10)")
|
||||
.HasColumnName("primary_user_uid");
|
||||
|
||||
b.Property<string>("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<string>("CharacterIdentification")
|
||||
.HasMaxLength(100)
|
||||
.HasColumnType("character varying(100)")
|
||||
.HasColumnName("character_identification");
|
||||
|
||||
b.Property<string>("Reason")
|
||||
.HasColumnType("text")
|
||||
.HasColumnName("reason");
|
||||
|
||||
b.Property<byte[]>("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<string>("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.ClientPair", b =>
|
||||
{
|
||||
b.Property<string>("UserUID")
|
||||
.HasMaxLength(10)
|
||||
.HasColumnType("character varying(10)")
|
||||
.HasColumnName("user_uid");
|
||||
|
||||
b.Property<string>("OtherUserUID")
|
||||
.HasMaxLength(10)
|
||||
.HasColumnType("character varying(10)")
|
||||
.HasColumnName("other_user_uid");
|
||||
|
||||
b.Property<byte[]>("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<string>("Hash")
|
||||
.HasMaxLength(40)
|
||||
.HasColumnType("character varying(40)")
|
||||
.HasColumnName("hash");
|
||||
|
||||
b.Property<long>("Size")
|
||||
.HasColumnType("bigint")
|
||||
.HasColumnName("size");
|
||||
|
||||
b.Property<byte[]>("Timestamp")
|
||||
.IsConcurrencyToken()
|
||||
.ValueGeneratedOnAddOrUpdate()
|
||||
.HasColumnType("bytea")
|
||||
.HasColumnName("timestamp");
|
||||
|
||||
b.Property<DateTime>("UploadDate")
|
||||
.HasColumnType("timestamp with time zone")
|
||||
.HasColumnName("upload_date");
|
||||
|
||||
b.Property<bool>("Uploaded")
|
||||
.HasColumnType("boolean")
|
||||
.HasColumnName("uploaded");
|
||||
|
||||
b.Property<string>("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<string>("Hash")
|
||||
.HasMaxLength(40)
|
||||
.HasColumnType("character varying(40)")
|
||||
.HasColumnName("hash");
|
||||
|
||||
b.Property<string>("ForbiddenBy")
|
||||
.HasMaxLength(100)
|
||||
.HasColumnType("character varying(100)")
|
||||
.HasColumnName("forbidden_by");
|
||||
|
||||
b.Property<byte[]>("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<string>("GID")
|
||||
.HasMaxLength(20)
|
||||
.HasColumnType("character varying(20)")
|
||||
.HasColumnName("gid");
|
||||
|
||||
b.Property<string>("Alias")
|
||||
.HasMaxLength(50)
|
||||
.HasColumnType("character varying(50)")
|
||||
.HasColumnName("alias");
|
||||
|
||||
b.Property<string>("HashedPassword")
|
||||
.HasColumnType("text")
|
||||
.HasColumnName("hashed_password");
|
||||
|
||||
b.Property<bool>("InvitesEnabled")
|
||||
.HasColumnType("boolean")
|
||||
.HasColumnName("invites_enabled");
|
||||
|
||||
b.Property<string>("OwnerUID")
|
||||
.HasColumnType("character varying(10)")
|
||||
.HasColumnName("owner_uid");
|
||||
|
||||
b.Property<bool>("PreferDisableAnimations")
|
||||
.HasColumnType("boolean")
|
||||
.HasColumnName("prefer_disable_animations");
|
||||
|
||||
b.Property<bool>("PreferDisableSounds")
|
||||
.HasColumnType("boolean")
|
||||
.HasColumnName("prefer_disable_sounds");
|
||||
|
||||
b.Property<bool>("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<string>("GroupGID")
|
||||
.HasColumnType("character varying(20)")
|
||||
.HasColumnName("group_gid");
|
||||
|
||||
b.Property<string>("BannedUserUID")
|
||||
.HasColumnType("character varying(10)")
|
||||
.HasColumnName("banned_user_uid");
|
||||
|
||||
b.Property<string>("BannedByUID")
|
||||
.HasColumnType("character varying(10)")
|
||||
.HasColumnName("banned_by_uid");
|
||||
|
||||
b.Property<DateTime>("BannedOn")
|
||||
.HasColumnType("timestamp with time zone")
|
||||
.HasColumnName("banned_on");
|
||||
|
||||
b.Property<string>("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<string>("GroupGID")
|
||||
.HasColumnType("character varying(20)")
|
||||
.HasColumnName("group_gid");
|
||||
|
||||
b.Property<string>("GroupUserUID")
|
||||
.HasColumnType("character varying(10)")
|
||||
.HasColumnName("group_user_uid");
|
||||
|
||||
b.Property<bool>("IsModerator")
|
||||
.HasColumnType("boolean")
|
||||
.HasColumnName("is_moderator");
|
||||
|
||||
b.Property<bool>("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<string>("UserUID")
|
||||
.HasColumnType("character varying(10)")
|
||||
.HasColumnName("user_uid");
|
||||
|
||||
b.Property<string>("GroupGID")
|
||||
.HasColumnType("character varying(20)")
|
||||
.HasColumnName("group_gid");
|
||||
|
||||
b.Property<bool>("DisableAnimations")
|
||||
.HasColumnType("boolean")
|
||||
.HasColumnName("disable_animations");
|
||||
|
||||
b.Property<bool>("DisableSounds")
|
||||
.HasColumnType("boolean")
|
||||
.HasColumnName("disable_sounds");
|
||||
|
||||
b.Property<bool>("DisableVFX")
|
||||
.HasColumnType("boolean")
|
||||
.HasColumnName("disable_vfx");
|
||||
|
||||
b.Property<bool>("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<string>("GroupGID")
|
||||
.HasColumnType("character varying(20)")
|
||||
.HasColumnName("group_gid");
|
||||
|
||||
b.Property<string>("Invite")
|
||||
.HasMaxLength(64)
|
||||
.HasColumnType("character varying(64)")
|
||||
.HasColumnName("invite");
|
||||
|
||||
b.Property<DateTime>("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<decimal>("DiscordId")
|
||||
.ValueGeneratedOnAdd()
|
||||
.HasColumnType("numeric(20,0)")
|
||||
.HasColumnName("discord_id");
|
||||
|
||||
b.Property<string>("HashedLodestoneId")
|
||||
.HasMaxLength(100)
|
||||
.HasColumnType("character varying(100)")
|
||||
.HasColumnName("hashed_lodestone_id");
|
||||
|
||||
b.Property<string>("LodestoneAuthString")
|
||||
.HasMaxLength(100)
|
||||
.HasColumnType("character varying(100)")
|
||||
.HasColumnName("lodestone_auth_string");
|
||||
|
||||
b.Property<DateTime?>("StartedAt")
|
||||
.HasColumnType("timestamp with time zone")
|
||||
.HasColumnName("started_at");
|
||||
|
||||
b.Property<string>("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<string>("UID")
|
||||
.HasMaxLength(10)
|
||||
.HasColumnType("character varying(10)")
|
||||
.HasColumnName("uid");
|
||||
|
||||
b.Property<string>("Alias")
|
||||
.HasMaxLength(15)
|
||||
.HasColumnType("character varying(15)")
|
||||
.HasColumnName("alias");
|
||||
|
||||
b.Property<bool>("IsAdmin")
|
||||
.HasColumnType("boolean")
|
||||
.HasColumnName("is_admin");
|
||||
|
||||
b.Property<bool>("IsModerator")
|
||||
.HasColumnType("boolean")
|
||||
.HasColumnName("is_moderator");
|
||||
|
||||
b.Property<DateTime>("LastLoggedIn")
|
||||
.HasColumnType("timestamp with time zone")
|
||||
.HasColumnName("last_logged_in");
|
||||
|
||||
b.Property<byte[]>("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<string>("UserUID")
|
||||
.HasMaxLength(10)
|
||||
.HasColumnType("character varying(10)")
|
||||
.HasColumnName("user_uid");
|
||||
|
||||
b.Property<bool>("DisableGroupAnimations")
|
||||
.HasColumnType("boolean")
|
||||
.HasColumnName("disable_group_animations");
|
||||
|
||||
b.Property<bool>("DisableGroupSounds")
|
||||
.HasColumnType("boolean")
|
||||
.HasColumnName("disable_group_sounds");
|
||||
|
||||
b.Property<bool>("DisableGroupVFX")
|
||||
.HasColumnType("boolean")
|
||||
.HasColumnName("disable_group_vfx");
|
||||
|
||||
b.Property<bool>("DisableIndividualAnimations")
|
||||
.HasColumnType("boolean")
|
||||
.HasColumnName("disable_individual_animations");
|
||||
|
||||
b.Property<bool>("DisableIndividualSounds")
|
||||
.HasColumnType("boolean")
|
||||
.HasColumnName("disable_individual_sounds");
|
||||
|
||||
b.Property<bool>("DisableIndividualVFX")
|
||||
.HasColumnType("boolean")
|
||||
.HasColumnName("disable_individual_vfx");
|
||||
|
||||
b.Property<bool>("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.UserPermissionQuery", b =>
|
||||
{
|
||||
b.Property<string>("Alias")
|
||||
.HasColumnType("text")
|
||||
.HasColumnName("alias");
|
||||
|
||||
b.Property<string>("GID")
|
||||
.HasColumnType("text")
|
||||
.HasColumnName("gid");
|
||||
|
||||
b.Property<string>("OtherUserUID")
|
||||
.HasColumnType("text")
|
||||
.HasColumnName("other_user_uid");
|
||||
|
||||
b.Property<bool>("OtherpermDisableAnimations")
|
||||
.HasColumnType("boolean")
|
||||
.HasColumnName("otherperm_disable_animations");
|
||||
|
||||
b.Property<bool>("OtherpermDisableSounds")
|
||||
.HasColumnType("boolean")
|
||||
.HasColumnName("otherperm_disable_sounds");
|
||||
|
||||
b.Property<bool>("OtherpermDisableVFX")
|
||||
.HasColumnType("boolean")
|
||||
.HasColumnName("otherperm_disable_vfx");
|
||||
|
||||
b.Property<bool>("OtherpermIsPaused")
|
||||
.HasColumnType("boolean")
|
||||
.HasColumnName("otherperm_is_paused");
|
||||
|
||||
b.Property<bool>("OwnPermSticky")
|
||||
.HasColumnType("boolean")
|
||||
.HasColumnName("own_perm_sticky");
|
||||
|
||||
b.Property<bool>("OwnpermDisableAnimations")
|
||||
.HasColumnType("boolean")
|
||||
.HasColumnName("ownperm_disable_animations");
|
||||
|
||||
b.Property<bool>("OwnpermDisableSounds")
|
||||
.HasColumnType("boolean")
|
||||
.HasColumnName("ownperm_disable_sounds");
|
||||
|
||||
b.Property<bool>("OwnpermDisableVFX")
|
||||
.HasColumnType("boolean")
|
||||
.HasColumnName("ownperm_disable_vfx");
|
||||
|
||||
b.Property<bool>("OwnpermIsPaused")
|
||||
.HasColumnType("boolean")
|
||||
.HasColumnName("ownperm_is_paused");
|
||||
|
||||
b.Property<bool>("Synced")
|
||||
.HasColumnType("boolean")
|
||||
.HasColumnName("synced");
|
||||
|
||||
b.Property<string>("UserUID")
|
||||
.HasColumnType("text")
|
||||
.HasColumnName("user_uid");
|
||||
|
||||
b.ToTable("user_permission_query", null, t =>
|
||||
{
|
||||
t.ExcludeFromMigrations();
|
||||
});
|
||||
});
|
||||
|
||||
modelBuilder.Entity("MareSynchronosShared.Models.UserPermissionSet", b =>
|
||||
{
|
||||
b.Property<string>("UserUID")
|
||||
.HasColumnType("character varying(10)")
|
||||
.HasColumnName("user_uid");
|
||||
|
||||
b.Property<string>("OtherUserUID")
|
||||
.HasColumnType("character varying(10)")
|
||||
.HasColumnName("other_user_uid");
|
||||
|
||||
b.Property<bool>("DisableAnimations")
|
||||
.HasColumnType("boolean")
|
||||
.HasColumnName("disable_animations");
|
||||
|
||||
b.Property<bool>("DisableSounds")
|
||||
.HasColumnType("boolean")
|
||||
.HasColumnName("disable_sounds");
|
||||
|
||||
b.Property<bool>("DisableVFX")
|
||||
.HasColumnType("boolean")
|
||||
.HasColumnName("disable_vfx");
|
||||
|
||||
b.Property<bool>("IsPaused")
|
||||
.HasColumnType("boolean")
|
||||
.HasColumnName("is_paused");
|
||||
|
||||
b.Property<bool>("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.ToTable("user_permission_sets", (string)null);
|
||||
});
|
||||
|
||||
modelBuilder.Entity("MareSynchronosShared.Models.UserProfileData", b =>
|
||||
{
|
||||
b.Property<string>("UserUID")
|
||||
.HasColumnType("character varying(10)")
|
||||
.HasColumnName("user_uid");
|
||||
|
||||
b.Property<string>("Base64ProfileImage")
|
||||
.HasColumnType("text")
|
||||
.HasColumnName("base64profile_image");
|
||||
|
||||
b.Property<bool>("FlaggedForReport")
|
||||
.HasColumnType("boolean")
|
||||
.HasColumnName("flagged_for_report");
|
||||
|
||||
b.Property<bool>("IsNSFW")
|
||||
.HasColumnType("boolean")
|
||||
.HasColumnName("is_nsfw");
|
||||
|
||||
b.Property<bool>("ProfileDisabled")
|
||||
.HasColumnType("boolean")
|
||||
.HasColumnName("profile_disabled");
|
||||
|
||||
b.Property<string>("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.UserProfileDataReport", b =>
|
||||
{
|
||||
b.Property<int>("Id")
|
||||
.ValueGeneratedOnAdd()
|
||||
.HasColumnType("integer")
|
||||
.HasColumnName("id");
|
||||
|
||||
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
|
||||
|
||||
b.Property<DateTime>("ReportDate")
|
||||
.HasColumnType("timestamp with time zone")
|
||||
.HasColumnName("report_date");
|
||||
|
||||
b.Property<string>("ReportReason")
|
||||
.HasColumnType("text")
|
||||
.HasColumnName("report_reason");
|
||||
|
||||
b.Property<string>("ReportedUserUID")
|
||||
.HasColumnType("character varying(10)")
|
||||
.HasColumnName("reported_user_uid");
|
||||
|
||||
b.Property<string>("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")
|
||||
.WithMany()
|
||||
.HasForeignKey("PrimaryUserUID")
|
||||
.HasConstraintName("fk_auth_users_primary_user_temp_id");
|
||||
|
||||
b.HasOne("MareSynchronosShared.Models.User", "User")
|
||||
.WithMany()
|
||||
.HasForeignKey("UserUID")
|
||||
.HasConstraintName("fk_auth_users_user_temp_id1");
|
||||
|
||||
b.Navigation("PrimaryUser");
|
||||
|
||||
b.Navigation("User");
|
||||
});
|
||||
|
||||
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_temp_id2");
|
||||
|
||||
b.HasOne("MareSynchronosShared.Models.User", "User")
|
||||
.WithMany()
|
||||
.HasForeignKey("UserUID")
|
||||
.OnDelete(DeleteBehavior.Cascade)
|
||||
.IsRequired()
|
||||
.HasConstraintName("fk_client_pairs_users_user_temp_id3");
|
||||
|
||||
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_temp_id9");
|
||||
|
||||
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_temp_id5");
|
||||
|
||||
b.HasOne("MareSynchronosShared.Models.User", "BannedUser")
|
||||
.WithMany()
|
||||
.HasForeignKey("BannedUserUID")
|
||||
.OnDelete(DeleteBehavior.Cascade)
|
||||
.IsRequired()
|
||||
.HasConstraintName("fk_group_bans_users_banned_user_temp_id6");
|
||||
|
||||
b.HasOne("MareSynchronosShared.Models.Group", "Group")
|
||||
.WithMany()
|
||||
.HasForeignKey("GroupGID")
|
||||
.OnDelete(DeleteBehavior.Cascade)
|
||||
.IsRequired()
|
||||
.HasConstraintName("fk_group_bans_groups_group_temp_id");
|
||||
|
||||
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_temp_id2");
|
||||
|
||||
b.HasOne("MareSynchronosShared.Models.User", "GroupUser")
|
||||
.WithMany()
|
||||
.HasForeignKey("GroupUserUID")
|
||||
.OnDelete(DeleteBehavior.Cascade)
|
||||
.IsRequired()
|
||||
.HasConstraintName("fk_group_pairs_users_group_user_temp_id8");
|
||||
|
||||
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_temp_id1");
|
||||
|
||||
b.HasOne("MareSynchronosShared.Models.User", "User")
|
||||
.WithMany()
|
||||
.HasForeignKey("UserUID")
|
||||
.OnDelete(DeleteBehavior.Cascade)
|
||||
.IsRequired()
|
||||
.HasConstraintName("fk_group_pair_preferred_permissions_users_user_temp_id7");
|
||||
|
||||
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.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");
|
||||
});
|
||||
#pragma warning restore 612, 618
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,87 @@
|
||||
using Microsoft.EntityFrameworkCore.Migrations;
|
||||
|
||||
#nullable disable
|
||||
|
||||
namespace MareSynchronosServer.Migrations
|
||||
{
|
||||
/// <inheritdoc />
|
||||
public partial class AlterPermissions : Migration
|
||||
{
|
||||
/// <inheritdoc />
|
||||
protected override void Up(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
migrationBuilder.DropForeignKey(
|
||||
name: "fk_user_default_preferred_permissions_users_user_temp_id13",
|
||||
table: "user_default_preferred_permissions");
|
||||
|
||||
migrationBuilder.DropIndex(
|
||||
name: "ix_user_default_preferred_permissions_user_uid1",
|
||||
table: "user_default_preferred_permissions");
|
||||
|
||||
migrationBuilder.DropColumn(
|
||||
name: "user_uid1",
|
||||
table: "user_default_preferred_permissions");
|
||||
|
||||
migrationBuilder.AlterColumn<string>(
|
||||
name: "user_uid",
|
||||
table: "user_default_preferred_permissions",
|
||||
type: "character varying(10)",
|
||||
maxLength: 10,
|
||||
nullable: false,
|
||||
oldClrType: typeof(string),
|
||||
oldType: "text");
|
||||
|
||||
migrationBuilder.CreateIndex(
|
||||
name: "ix_user_default_preferred_permissions_user_uid",
|
||||
table: "user_default_preferred_permissions",
|
||||
column: "user_uid");
|
||||
|
||||
migrationBuilder.AddForeignKey(
|
||||
name: "fk_user_default_preferred_permissions_users_user_uid",
|
||||
table: "user_default_preferred_permissions",
|
||||
column: "user_uid",
|
||||
principalTable: "users",
|
||||
principalColumn: "uid",
|
||||
onDelete: ReferentialAction.Cascade);
|
||||
}
|
||||
|
||||
/// <inheritdoc />
|
||||
protected override void Down(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
migrationBuilder.DropForeignKey(
|
||||
name: "fk_user_default_preferred_permissions_users_user_uid",
|
||||
table: "user_default_preferred_permissions");
|
||||
|
||||
migrationBuilder.DropIndex(
|
||||
name: "ix_user_default_preferred_permissions_user_uid",
|
||||
table: "user_default_preferred_permissions");
|
||||
|
||||
migrationBuilder.AlterColumn<string>(
|
||||
name: "user_uid",
|
||||
table: "user_default_preferred_permissions",
|
||||
type: "text",
|
||||
nullable: false,
|
||||
oldClrType: typeof(string),
|
||||
oldType: "character varying(10)",
|
||||
oldMaxLength: 10);
|
||||
|
||||
migrationBuilder.AddColumn<string>(
|
||||
name: "user_uid1",
|
||||
table: "user_default_preferred_permissions",
|
||||
type: "character varying(10)",
|
||||
nullable: true);
|
||||
|
||||
migrationBuilder.CreateIndex(
|
||||
name: "ix_user_default_preferred_permissions_user_uid1",
|
||||
table: "user_default_preferred_permissions",
|
||||
column: "user_uid1");
|
||||
|
||||
migrationBuilder.AddForeignKey(
|
||||
name: "fk_user_default_preferred_permissions_users_user_temp_id13",
|
||||
table: "user_default_preferred_permissions",
|
||||
column: "user_uid1",
|
||||
principalTable: "users",
|
||||
principalColumn: "uid");
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -17,7 +17,7 @@ namespace MareSynchronosServer.Migrations
|
||||
{
|
||||
#pragma warning disable 612, 618
|
||||
modelBuilder
|
||||
.HasAnnotation("ProductVersion", "7.0.4")
|
||||
.HasAnnotation("ProductVersion", "7.0.5")
|
||||
.HasAnnotation("Relational:MaxIdentifierLength", 63);
|
||||
|
||||
NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder);
|
||||
@@ -101,26 +101,6 @@ namespace MareSynchronosServer.Migrations
|
||||
.HasColumnType("character varying(10)")
|
||||
.HasColumnName("other_user_uid");
|
||||
|
||||
b.Property<bool>("AllowReceivingMessages")
|
||||
.HasColumnType("boolean")
|
||||
.HasColumnName("allow_receiving_messages");
|
||||
|
||||
b.Property<bool>("DisableAnimations")
|
||||
.HasColumnType("boolean")
|
||||
.HasColumnName("disable_animations");
|
||||
|
||||
b.Property<bool>("DisableSounds")
|
||||
.HasColumnType("boolean")
|
||||
.HasColumnName("disable_sounds");
|
||||
|
||||
b.Property<bool>("DisableVFX")
|
||||
.HasColumnType("boolean")
|
||||
.HasColumnName("disable_vfx");
|
||||
|
||||
b.Property<bool>("IsPaused")
|
||||
.HasColumnType("boolean")
|
||||
.HasColumnName("is_paused");
|
||||
|
||||
b.Property<byte[]>("Timestamp")
|
||||
.IsConcurrencyToken()
|
||||
.ValueGeneratedOnAddOrUpdate()
|
||||
@@ -214,18 +194,6 @@ namespace MareSynchronosServer.Migrations
|
||||
.HasColumnType("character varying(50)")
|
||||
.HasColumnName("alias");
|
||||
|
||||
b.Property<bool>("DisableAnimations")
|
||||
.HasColumnType("boolean")
|
||||
.HasColumnName("disable_animations");
|
||||
|
||||
b.Property<bool>("DisableSounds")
|
||||
.HasColumnType("boolean")
|
||||
.HasColumnName("disable_sounds");
|
||||
|
||||
b.Property<bool>("DisableVFX")
|
||||
.HasColumnType("boolean")
|
||||
.HasColumnName("disable_vfx");
|
||||
|
||||
b.Property<string>("HashedPassword")
|
||||
.HasColumnType("text")
|
||||
.HasColumnName("hashed_password");
|
||||
@@ -238,6 +206,18 @@ namespace MareSynchronosServer.Migrations
|
||||
.HasColumnType("character varying(10)")
|
||||
.HasColumnName("owner_uid");
|
||||
|
||||
b.Property<bool>("PreferDisableAnimations")
|
||||
.HasColumnType("boolean")
|
||||
.HasColumnName("prefer_disable_animations");
|
||||
|
||||
b.Property<bool>("PreferDisableSounds")
|
||||
.HasColumnType("boolean")
|
||||
.HasColumnName("prefer_disable_sounds");
|
||||
|
||||
b.Property<bool>("PreferDisableVFX")
|
||||
.HasColumnType("boolean")
|
||||
.HasColumnName("prefer_disable_vfx");
|
||||
|
||||
b.HasKey("GID")
|
||||
.HasName("pk_groups");
|
||||
|
||||
@@ -294,26 +274,10 @@ namespace MareSynchronosServer.Migrations
|
||||
.HasColumnType("character varying(10)")
|
||||
.HasColumnName("group_user_uid");
|
||||
|
||||
b.Property<bool>("DisableAnimations")
|
||||
.HasColumnType("boolean")
|
||||
.HasColumnName("disable_animations");
|
||||
|
||||
b.Property<bool>("DisableSounds")
|
||||
.HasColumnType("boolean")
|
||||
.HasColumnName("disable_sounds");
|
||||
|
||||
b.Property<bool>("DisableVFX")
|
||||
.HasColumnType("boolean")
|
||||
.HasColumnName("disable_vfx");
|
||||
|
||||
b.Property<bool>("IsModerator")
|
||||
.HasColumnType("boolean")
|
||||
.HasColumnName("is_moderator");
|
||||
|
||||
b.Property<bool>("IsPaused")
|
||||
.HasColumnType("boolean")
|
||||
.HasColumnName("is_paused");
|
||||
|
||||
b.Property<bool>("IsPinned")
|
||||
.HasColumnType("boolean")
|
||||
.HasColumnName("is_pinned");
|
||||
@@ -330,6 +294,44 @@ namespace MareSynchronosServer.Migrations
|
||||
b.ToTable("group_pairs", (string)null);
|
||||
});
|
||||
|
||||
modelBuilder.Entity("MareSynchronosShared.Models.GroupPairPreferredPermission", b =>
|
||||
{
|
||||
b.Property<string>("UserUID")
|
||||
.HasColumnType("character varying(10)")
|
||||
.HasColumnName("user_uid");
|
||||
|
||||
b.Property<string>("GroupGID")
|
||||
.HasColumnType("character varying(20)")
|
||||
.HasColumnName("group_gid");
|
||||
|
||||
b.Property<bool>("DisableAnimations")
|
||||
.HasColumnType("boolean")
|
||||
.HasColumnName("disable_animations");
|
||||
|
||||
b.Property<bool>("DisableSounds")
|
||||
.HasColumnType("boolean")
|
||||
.HasColumnName("disable_sounds");
|
||||
|
||||
b.Property<bool>("DisableVFX")
|
||||
.HasColumnType("boolean")
|
||||
.HasColumnName("disable_vfx");
|
||||
|
||||
b.Property<bool>("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<string>("GroupGID")
|
||||
@@ -427,6 +429,156 @@ namespace MareSynchronosServer.Migrations
|
||||
b.ToTable("users", (string)null);
|
||||
});
|
||||
|
||||
modelBuilder.Entity("MareSynchronosShared.Models.UserDefaultPreferredPermission", b =>
|
||||
{
|
||||
b.Property<string>("UserUID")
|
||||
.HasMaxLength(10)
|
||||
.HasColumnType("character varying(10)")
|
||||
.HasColumnName("user_uid");
|
||||
|
||||
b.Property<bool>("DisableGroupAnimations")
|
||||
.HasColumnType("boolean")
|
||||
.HasColumnName("disable_group_animations");
|
||||
|
||||
b.Property<bool>("DisableGroupSounds")
|
||||
.HasColumnType("boolean")
|
||||
.HasColumnName("disable_group_sounds");
|
||||
|
||||
b.Property<bool>("DisableGroupVFX")
|
||||
.HasColumnType("boolean")
|
||||
.HasColumnName("disable_group_vfx");
|
||||
|
||||
b.Property<bool>("DisableIndividualAnimations")
|
||||
.HasColumnType("boolean")
|
||||
.HasColumnName("disable_individual_animations");
|
||||
|
||||
b.Property<bool>("DisableIndividualSounds")
|
||||
.HasColumnType("boolean")
|
||||
.HasColumnName("disable_individual_sounds");
|
||||
|
||||
b.Property<bool>("DisableIndividualVFX")
|
||||
.HasColumnType("boolean")
|
||||
.HasColumnName("disable_individual_vfx");
|
||||
|
||||
b.Property<bool>("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.UserPermissionQuery", b =>
|
||||
{
|
||||
b.Property<string>("Alias")
|
||||
.HasColumnType("text")
|
||||
.HasColumnName("alias");
|
||||
|
||||
b.Property<string>("GID")
|
||||
.HasColumnType("text")
|
||||
.HasColumnName("gid");
|
||||
|
||||
b.Property<string>("OtherUserUID")
|
||||
.HasColumnType("text")
|
||||
.HasColumnName("other_user_uid");
|
||||
|
||||
b.Property<bool>("OtherpermDisableAnimations")
|
||||
.HasColumnType("boolean")
|
||||
.HasColumnName("otherperm_disable_animations");
|
||||
|
||||
b.Property<bool>("OtherpermDisableSounds")
|
||||
.HasColumnType("boolean")
|
||||
.HasColumnName("otherperm_disable_sounds");
|
||||
|
||||
b.Property<bool>("OtherpermDisableVFX")
|
||||
.HasColumnType("boolean")
|
||||
.HasColumnName("otherperm_disable_vfx");
|
||||
|
||||
b.Property<bool>("OtherpermIsPaused")
|
||||
.HasColumnType("boolean")
|
||||
.HasColumnName("otherperm_is_paused");
|
||||
|
||||
b.Property<bool>("OwnPermSticky")
|
||||
.HasColumnType("boolean")
|
||||
.HasColumnName("own_perm_sticky");
|
||||
|
||||
b.Property<bool>("OwnpermDisableAnimations")
|
||||
.HasColumnType("boolean")
|
||||
.HasColumnName("ownperm_disable_animations");
|
||||
|
||||
b.Property<bool>("OwnpermDisableSounds")
|
||||
.HasColumnType("boolean")
|
||||
.HasColumnName("ownperm_disable_sounds");
|
||||
|
||||
b.Property<bool>("OwnpermDisableVFX")
|
||||
.HasColumnType("boolean")
|
||||
.HasColumnName("ownperm_disable_vfx");
|
||||
|
||||
b.Property<bool>("OwnpermIsPaused")
|
||||
.HasColumnType("boolean")
|
||||
.HasColumnName("ownperm_is_paused");
|
||||
|
||||
b.Property<bool>("Synced")
|
||||
.HasColumnType("boolean")
|
||||
.HasColumnName("synced");
|
||||
|
||||
b.Property<string>("UserUID")
|
||||
.HasColumnType("text")
|
||||
.HasColumnName("user_uid");
|
||||
|
||||
b.ToTable("user_permission_query", null, t =>
|
||||
{
|
||||
t.ExcludeFromMigrations();
|
||||
});
|
||||
});
|
||||
|
||||
modelBuilder.Entity("MareSynchronosShared.Models.UserPermissionSet", b =>
|
||||
{
|
||||
b.Property<string>("UserUID")
|
||||
.HasColumnType("character varying(10)")
|
||||
.HasColumnName("user_uid");
|
||||
|
||||
b.Property<string>("OtherUserUID")
|
||||
.HasColumnType("character varying(10)")
|
||||
.HasColumnName("other_user_uid");
|
||||
|
||||
b.Property<bool>("DisableAnimations")
|
||||
.HasColumnType("boolean")
|
||||
.HasColumnName("disable_animations");
|
||||
|
||||
b.Property<bool>("DisableSounds")
|
||||
.HasColumnType("boolean")
|
||||
.HasColumnName("disable_sounds");
|
||||
|
||||
b.Property<bool>("DisableVFX")
|
||||
.HasColumnType("boolean")
|
||||
.HasColumnName("disable_vfx");
|
||||
|
||||
b.Property<bool>("IsPaused")
|
||||
.HasColumnType("boolean")
|
||||
.HasColumnName("is_paused");
|
||||
|
||||
b.Property<bool>("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.ToTable("user_permission_sets", (string)null);
|
||||
});
|
||||
|
||||
modelBuilder.Entity("MareSynchronosShared.Models.UserProfileData", b =>
|
||||
{
|
||||
b.Property<string>("UserUID")
|
||||
@@ -549,7 +701,7 @@ namespace MareSynchronosServer.Migrations
|
||||
b.HasOne("MareSynchronosShared.Models.User", "Owner")
|
||||
.WithMany()
|
||||
.HasForeignKey("OwnerUID")
|
||||
.HasConstraintName("fk_groups_users_owner_temp_id8");
|
||||
.HasConstraintName("fk_groups_users_owner_temp_id9");
|
||||
|
||||
b.Navigation("Owner");
|
||||
});
|
||||
@@ -589,20 +741,41 @@ namespace MareSynchronosServer.Migrations
|
||||
.HasForeignKey("GroupGID")
|
||||
.OnDelete(DeleteBehavior.Cascade)
|
||||
.IsRequired()
|
||||
.HasConstraintName("fk_group_pairs_groups_group_temp_id1");
|
||||
.HasConstraintName("fk_group_pairs_groups_group_temp_id2");
|
||||
|
||||
b.HasOne("MareSynchronosShared.Models.User", "GroupUser")
|
||||
.WithMany()
|
||||
.HasForeignKey("GroupUserUID")
|
||||
.OnDelete(DeleteBehavior.Cascade)
|
||||
.IsRequired()
|
||||
.HasConstraintName("fk_group_pairs_users_group_user_temp_id7");
|
||||
.HasConstraintName("fk_group_pairs_users_group_user_temp_id8");
|
||||
|
||||
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_temp_id1");
|
||||
|
||||
b.HasOne("MareSynchronosShared.Models.User", "User")
|
||||
.WithMany()
|
||||
.HasForeignKey("UserUID")
|
||||
.OnDelete(DeleteBehavior.Cascade)
|
||||
.IsRequired()
|
||||
.HasConstraintName("fk_group_pair_preferred_permissions_users_user_temp_id7");
|
||||
|
||||
b.Navigation("Group");
|
||||
|
||||
b.Navigation("User");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("MareSynchronosShared.Models.GroupTempInvite", b =>
|
||||
{
|
||||
b.HasOne("MareSynchronosShared.Models.Group", "Group")
|
||||
@@ -625,6 +798,39 @@ 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")
|
||||
|
||||
Reference in New Issue
Block a user