add groups to individuals stuff

This commit is contained in:
Stanley Dimant
2025-01-12 12:46:26 +01:00
parent 5ddbb79587
commit 31fb0e2384
7 changed files with 1303 additions and 28 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

@@ -17,7 +17,7 @@ namespace MareSynchronosServer.Migrations
{
#pragma warning disable 612, 618
modelBuilder
.HasAnnotation("ProductVersion", "8.0.10")
.HasAnnotation("ProductVersion", "9.0.0")
.HasAnnotation("Relational:MaxIdentifierLength", 63);
NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder);
@@ -165,13 +165,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");
@@ -799,11 +813,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")
@@ -813,6 +832,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");