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:
@@ -122,7 +122,10 @@ public class MareDbContext : DbContext
|
||||
mb.Entity<CharaDataOriginalFile>().HasKey(c => new { c.ParentId, c.ParentUploaderUID, c.GamePath });
|
||||
mb.Entity<CharaDataOriginalFile>().HasIndex(c => c.ParentId);
|
||||
mb.Entity<CharaDataAllowance>().ToTable("chara_data_allowance");
|
||||
mb.Entity<CharaDataAllowance>().HasKey(c => new { c.ParentId, c.ParentUploaderUID, c.AllowedUserUID });
|
||||
mb.Entity<CharaDataAllowance>().HasKey(c => new { c.ParentId, c.ParentUploaderUID, c.Id });
|
||||
mb.Entity<CharaDataAllowance>().Property(p => p.Id).ValueGeneratedOnAdd();
|
||||
mb.Entity<CharaDataAllowance>().HasIndex(c => c.ParentId);
|
||||
mb.Entity<CharaDataAllowance>().HasOne(u => u.AllowedGroup).WithMany().HasForeignKey(u => u.AllowedGroupGID).OnDelete(DeleteBehavior.Cascade);
|
||||
mb.Entity<CharaDataAllowance>().HasOne(u => u.AllowedUser).WithMany().HasForeignKey(u => u.AllowedUserUID).OnDelete(DeleteBehavior.Cascade);
|
||||
}
|
||||
}
|
||||
1094
MareSynchronosServer/MareSynchronosShared/Migrations/20250627204223_AllowedGroup.Designer.cs
generated
Normal file
1094
MareSynchronosServer/MareSynchronosShared/Migrations/20250627204223_AllowedGroup.Designer.cs
generated
Normal file
File diff suppressed because it is too large
Load Diff
@@ -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" });
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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");
|
||||
|
||||
@@ -40,11 +40,15 @@ public class CharaData
|
||||
|
||||
public class CharaDataAllowance
|
||||
{
|
||||
[Key]
|
||||
public long Id { get; set; }
|
||||
public virtual CharaData Parent { get; set; }
|
||||
public string ParentId { get; set; }
|
||||
public string ParentUploaderUID { get; set; }
|
||||
public virtual User AllowedUser { get; set; }
|
||||
public string AllowedUserUID { get; set; }
|
||||
public virtual User? AllowedUser { get; set; }
|
||||
public string? AllowedUserUID { get; set; }
|
||||
public virtual Group? AllowedGroup { get; set; }
|
||||
public string? AllowedGroupGID { get; set; }
|
||||
}
|
||||
|
||||
public class CharaDataOriginalFile
|
||||
|
||||
Reference in New Issue
Block a user