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:
rootdarkarchon
2023-10-17 21:36:33 +02:00
committed by GitHub
parent 2c9d432fed
commit 302e6ffb62
39 changed files with 3564 additions and 454 deletions

View File

@@ -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")