MCDO fixes

add groups to individuals stuff

don't show your own data lmao

don't allow to share to not joined groups

fix shared bug maybe

fucking braces

improve CharaDataGetShared()

remove unnecessary double-query on get shared data

optimize

remove shit
This commit is contained in:
Stanley Dimant
2025-01-12 12:46:26 +01:00
committed by Loporrit
parent f225323c40
commit 156c3d80ed
9 changed files with 1327 additions and 65 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,98 @@
using Microsoft.EntityFrameworkCore.Migrations;
using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata;
#nullable disable
namespace MareSynchronosServer.Migrations
{
/// <inheritdoc />
public partial class AllowedGroup : Migration
{
/// <inheritdoc />
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropPrimaryKey(
name: "pk_chara_data_allowance",
table: "chara_data_allowance");
migrationBuilder.AlterColumn<string>(
name: "allowed_user_uid",
table: "chara_data_allowance",
type: "character varying(10)",
nullable: true,
oldClrType: typeof(string),
oldType: "character varying(10)");
migrationBuilder.AddColumn<long>(
name: "id",
table: "chara_data_allowance",
type: "bigint",
nullable: false,
defaultValue: 0L)
.Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn);
migrationBuilder.AddColumn<string>(
name: "allowed_group_gid",
table: "chara_data_allowance",
type: "character varying(20)",
nullable: true);
migrationBuilder.AddPrimaryKey(
name: "pk_chara_data_allowance",
table: "chara_data_allowance",
columns: new[] { "parent_id", "parent_uploader_uid", "id" });
migrationBuilder.CreateIndex(
name: "ix_chara_data_allowance_allowed_group_gid",
table: "chara_data_allowance",
column: "allowed_group_gid");
migrationBuilder.AddForeignKey(
name: "fk_chara_data_allowance_groups_allowed_group_gid",
table: "chara_data_allowance",
column: "allowed_group_gid",
principalTable: "groups",
principalColumn: "gid",
onDelete: ReferentialAction.Cascade);
}
/// <inheritdoc />
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropForeignKey(
name: "fk_chara_data_allowance_groups_allowed_group_gid",
table: "chara_data_allowance");
migrationBuilder.DropPrimaryKey(
name: "pk_chara_data_allowance",
table: "chara_data_allowance");
migrationBuilder.DropIndex(
name: "ix_chara_data_allowance_allowed_group_gid",
table: "chara_data_allowance");
migrationBuilder.DropColumn(
name: "id",
table: "chara_data_allowance");
migrationBuilder.DropColumn(
name: "allowed_group_gid",
table: "chara_data_allowance");
migrationBuilder.AlterColumn<string>(
name: "allowed_user_uid",
table: "chara_data_allowance",
type: "character varying(10)",
nullable: false,
defaultValue: "",
oldClrType: typeof(string),
oldType: "character varying(10)",
oldNullable: true);
migrationBuilder.AddPrimaryKey(
name: "pk_chara_data_allowance",
table: "chara_data_allowance",
columns: new[] { "parent_id", "parent_uploader_uid", "allowed_user_uid" });
}
}
}

View File

@@ -161,13 +161,27 @@ namespace MareSynchronosServer.Migrations
.HasColumnType("character varying(10)")
.HasColumnName("parent_uploader_uid");
b.Property<long>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("bigint")
.HasColumnName("id");
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<long>("Id"));
b.Property<string>("AllowedGroupGID")
.HasColumnType("character varying(20)")
.HasColumnName("allowed_group_gid");
b.Property<string>("AllowedUserUID")
.HasColumnType("character varying(10)")
.HasColumnName("allowed_user_uid");
b.HasKey("ParentId", "ParentUploaderUID", "AllowedUserUID")
b.HasKey("ParentId", "ParentUploaderUID", "Id")
.HasName("pk_chara_data_allowance");
b.HasIndex("AllowedGroupGID")
.HasDatabaseName("ix_chara_data_allowance_allowed_group_gid");
b.HasIndex("AllowedUserUID")
.HasDatabaseName("ix_chara_data_allowance_allowed_user_uid");
@@ -737,11 +751,16 @@ namespace MareSynchronosServer.Migrations
modelBuilder.Entity("MareSynchronosShared.Models.CharaDataAllowance", b =>
{
b.HasOne("MareSynchronosShared.Models.Group", "AllowedGroup")
.WithMany()
.HasForeignKey("AllowedGroupGID")
.OnDelete(DeleteBehavior.Cascade)
.HasConstraintName("fk_chara_data_allowance_groups_allowed_group_gid");
b.HasOne("MareSynchronosShared.Models.User", "AllowedUser")
.WithMany()
.HasForeignKey("AllowedUserUID")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired()
.HasConstraintName("fk_chara_data_allowance_users_allowed_user_uid");
b.HasOne("MareSynchronosShared.Models.CharaData", "Parent")
@@ -751,6 +770,8 @@ namespace MareSynchronosServer.Migrations
.IsRequired()
.HasConstraintName("fk_chara_data_allowance_chara_data_parent_id_parent_uploader_u");
b.Navigation("AllowedGroup");
b.Navigation("AllowedUser");
b.Navigation("Parent");