ConGroups are gone. Long live admin flags in content.
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using System.ComponentModel.DataAnnotations.Schema;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
|
||||
@@ -26,6 +27,8 @@ namespace Content.Server.Database
|
||||
public DbSet<Preference> Preference { get; set; } = null!;
|
||||
public DbSet<Profile> Profile { get; set; } = null!;
|
||||
public DbSet<AssignedUserId> AssignedUserId { get; set; } = null!;
|
||||
public DbSet<Admin> Admin { get; set; } = null!;
|
||||
public DbSet<AdminRank> AdminRank { get; set; } = null!;
|
||||
|
||||
protected override void OnModelCreating(ModelBuilder modelBuilder)
|
||||
{
|
||||
@@ -49,6 +52,11 @@ namespace Content.Server.Database
|
||||
modelBuilder.Entity<AssignedUserId>()
|
||||
.HasIndex(p => p.UserId)
|
||||
.IsUnique();
|
||||
|
||||
modelBuilder.Entity<Admin>()
|
||||
.HasOne(p => p.AdminRank)
|
||||
.WithMany(p => p!.Admins)
|
||||
.OnDelete(DeleteBehavior.SetNull);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -135,4 +143,46 @@ namespace Content.Server.Database
|
||||
|
||||
[Column("user_id")] public Guid UserId { get; set; }
|
||||
}
|
||||
|
||||
[Table("admin")]
|
||||
public class Admin
|
||||
{
|
||||
[Column("user_id"), Key] public Guid UserId { get; set; }
|
||||
[Column("title")] public string? Title { get; set; }
|
||||
|
||||
[Column("admin_rank_id")] public int? AdminRankId { get; set; }
|
||||
public AdminRank? AdminRank { get; set; }
|
||||
public List<AdminFlag> Flags { get; set; } = default!;
|
||||
}
|
||||
|
||||
[Table("admin_flag")]
|
||||
public class AdminFlag
|
||||
{
|
||||
[Column("admin_flag_id")] public int Id { get; set; }
|
||||
[Column("flag")] public string Flag { get; set; } = default!;
|
||||
[Column("negative")] public bool Negative { get; set; }
|
||||
|
||||
[Column("admin_id")] public Guid AdminId { get; set; }
|
||||
public Admin Admin { get; set; } = default!;
|
||||
}
|
||||
|
||||
[Table("admin_rank")]
|
||||
public class AdminRank
|
||||
{
|
||||
[Column("admin_rank_id")] public int Id { get; set; }
|
||||
[Column("name")] public string Name { get; set; } = default!;
|
||||
|
||||
public List<Admin> Admins { get; set; } = default!;
|
||||
public List<AdminRankFlag> Flags { get; set; } = default!;
|
||||
}
|
||||
|
||||
[Table("admin_rank_flag")]
|
||||
public class AdminRankFlag
|
||||
{
|
||||
[Column("admin_rank_flag_id")] public int Id { get; set; }
|
||||
[Column("flag")] public string Flag { get; set; } = default!;
|
||||
|
||||
[Column("admin_rank_id")] public int AdminRankId { get; set; }
|
||||
public AdminRank Rank { get; set; } = default!;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user