diff --git a/Content.Server.Database/Content.Server.Database.csproj b/Content.Server.Database/Content.Server.Database.csproj
index 46105a759b..c1baa7c03b 100644
--- a/Content.Server.Database/Content.Server.Database.csproj
+++ b/Content.Server.Database/Content.Server.Database.csproj
@@ -24,6 +24,11 @@
-
+
+
+
+
+
+
diff --git a/Content.Server.Database/Migrations/Postgres/20220127174744_ServerBanHit.Designer.cs b/Content.Server.Database/Migrations/Postgres/20220127174744_ServerBanHit.Designer.cs
deleted file mode 100644
index 01f318b770..0000000000
--- a/Content.Server.Database/Migrations/Postgres/20220127174744_ServerBanHit.Designer.cs
+++ /dev/null
@@ -1,931 +0,0 @@
-//
-using System;
-using System.Net;
-using System.Text.Json;
-using Content.Server.Database;
-using Microsoft.EntityFrameworkCore;
-using Microsoft.EntityFrameworkCore.Infrastructure;
-using Microsoft.EntityFrameworkCore.Migrations;
-using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
-using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata;
-
-#nullable disable
-
-namespace Content.Server.Database.Migrations.Postgres
-{
- [DbContext(typeof(PostgresServerDbContext))]
- [Migration("20220127174744_ServerBanHit")]
- partial class ServerBanHit
- {
- protected override void BuildTargetModel(ModelBuilder modelBuilder)
- {
-#pragma warning disable 612, 618
- modelBuilder
- .HasAnnotation("ProductVersion", "6.0.0")
- .HasAnnotation("Relational:MaxIdentifierLength", 63);
-
- NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder);
-
- modelBuilder.Entity("Content.Server.Database.Admin", b =>
- {
- b.Property("UserId")
- .ValueGeneratedOnAdd()
- .HasColumnType("uuid")
- .HasColumnName("user_id");
-
- b.Property("AdminRankId")
- .HasColumnType("integer")
- .HasColumnName("admin_rank_id");
-
- b.Property("Title")
- .HasColumnType("text")
- .HasColumnName("title");
-
- b.HasKey("UserId")
- .HasName("PK_admin");
-
- b.HasIndex("AdminRankId")
- .HasDatabaseName("IX_admin_admin_rank_id");
-
- b.ToTable("admin", (string)null);
- });
-
- modelBuilder.Entity("Content.Server.Database.AdminFlag", b =>
- {
- b.Property("Id")
- .ValueGeneratedOnAdd()
- .HasColumnType("integer")
- .HasColumnName("admin_flag_id");
-
- NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id"));
-
- b.Property("AdminId")
- .HasColumnType("uuid")
- .HasColumnName("admin_id");
-
- b.Property("Flag")
- .IsRequired()
- .HasColumnType("text")
- .HasColumnName("flag");
-
- b.Property("Negative")
- .HasColumnType("boolean")
- .HasColumnName("negative");
-
- b.HasKey("Id")
- .HasName("PK_admin_flag");
-
- b.HasIndex("AdminId")
- .HasDatabaseName("IX_admin_flag_admin_id");
-
- b.HasIndex("Flag", "AdminId")
- .IsUnique();
-
- b.ToTable("admin_flag", (string)null);
- });
-
- modelBuilder.Entity("Content.Server.Database.AdminLog", b =>
- {
- b.Property("Id")
- .ValueGeneratedOnAdd()
- .HasColumnType("integer")
- .HasColumnName("admin_log_id");
-
- NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id"));
-
- b.Property("RoundId")
- .HasColumnType("integer")
- .HasColumnName("round_id");
-
- b.Property("Date")
- .HasColumnType("timestamp with time zone")
- .HasColumnName("date");
-
- b.Property("Impact")
- .HasColumnType("smallint")
- .HasColumnName("impact");
-
- b.Property("Json")
- .IsRequired()
- .HasColumnType("jsonb")
- .HasColumnName("json");
-
- b.Property("Message")
- .IsRequired()
- .HasColumnType("text")
- .HasColumnName("message");
-
- b.Property("Type")
- .HasColumnType("integer")
- .HasColumnName("type");
-
- b.HasKey("Id", "RoundId")
- .HasName("PK_admin_log");
-
- b.HasIndex("RoundId")
- .HasDatabaseName("IX_admin_log_round_id");
-
- b.HasIndex("Type")
- .HasDatabaseName("IX_admin_log_type");
-
- b.ToTable("admin_log", (string)null);
- });
-
- modelBuilder.Entity("Content.Server.Database.AdminLogEntity", b =>
- {
- b.Property("Uid")
- .ValueGeneratedOnAdd()
- .HasColumnType("integer")
- .HasColumnName("uid");
-
- NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Uid"));
-
- b.Property("AdminLogId")
- .HasColumnType("integer")
- .HasColumnName("admin_log_id");
-
- b.Property("AdminLogRoundId")
- .HasColumnType("integer")
- .HasColumnName("admin_log_round_id");
-
- b.Property("Name")
- .HasColumnType("text")
- .HasColumnName("name");
-
- b.HasKey("Uid")
- .HasName("PK_admin_log_entity");
-
- b.HasIndex("AdminLogId", "AdminLogRoundId")
- .HasDatabaseName("IX_admin_log_entity_admin_log_id_admin_log_round_id");
-
- b.ToTable("admin_log_entity", (string)null);
- });
-
- modelBuilder.Entity("Content.Server.Database.AdminLogPlayer", b =>
- {
- b.Property("PlayerUserId")
- .HasColumnType("uuid")
- .HasColumnName("player_user_id");
-
- b.Property("LogId")
- .HasColumnType("integer")
- .HasColumnName("log_id");
-
- b.Property("RoundId")
- .HasColumnType("integer")
- .HasColumnName("round_id");
-
- b.HasKey("PlayerUserId", "LogId", "RoundId")
- .HasName("PK_admin_log_player");
-
- b.HasIndex("LogId", "RoundId");
-
- b.ToTable("admin_log_player", (string)null);
- });
-
- modelBuilder.Entity("Content.Server.Database.AdminRank", b =>
- {
- b.Property("Id")
- .ValueGeneratedOnAdd()
- .HasColumnType("integer")
- .HasColumnName("admin_rank_id");
-
- NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id"));
-
- b.Property("Name")
- .IsRequired()
- .HasColumnType("text")
- .HasColumnName("name");
-
- b.HasKey("Id")
- .HasName("PK_admin_rank");
-
- b.ToTable("admin_rank", (string)null);
- });
-
- modelBuilder.Entity("Content.Server.Database.AdminRankFlag", b =>
- {
- b.Property("Id")
- .ValueGeneratedOnAdd()
- .HasColumnType("integer")
- .HasColumnName("admin_rank_flag_id");
-
- NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id"));
-
- b.Property("AdminRankId")
- .HasColumnType("integer")
- .HasColumnName("admin_rank_id");
-
- b.Property("Flag")
- .IsRequired()
- .HasColumnType("text")
- .HasColumnName("flag");
-
- b.HasKey("Id")
- .HasName("PK_admin_rank_flag");
-
- b.HasIndex("AdminRankId")
- .HasDatabaseName("IX_admin_rank_flag_admin_rank_id");
-
- b.HasIndex("Flag", "AdminRankId")
- .IsUnique();
-
- b.ToTable("admin_rank_flag", (string)null);
- });
-
- modelBuilder.Entity("Content.Server.Database.Antag", b =>
- {
- b.Property("Id")
- .ValueGeneratedOnAdd()
- .HasColumnType("integer")
- .HasColumnName("antag_id");
-
- NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id"));
-
- b.Property("AntagName")
- .IsRequired()
- .HasColumnType("text")
- .HasColumnName("antag_name");
-
- b.Property("ProfileId")
- .HasColumnType("integer")
- .HasColumnName("profile_id");
-
- b.HasKey("Id")
- .HasName("PK_antag");
-
- b.HasIndex("ProfileId", "AntagName")
- .IsUnique();
-
- b.ToTable("antag", (string)null);
- });
-
- modelBuilder.Entity("Content.Server.Database.AssignedUserId", b =>
- {
- b.Property("Id")
- .ValueGeneratedOnAdd()
- .HasColumnType("integer")
- .HasColumnName("assigned_user_id_id");
-
- NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id"));
-
- b.Property("UserId")
- .HasColumnType("uuid")
- .HasColumnName("user_id");
-
- b.Property("UserName")
- .IsRequired()
- .HasColumnType("text")
- .HasColumnName("user_name");
-
- b.HasKey("Id")
- .HasName("PK_assigned_user_id");
-
- b.HasIndex("UserId")
- .IsUnique();
-
- b.HasIndex("UserName")
- .IsUnique();
-
- b.ToTable("assigned_user_id", (string)null);
- });
-
- modelBuilder.Entity("Content.Server.Database.ConnectionLog", b =>
- {
- b.Property("Id")
- .ValueGeneratedOnAdd()
- .HasColumnType("integer")
- .HasColumnName("connection_log_id");
-
- NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id"));
-
- b.Property("Address")
- .IsRequired()
- .HasColumnType("inet")
- .HasColumnName("address");
-
- b.Property("Denied")
- .HasColumnType("smallint")
- .HasColumnName("denied");
-
- b.Property("HWId")
- .HasColumnType("bytea")
- .HasColumnName("hwid");
-
- b.Property("Time")
- .HasColumnType("timestamp with time zone")
- .HasColumnName("time");
-
- b.Property("UserId")
- .HasColumnType("uuid")
- .HasColumnName("user_id");
-
- b.Property("UserName")
- .IsRequired()
- .HasColumnType("text")
- .HasColumnName("user_name");
-
- b.HasKey("Id")
- .HasName("PK_connection_log");
-
- b.HasIndex("UserId");
-
- b.ToTable("connection_log", (string)null);
-
- b.HasCheckConstraint("AddressNotIPv6MappedIPv4", "NOT inet '::ffff:0.0.0.0/96' >>= address");
- });
-
- modelBuilder.Entity("Content.Server.Database.Job", b =>
- {
- b.Property("Id")
- .ValueGeneratedOnAdd()
- .HasColumnType("integer")
- .HasColumnName("job_id");
-
- NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id"));
-
- b.Property("JobName")
- .IsRequired()
- .HasColumnType("text")
- .HasColumnName("job_name");
-
- b.Property("Priority")
- .HasColumnType("integer")
- .HasColumnName("priority");
-
- b.Property("ProfileId")
- .HasColumnType("integer")
- .HasColumnName("profile_id");
-
- b.HasKey("Id")
- .HasName("PK_job");
-
- b.HasIndex("ProfileId")
- .HasDatabaseName("IX_job_profile_id");
-
- b.HasIndex("ProfileId", "JobName")
- .IsUnique();
-
- b.HasIndex(new[] { "ProfileId" }, "IX_job_one_high_priority")
- .IsUnique()
- .HasFilter("priority = 3");
-
- b.ToTable("job", (string)null);
- });
-
- modelBuilder.Entity("Content.Server.Database.Player", b =>
- {
- b.Property("Id")
- .ValueGeneratedOnAdd()
- .HasColumnType("integer")
- .HasColumnName("player_id");
-
- NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id"));
-
- b.Property("FirstSeenTime")
- .HasColumnType("timestamp with time zone")
- .HasColumnName("first_seen_time");
-
- b.Property("LastSeenAddress")
- .IsRequired()
- .HasColumnType("inet")
- .HasColumnName("last_seen_address");
-
- b.Property("LastSeenHWId")
- .HasColumnType("bytea")
- .HasColumnName("last_seen_hwid");
-
- b.Property("LastSeenTime")
- .HasColumnType("timestamp with time zone")
- .HasColumnName("last_seen_time");
-
- b.Property("LastSeenUserName")
- .IsRequired()
- .HasColumnType("text")
- .HasColumnName("last_seen_user_name");
-
- b.Property("UserId")
- .HasColumnType("uuid")
- .HasColumnName("user_id");
-
- b.HasKey("Id")
- .HasName("PK_player");
-
- b.HasAlternateKey("UserId")
- .HasName("ak_player_user_id");
-
- b.HasIndex("LastSeenUserName");
-
- b.HasIndex("UserId")
- .IsUnique();
-
- b.ToTable("player", (string)null);
-
- b.HasCheckConstraint("LastSeenAddressNotIPv6MappedIPv4", "NOT inet '::ffff:0.0.0.0/96' >>= last_seen_address");
- });
-
- modelBuilder.Entity("Content.Server.Database.Preference", b =>
- {
- b.Property("Id")
- .ValueGeneratedOnAdd()
- .HasColumnType("integer")
- .HasColumnName("preference_id");
-
- NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id"));
-
- b.Property("AdminOOCColor")
- .IsRequired()
- .HasColumnType("text")
- .HasColumnName("admin_ooc_color");
-
- b.Property("SelectedCharacterSlot")
- .HasColumnType("integer")
- .HasColumnName("selected_character_slot");
-
- b.Property("UserId")
- .HasColumnType("uuid")
- .HasColumnName("user_id");
-
- b.HasKey("Id")
- .HasName("PK_preference");
-
- b.HasIndex("UserId")
- .IsUnique();
-
- b.ToTable("preference", (string)null);
- });
-
- modelBuilder.Entity("Content.Server.Database.Profile", b =>
- {
- b.Property("Id")
- .ValueGeneratedOnAdd()
- .HasColumnType("integer")
- .HasColumnName("profile_id");
-
- NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id"));
-
- b.Property("Age")
- .HasColumnType("integer")
- .HasColumnName("age");
-
- b.Property("Backpack")
- .IsRequired()
- .HasColumnType("text")
- .HasColumnName("backpack");
-
- b.Property("CharacterName")
- .IsRequired()
- .HasColumnType("text")
- .HasColumnName("char_name");
-
- b.Property("Clothing")
- .IsRequired()
- .HasColumnType("text")
- .HasColumnName("clothing");
-
- b.Property("EyeColor")
- .IsRequired()
- .HasColumnType("text")
- .HasColumnName("eye_color");
-
- b.Property("FacialHairColor")
- .IsRequired()
- .HasColumnType("text")
- .HasColumnName("facial_hair_color");
-
- b.Property("FacialHairName")
- .IsRequired()
- .HasColumnType("text")
- .HasColumnName("facial_hair_name");
-
- b.Property("Gender")
- .IsRequired()
- .HasColumnType("text")
- .HasColumnName("gender");
-
- b.Property("HairColor")
- .IsRequired()
- .HasColumnType("text")
- .HasColumnName("hair_color");
-
- b.Property("HairName")
- .IsRequired()
- .HasColumnType("text")
- .HasColumnName("hair_name");
-
- b.Property("PreferenceId")
- .HasColumnType("integer")
- .HasColumnName("preference_id");
-
- b.Property("PreferenceUnavailable")
- .HasColumnType("integer")
- .HasColumnName("pref_unavailable");
-
- b.Property("Sex")
- .IsRequired()
- .HasColumnType("text")
- .HasColumnName("sex");
-
- b.Property("SkinColor")
- .IsRequired()
- .HasColumnType("text")
- .HasColumnName("skin_color");
-
- b.Property("Slot")
- .HasColumnType("integer")
- .HasColumnName("slot");
-
- b.Property("Species")
- .IsRequired()
- .HasColumnType("text")
- .HasColumnName("species");
-
- b.HasKey("Id")
- .HasName("PK_profile");
-
- b.HasIndex("PreferenceId")
- .HasDatabaseName("IX_profile_preference_id");
-
- b.HasIndex("Slot", "PreferenceId")
- .IsUnique();
-
- b.ToTable("profile", (string)null);
- });
-
- modelBuilder.Entity("Content.Server.Database.Round", b =>
- {
- b.Property("Id")
- .ValueGeneratedOnAdd()
- .HasColumnType("integer")
- .HasColumnName("round_id");
-
- NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id"));
-
- b.HasKey("Id")
- .HasName("PK_round");
-
- b.ToTable("round", (string)null);
- });
-
- modelBuilder.Entity("Content.Server.Database.ServerBan", b =>
- {
- b.Property("Id")
- .ValueGeneratedOnAdd()
- .HasColumnType("integer")
- .HasColumnName("server_ban_id");
-
- NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id"));
-
- b.Property?>("Address")
- .HasColumnType("inet")
- .HasColumnName("address");
-
- b.Property("BanTime")
- .HasColumnType("timestamp with time zone")
- .HasColumnName("ban_time");
-
- b.Property("BanningAdmin")
- .HasColumnType("uuid")
- .HasColumnName("banning_admin");
-
- b.Property("ExpirationTime")
- .HasColumnType("timestamp with time zone")
- .HasColumnName("expiration_time");
-
- b.Property("HWId")
- .HasColumnType("bytea")
- .HasColumnName("hwid");
-
- b.Property("Reason")
- .IsRequired()
- .HasColumnType("text")
- .HasColumnName("reason");
-
- b.Property("UserId")
- .HasColumnType("uuid")
- .HasColumnName("user_id");
-
- b.HasKey("Id")
- .HasName("PK_server_ban");
-
- b.HasIndex("Address");
-
- b.HasIndex("UserId");
-
- b.ToTable("server_ban", (string)null);
-
- b.HasCheckConstraint("AddressNotIPv6MappedIPv4", "NOT inet '::ffff:0.0.0.0/96' >>= address");
-
- b.HasCheckConstraint("HaveEitherAddressOrUserIdOrHWId", "address IS NOT NULL OR user_id IS NOT NULL OR hwid IS NOT NULL");
- });
-
- modelBuilder.Entity("Content.Server.Database.ServerBanHit", b =>
- {
- b.Property("Id")
- .ValueGeneratedOnAdd()
- .HasColumnType("integer")
- .HasColumnName("server_ban_hit_id");
-
- NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id"));
-
- b.Property("BanId")
- .HasColumnType("integer")
- .HasColumnName("ban_id");
-
- b.Property("ConnectionId")
- .HasColumnType("integer")
- .HasColumnName("connection_id");
-
- b.HasKey("Id")
- .HasName("PK_server_ban_hit");
-
- b.HasIndex("BanId")
- .HasDatabaseName("IX_server_ban_hit_ban_id");
-
- b.HasIndex("ConnectionId")
- .HasDatabaseName("IX_server_ban_hit_connection_id");
-
- b.ToTable("server_ban_hit", (string)null);
- });
-
- modelBuilder.Entity("Content.Server.Database.ServerUnban", b =>
- {
- b.Property("Id")
- .ValueGeneratedOnAdd()
- .HasColumnType("integer")
- .HasColumnName("unban_id");
-
- NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id"));
-
- b.Property("BanId")
- .HasColumnType("integer")
- .HasColumnName("ban_id");
-
- b.Property("UnbanTime")
- .HasColumnType("timestamp with time zone")
- .HasColumnName("unban_time");
-
- b.Property("UnbanningAdmin")
- .HasColumnType("uuid")
- .HasColumnName("unbanning_admin");
-
- b.HasKey("Id")
- .HasName("PK_server_unban");
-
- b.HasIndex("BanId")
- .IsUnique();
-
- b.ToTable("server_unban", (string)null);
- });
-
- modelBuilder.Entity("Content.Server.Database.Whitelist", b =>
- {
- b.Property("UserId")
- .ValueGeneratedOnAdd()
- .HasColumnType("uuid")
- .HasColumnName("user_id");
-
- b.HasKey("UserId")
- .HasName("PK_whitelist");
-
- b.ToTable("whitelist", (string)null);
- });
-
- modelBuilder.Entity("PlayerRound", b =>
- {
- b.Property("PlayersId")
- .HasColumnType("integer")
- .HasColumnName("players_id");
-
- b.Property("RoundsId")
- .HasColumnType("integer")
- .HasColumnName("rounds_id");
-
- b.HasKey("PlayersId", "RoundsId")
- .HasName("PK_player_round");
-
- b.HasIndex("RoundsId")
- .HasDatabaseName("IX_player_round_rounds_id");
-
- b.ToTable("player_round", (string)null);
- });
-
- modelBuilder.Entity("Content.Server.Database.Admin", b =>
- {
- b.HasOne("Content.Server.Database.AdminRank", "AdminRank")
- .WithMany("Admins")
- .HasForeignKey("AdminRankId")
- .OnDelete(DeleteBehavior.SetNull)
- .HasConstraintName("FK_admin_admin_rank_admin_rank_id");
-
- b.Navigation("AdminRank");
- });
-
- modelBuilder.Entity("Content.Server.Database.AdminFlag", b =>
- {
- b.HasOne("Content.Server.Database.Admin", "Admin")
- .WithMany("Flags")
- .HasForeignKey("AdminId")
- .OnDelete(DeleteBehavior.Cascade)
- .IsRequired()
- .HasConstraintName("FK_admin_flag_admin_admin_id");
-
- b.Navigation("Admin");
- });
-
- modelBuilder.Entity("Content.Server.Database.AdminLog", b =>
- {
- b.HasOne("Content.Server.Database.Round", "Round")
- .WithMany("AdminLogs")
- .HasForeignKey("RoundId")
- .OnDelete(DeleteBehavior.Cascade)
- .IsRequired()
- .HasConstraintName("FK_admin_log_round_round_id");
-
- b.Navigation("Round");
- });
-
- modelBuilder.Entity("Content.Server.Database.AdminLogEntity", b =>
- {
- b.HasOne("Content.Server.Database.AdminLog", null)
- .WithMany("Entities")
- .HasForeignKey("AdminLogId", "AdminLogRoundId")
- .HasConstraintName("FK_admin_log_entity_admin_log_admin_log_id_admin_log_round_id");
- });
-
- modelBuilder.Entity("Content.Server.Database.AdminLogPlayer", b =>
- {
- b.HasOne("Content.Server.Database.Player", "Player")
- .WithMany("AdminLogs")
- .HasForeignKey("PlayerUserId")
- .HasPrincipalKey("UserId")
- .OnDelete(DeleteBehavior.Cascade)
- .IsRequired()
- .HasConstraintName("FK_admin_log_player_player_player_user_id");
-
- b.HasOne("Content.Server.Database.AdminLog", "Log")
- .WithMany("Players")
- .HasForeignKey("LogId", "RoundId")
- .OnDelete(DeleteBehavior.Cascade)
- .IsRequired()
- .HasConstraintName("FK_admin_log_player_admin_log_log_id_round_id");
-
- b.Navigation("Log");
-
- b.Navigation("Player");
- });
-
- modelBuilder.Entity("Content.Server.Database.AdminRankFlag", b =>
- {
- b.HasOne("Content.Server.Database.AdminRank", "Rank")
- .WithMany("Flags")
- .HasForeignKey("AdminRankId")
- .OnDelete(DeleteBehavior.Cascade)
- .IsRequired()
- .HasConstraintName("FK_admin_rank_flag_admin_rank_admin_rank_id");
-
- b.Navigation("Rank");
- });
-
- modelBuilder.Entity("Content.Server.Database.Antag", b =>
- {
- b.HasOne("Content.Server.Database.Profile", "Profile")
- .WithMany("Antags")
- .HasForeignKey("ProfileId")
- .OnDelete(DeleteBehavior.Cascade)
- .IsRequired()
- .HasConstraintName("FK_antag_profile_profile_id");
-
- b.Navigation("Profile");
- });
-
- modelBuilder.Entity("Content.Server.Database.Job", b =>
- {
- b.HasOne("Content.Server.Database.Profile", "Profile")
- .WithMany("Jobs")
- .HasForeignKey("ProfileId")
- .OnDelete(DeleteBehavior.Cascade)
- .IsRequired()
- .HasConstraintName("FK_job_profile_profile_id");
-
- b.Navigation("Profile");
- });
-
- modelBuilder.Entity("Content.Server.Database.Profile", b =>
- {
- b.HasOne("Content.Server.Database.Preference", "Preference")
- .WithMany("Profiles")
- .HasForeignKey("PreferenceId")
- .OnDelete(DeleteBehavior.Cascade)
- .IsRequired()
- .HasConstraintName("FK_profile_preference_preference_id");
-
- b.Navigation("Preference");
- });
-
- modelBuilder.Entity("Content.Server.Database.ServerBanHit", b =>
- {
- b.HasOne("Content.Server.Database.ServerBan", "Ban")
- .WithMany("BanHits")
- .HasForeignKey("BanId")
- .OnDelete(DeleteBehavior.Cascade)
- .IsRequired()
- .HasConstraintName("FK_server_ban_hit_server_ban_ban_id");
-
- b.HasOne("Content.Server.Database.ConnectionLog", "Connection")
- .WithMany("BanHits")
- .HasForeignKey("ConnectionId")
- .OnDelete(DeleteBehavior.Cascade)
- .IsRequired()
- .HasConstraintName("FK_server_ban_hit_connection_log_connection_id");
-
- b.Navigation("Ban");
-
- b.Navigation("Connection");
- });
-
- modelBuilder.Entity("Content.Server.Database.ServerUnban", b =>
- {
- b.HasOne("Content.Server.Database.ServerBan", "Ban")
- .WithOne("Unban")
- .HasForeignKey("Content.Server.Database.ServerUnban", "BanId")
- .OnDelete(DeleteBehavior.Cascade)
- .IsRequired()
- .HasConstraintName("FK_server_unban_server_ban_ban_id");
-
- b.Navigation("Ban");
- });
-
- modelBuilder.Entity("PlayerRound", b =>
- {
- b.HasOne("Content.Server.Database.Player", null)
- .WithMany()
- .HasForeignKey("PlayersId")
- .OnDelete(DeleteBehavior.Cascade)
- .IsRequired()
- .HasConstraintName("FK_player_round_player_players_id");
-
- b.HasOne("Content.Server.Database.Round", null)
- .WithMany()
- .HasForeignKey("RoundsId")
- .OnDelete(DeleteBehavior.Cascade)
- .IsRequired()
- .HasConstraintName("FK_player_round_round_rounds_id");
- });
-
- modelBuilder.Entity("Content.Server.Database.Admin", b =>
- {
- b.Navigation("Flags");
- });
-
- modelBuilder.Entity("Content.Server.Database.AdminLog", b =>
- {
- b.Navigation("Entities");
-
- b.Navigation("Players");
- });
-
- modelBuilder.Entity("Content.Server.Database.AdminRank", b =>
- {
- b.Navigation("Admins");
-
- b.Navigation("Flags");
- });
-
- modelBuilder.Entity("Content.Server.Database.ConnectionLog", b =>
- {
- b.Navigation("BanHits");
- });
-
- modelBuilder.Entity("Content.Server.Database.Player", b =>
- {
- b.Navigation("AdminLogs");
- });
-
- modelBuilder.Entity("Content.Server.Database.Preference", b =>
- {
- b.Navigation("Profiles");
- });
-
- modelBuilder.Entity("Content.Server.Database.Profile", b =>
- {
- b.Navigation("Antags");
-
- b.Navigation("Jobs");
- });
-
- modelBuilder.Entity("Content.Server.Database.Round", b =>
- {
- b.Navigation("AdminLogs");
- });
-
- modelBuilder.Entity("Content.Server.Database.ServerBan", b =>
- {
- b.Navigation("BanHits");
-
- b.Navigation("Unban");
- });
-#pragma warning restore 612, 618
- }
- }
-}
diff --git a/Content.Server.Database/Migrations/Postgres/20220127174744_ServerBanHit.cs b/Content.Server.Database/Migrations/Postgres/20220127174744_ServerBanHit.cs
deleted file mode 100644
index 3017ec1895..0000000000
--- a/Content.Server.Database/Migrations/Postgres/20220127174744_ServerBanHit.cs
+++ /dev/null
@@ -1,25 +0,0 @@
-using Microsoft.EntityFrameworkCore.Migrations;
-
-#nullable disable
-
-namespace Content.Server.Database.Migrations.Postgres
-{
- public partial class ServerBanHit : Migration
- {
- protected override void Up(MigrationBuilder migrationBuilder)
- {
- migrationBuilder.AddColumn(
- name: "denied",
- table: "connection_log",
- type: "smallint",
- nullable: true);
- }
-
- protected override void Down(MigrationBuilder migrationBuilder)
- {
- migrationBuilder.DropColumn(
- name: "denied",
- table: "connection_log");
- }
- }
-}
diff --git a/Content.Server.Database/Migrations/Postgres/PostgresServerDbContextModelSnapshot.cs b/Content.Server.Database/Migrations/Postgres/PostgresServerDbContextModelSnapshot.cs
index bbf047634d..c93d7cf518 100644
--- a/Content.Server.Database/Migrations/Postgres/PostgresServerDbContextModelSnapshot.cs
+++ b/Content.Server.Database/Migrations/Postgres/PostgresServerDbContextModelSnapshot.cs
@@ -302,10 +302,6 @@ namespace Content.Server.Database.Migrations.Postgres
.HasColumnType("inet")
.HasColumnName("address");
- b.Property("Denied")
- .HasColumnType("smallint")
- .HasColumnName("denied");
-
b.Property("HWId")
.HasColumnType("bytea")
.HasColumnName("hwid");
@@ -617,35 +613,6 @@ namespace Content.Server.Database.Migrations.Postgres
b.HasCheckConstraint("HaveEitherAddressOrUserIdOrHWId", "address IS NOT NULL OR user_id IS NOT NULL OR hwid IS NOT NULL");
});
- modelBuilder.Entity("Content.Server.Database.ServerBanHit", b =>
- {
- b.Property("Id")
- .ValueGeneratedOnAdd()
- .HasColumnType("integer")
- .HasColumnName("server_ban_hit_id");
-
- NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id"));
-
- b.Property("BanId")
- .HasColumnType("integer")
- .HasColumnName("ban_id");
-
- b.Property("ConnectionId")
- .HasColumnType("integer")
- .HasColumnName("connection_id");
-
- b.HasKey("Id")
- .HasName("PK_server_ban_hit");
-
- b.HasIndex("BanId")
- .HasDatabaseName("IX_server_ban_hit_ban_id");
-
- b.HasIndex("ConnectionId")
- .HasDatabaseName("IX_server_ban_hit_connection_id");
-
- b.ToTable("server_ban_hit", (string)null);
- });
-
modelBuilder.Entity("Content.Server.Database.ServerUnban", b =>
{
b.Property("Id")
@@ -821,27 +788,6 @@ namespace Content.Server.Database.Migrations.Postgres
b.Navigation("Preference");
});
- modelBuilder.Entity("Content.Server.Database.ServerBanHit", b =>
- {
- b.HasOne("Content.Server.Database.ServerBan", "Ban")
- .WithMany("BanHits")
- .HasForeignKey("BanId")
- .OnDelete(DeleteBehavior.Cascade)
- .IsRequired()
- .HasConstraintName("FK_server_ban_hit_server_ban_ban_id");
-
- b.HasOne("Content.Server.Database.ConnectionLog", "Connection")
- .WithMany("BanHits")
- .HasForeignKey("ConnectionId")
- .OnDelete(DeleteBehavior.Cascade)
- .IsRequired()
- .HasConstraintName("FK_server_ban_hit_connection_log_connection_id");
-
- b.Navigation("Ban");
-
- b.Navigation("Connection");
- });
-
modelBuilder.Entity("Content.Server.Database.ServerUnban", b =>
{
b.HasOne("Content.Server.Database.ServerBan", "Ban")
@@ -890,11 +836,6 @@ namespace Content.Server.Database.Migrations.Postgres
b.Navigation("Flags");
});
- modelBuilder.Entity("Content.Server.Database.ConnectionLog", b =>
- {
- b.Navigation("BanHits");
- });
-
modelBuilder.Entity("Content.Server.Database.Player", b =>
{
b.Navigation("AdminLogs");
@@ -919,8 +860,6 @@ namespace Content.Server.Database.Migrations.Postgres
modelBuilder.Entity("Content.Server.Database.ServerBan", b =>
{
- b.Navigation("BanHits");
-
b.Navigation("Unban");
});
#pragma warning restore 612, 618
diff --git a/Content.Server.Database/Migrations/Sqlite/20220127174737_ServerBanHit.Designer.cs b/Content.Server.Database/Migrations/Sqlite/20220127174737_ServerBanHit.Designer.cs
deleted file mode 100644
index 1b4a585874..0000000000
--- a/Content.Server.Database/Migrations/Sqlite/20220127174737_ServerBanHit.Designer.cs
+++ /dev/null
@@ -1,886 +0,0 @@
-//
-using System;
-using Content.Server.Database;
-using Microsoft.EntityFrameworkCore;
-using Microsoft.EntityFrameworkCore.Infrastructure;
-using Microsoft.EntityFrameworkCore.Migrations;
-using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
-
-#nullable disable
-
-namespace Content.Server.Database.Migrations.Sqlite
-{
- [DbContext(typeof(SqliteServerDbContext))]
- [Migration("20220127174737_ServerBanHit")]
- partial class ServerBanHit
- {
- protected override void BuildTargetModel(ModelBuilder modelBuilder)
- {
-#pragma warning disable 612, 618
- modelBuilder.HasAnnotation("ProductVersion", "6.0.0");
-
- modelBuilder.Entity("Content.Server.Database.Admin", b =>
- {
- b.Property("UserId")
- .ValueGeneratedOnAdd()
- .HasColumnType("TEXT")
- .HasColumnName("user_id");
-
- b.Property("AdminRankId")
- .HasColumnType("INTEGER")
- .HasColumnName("admin_rank_id");
-
- b.Property("Title")
- .HasColumnType("TEXT")
- .HasColumnName("title");
-
- b.HasKey("UserId")
- .HasName("PK_admin");
-
- b.HasIndex("AdminRankId")
- .HasDatabaseName("IX_admin_admin_rank_id");
-
- b.ToTable("admin", (string)null);
- });
-
- modelBuilder.Entity("Content.Server.Database.AdminFlag", b =>
- {
- b.Property("Id")
- .ValueGeneratedOnAdd()
- .HasColumnType("INTEGER")
- .HasColumnName("admin_flag_id");
-
- b.Property("AdminId")
- .HasColumnType("TEXT")
- .HasColumnName("admin_id");
-
- b.Property("Flag")
- .IsRequired()
- .HasColumnType("TEXT")
- .HasColumnName("flag");
-
- b.Property("Negative")
- .HasColumnType("INTEGER")
- .HasColumnName("negative");
-
- b.HasKey("Id")
- .HasName("PK_admin_flag");
-
- b.HasIndex("AdminId")
- .HasDatabaseName("IX_admin_flag_admin_id");
-
- b.HasIndex("Flag", "AdminId")
- .IsUnique();
-
- b.ToTable("admin_flag", (string)null);
- });
-
- modelBuilder.Entity("Content.Server.Database.AdminLog", b =>
- {
- b.Property("Id")
- .ValueGeneratedOnAdd()
- .HasColumnType("INTEGER")
- .HasColumnName("admin_log_id");
-
- b.Property("RoundId")
- .HasColumnType("INTEGER")
- .HasColumnName("round_id");
-
- b.Property("Date")
- .HasColumnType("TEXT")
- .HasColumnName("date");
-
- b.Property("Impact")
- .HasColumnType("INTEGER")
- .HasColumnName("impact");
-
- b.Property("Json")
- .IsRequired()
- .HasColumnType("jsonb")
- .HasColumnName("json");
-
- b.Property("Message")
- .IsRequired()
- .HasColumnType("TEXT")
- .HasColumnName("message");
-
- b.Property("Type")
- .HasColumnType("INTEGER")
- .HasColumnName("type");
-
- b.HasKey("Id", "RoundId")
- .HasName("PK_admin_log");
-
- b.HasIndex("RoundId")
- .HasDatabaseName("IX_admin_log_round_id");
-
- b.HasIndex("Type")
- .HasDatabaseName("IX_admin_log_type");
-
- b.ToTable("admin_log", (string)null);
- });
-
- modelBuilder.Entity("Content.Server.Database.AdminLogEntity", b =>
- {
- b.Property("Uid")
- .ValueGeneratedOnAdd()
- .HasColumnType("INTEGER")
- .HasColumnName("uid");
-
- b.Property("AdminLogId")
- .HasColumnType("INTEGER")
- .HasColumnName("admin_log_id");
-
- b.Property("AdminLogRoundId")
- .HasColumnType("INTEGER")
- .HasColumnName("admin_log_round_id");
-
- b.Property("Name")
- .HasColumnType("TEXT")
- .HasColumnName("name");
-
- b.HasKey("Uid")
- .HasName("PK_admin_log_entity");
-
- b.HasIndex("AdminLogId", "AdminLogRoundId")
- .HasDatabaseName("IX_admin_log_entity_admin_log_id_admin_log_round_id");
-
- b.ToTable("admin_log_entity", (string)null);
- });
-
- modelBuilder.Entity("Content.Server.Database.AdminLogPlayer", b =>
- {
- b.Property("PlayerUserId")
- .HasColumnType("TEXT")
- .HasColumnName("player_user_id");
-
- b.Property("LogId")
- .HasColumnType("INTEGER")
- .HasColumnName("log_id");
-
- b.Property("RoundId")
- .HasColumnType("INTEGER")
- .HasColumnName("round_id");
-
- b.HasKey("PlayerUserId", "LogId", "RoundId")
- .HasName("PK_admin_log_player");
-
- b.HasIndex("LogId", "RoundId");
-
- b.ToTable("admin_log_player", (string)null);
- });
-
- modelBuilder.Entity("Content.Server.Database.AdminRank", b =>
- {
- b.Property("Id")
- .ValueGeneratedOnAdd()
- .HasColumnType("INTEGER")
- .HasColumnName("admin_rank_id");
-
- b.Property("Name")
- .IsRequired()
- .HasColumnType("TEXT")
- .HasColumnName("name");
-
- b.HasKey("Id")
- .HasName("PK_admin_rank");
-
- b.ToTable("admin_rank", (string)null);
- });
-
- modelBuilder.Entity("Content.Server.Database.AdminRankFlag", b =>
- {
- b.Property("Id")
- .ValueGeneratedOnAdd()
- .HasColumnType("INTEGER")
- .HasColumnName("admin_rank_flag_id");
-
- b.Property("AdminRankId")
- .HasColumnType("INTEGER")
- .HasColumnName("admin_rank_id");
-
- b.Property("Flag")
- .IsRequired()
- .HasColumnType("TEXT")
- .HasColumnName("flag");
-
- b.HasKey("Id")
- .HasName("PK_admin_rank_flag");
-
- b.HasIndex("AdminRankId")
- .HasDatabaseName("IX_admin_rank_flag_admin_rank_id");
-
- b.HasIndex("Flag", "AdminRankId")
- .IsUnique();
-
- b.ToTable("admin_rank_flag", (string)null);
- });
-
- modelBuilder.Entity("Content.Server.Database.Antag", b =>
- {
- b.Property("Id")
- .ValueGeneratedOnAdd()
- .HasColumnType("INTEGER")
- .HasColumnName("antag_id");
-
- b.Property("AntagName")
- .IsRequired()
- .HasColumnType("TEXT")
- .HasColumnName("antag_name");
-
- b.Property("ProfileId")
- .HasColumnType("INTEGER")
- .HasColumnName("profile_id");
-
- b.HasKey("Id")
- .HasName("PK_antag");
-
- b.HasIndex("ProfileId", "AntagName")
- .IsUnique();
-
- b.ToTable("antag", (string)null);
- });
-
- modelBuilder.Entity("Content.Server.Database.AssignedUserId", b =>
- {
- b.Property("Id")
- .ValueGeneratedOnAdd()
- .HasColumnType("INTEGER")
- .HasColumnName("assigned_user_id_id");
-
- b.Property("UserId")
- .HasColumnType("TEXT")
- .HasColumnName("user_id");
-
- b.Property("UserName")
- .IsRequired()
- .HasColumnType("TEXT")
- .HasColumnName("user_name");
-
- b.HasKey("Id")
- .HasName("PK_assigned_user_id");
-
- b.HasIndex("UserId")
- .IsUnique();
-
- b.HasIndex("UserName")
- .IsUnique();
-
- b.ToTable("assigned_user_id", (string)null);
- });
-
- modelBuilder.Entity("Content.Server.Database.ConnectionLog", b =>
- {
- b.Property("Id")
- .ValueGeneratedOnAdd()
- .HasColumnType("INTEGER")
- .HasColumnName("connection_log_id");
-
- b.Property("Address")
- .IsRequired()
- .HasColumnType("TEXT")
- .HasColumnName("address");
-
- b.Property("Denied")
- .HasColumnType("INTEGER")
- .HasColumnName("denied");
-
- b.Property("HWId")
- .HasColumnType("BLOB")
- .HasColumnName("hwid");
-
- b.Property("Time")
- .HasColumnType("TEXT")
- .HasColumnName("time");
-
- b.Property("UserId")
- .HasColumnType("TEXT")
- .HasColumnName("user_id");
-
- b.Property("UserName")
- .IsRequired()
- .HasColumnType("TEXT")
- .HasColumnName("user_name");
-
- b.HasKey("Id")
- .HasName("PK_connection_log");
-
- b.HasIndex("UserId");
-
- b.ToTable("connection_log", (string)null);
- });
-
- modelBuilder.Entity("Content.Server.Database.Job", b =>
- {
- b.Property("Id")
- .ValueGeneratedOnAdd()
- .HasColumnType("INTEGER")
- .HasColumnName("job_id");
-
- b.Property("JobName")
- .IsRequired()
- .HasColumnType("TEXT")
- .HasColumnName("job_name");
-
- b.Property("Priority")
- .HasColumnType("INTEGER")
- .HasColumnName("priority");
-
- b.Property("ProfileId")
- .HasColumnType("INTEGER")
- .HasColumnName("profile_id");
-
- b.HasKey("Id")
- .HasName("PK_job");
-
- b.HasIndex("ProfileId")
- .HasDatabaseName("IX_job_profile_id");
-
- b.HasIndex("ProfileId", "JobName")
- .IsUnique();
-
- b.HasIndex(new[] { "ProfileId" }, "IX_job_one_high_priority")
- .IsUnique()
- .HasFilter("priority = 3");
-
- b.ToTable("job", (string)null);
- });
-
- modelBuilder.Entity("Content.Server.Database.Player", b =>
- {
- b.Property("Id")
- .ValueGeneratedOnAdd()
- .HasColumnType("INTEGER")
- .HasColumnName("player_id");
-
- b.Property("FirstSeenTime")
- .HasColumnType("TEXT")
- .HasColumnName("first_seen_time");
-
- b.Property("LastSeenAddress")
- .IsRequired()
- .HasColumnType("TEXT")
- .HasColumnName("last_seen_address");
-
- b.Property("LastSeenHWId")
- .HasColumnType("BLOB")
- .HasColumnName("last_seen_hwid");
-
- b.Property("LastSeenTime")
- .HasColumnType("TEXT")
- .HasColumnName("last_seen_time");
-
- b.Property("LastSeenUserName")
- .IsRequired()
- .HasColumnType("TEXT")
- .HasColumnName("last_seen_user_name");
-
- b.Property("UserId")
- .HasColumnType("TEXT")
- .HasColumnName("user_id");
-
- b.HasKey("Id")
- .HasName("PK_player");
-
- b.HasAlternateKey("UserId")
- .HasName("ak_player_user_id");
-
- b.HasIndex("LastSeenUserName");
-
- b.HasIndex("UserId")
- .IsUnique();
-
- b.ToTable("player", (string)null);
- });
-
- modelBuilder.Entity("Content.Server.Database.Preference", b =>
- {
- b.Property("Id")
- .ValueGeneratedOnAdd()
- .HasColumnType("INTEGER")
- .HasColumnName("preference_id");
-
- b.Property("AdminOOCColor")
- .IsRequired()
- .HasColumnType("TEXT")
- .HasColumnName("admin_ooc_color");
-
- b.Property("SelectedCharacterSlot")
- .HasColumnType("INTEGER")
- .HasColumnName("selected_character_slot");
-
- b.Property("UserId")
- .HasColumnType("TEXT")
- .HasColumnName("user_id");
-
- b.HasKey("Id")
- .HasName("PK_preference");
-
- b.HasIndex("UserId")
- .IsUnique();
-
- b.ToTable("preference", (string)null);
- });
-
- modelBuilder.Entity("Content.Server.Database.Profile", b =>
- {
- b.Property("Id")
- .ValueGeneratedOnAdd()
- .HasColumnType("INTEGER")
- .HasColumnName("profile_id");
-
- b.Property("Age")
- .HasColumnType("INTEGER")
- .HasColumnName("age");
-
- b.Property("Backpack")
- .IsRequired()
- .HasColumnType("TEXT")
- .HasColumnName("backpack");
-
- b.Property("CharacterName")
- .IsRequired()
- .HasColumnType("TEXT")
- .HasColumnName("char_name");
-
- b.Property("Clothing")
- .IsRequired()
- .HasColumnType("TEXT")
- .HasColumnName("clothing");
-
- b.Property("EyeColor")
- .IsRequired()
- .HasColumnType("TEXT")
- .HasColumnName("eye_color");
-
- b.Property("FacialHairColor")
- .IsRequired()
- .HasColumnType("TEXT")
- .HasColumnName("facial_hair_color");
-
- b.Property("FacialHairName")
- .IsRequired()
- .HasColumnType("TEXT")
- .HasColumnName("facial_hair_name");
-
- b.Property("Gender")
- .IsRequired()
- .HasColumnType("TEXT")
- .HasColumnName("gender");
-
- b.Property("HairColor")
- .IsRequired()
- .HasColumnType("TEXT")
- .HasColumnName("hair_color");
-
- b.Property("HairName")
- .IsRequired()
- .HasColumnType("TEXT")
- .HasColumnName("hair_name");
-
- b.Property("PreferenceId")
- .HasColumnType("INTEGER")
- .HasColumnName("preference_id");
-
- b.Property("PreferenceUnavailable")
- .HasColumnType("INTEGER")
- .HasColumnName("pref_unavailable");
-
- b.Property("Sex")
- .IsRequired()
- .HasColumnType("TEXT")
- .HasColumnName("sex");
-
- b.Property("SkinColor")
- .IsRequired()
- .HasColumnType("TEXT")
- .HasColumnName("skin_color");
-
- b.Property("Slot")
- .HasColumnType("INTEGER")
- .HasColumnName("slot");
-
- b.Property("Species")
- .IsRequired()
- .HasColumnType("TEXT")
- .HasColumnName("species");
-
- b.HasKey("Id")
- .HasName("PK_profile");
-
- b.HasIndex("PreferenceId")
- .HasDatabaseName("IX_profile_preference_id");
-
- b.HasIndex("Slot", "PreferenceId")
- .IsUnique();
-
- b.ToTable("profile", (string)null);
- });
-
- modelBuilder.Entity("Content.Server.Database.Round", b =>
- {
- b.Property("Id")
- .ValueGeneratedOnAdd()
- .HasColumnType("INTEGER")
- .HasColumnName("round_id");
-
- b.HasKey("Id")
- .HasName("PK_round");
-
- b.ToTable("round", (string)null);
- });
-
- modelBuilder.Entity("Content.Server.Database.ServerBan", b =>
- {
- b.Property("Id")
- .ValueGeneratedOnAdd()
- .HasColumnType("INTEGER")
- .HasColumnName("server_ban_id");
-
- b.Property("Address")
- .HasColumnType("TEXT")
- .HasColumnName("address");
-
- b.Property("BanTime")
- .HasColumnType("TEXT")
- .HasColumnName("ban_time");
-
- b.Property("BanningAdmin")
- .HasColumnType("TEXT")
- .HasColumnName("banning_admin");
-
- b.Property("ExpirationTime")
- .HasColumnType("TEXT")
- .HasColumnName("expiration_time");
-
- b.Property("HWId")
- .HasColumnType("BLOB")
- .HasColumnName("hwid");
-
- b.Property("Reason")
- .IsRequired()
- .HasColumnType("TEXT")
- .HasColumnName("reason");
-
- b.Property("UserId")
- .HasColumnType("TEXT")
- .HasColumnName("user_id");
-
- b.HasKey("Id")
- .HasName("PK_server_ban");
-
- b.HasIndex("Address");
-
- b.HasIndex("UserId");
-
- b.ToTable("server_ban", (string)null);
-
- b.HasCheckConstraint("HaveEitherAddressOrUserIdOrHWId", "address IS NOT NULL OR user_id IS NOT NULL OR hwid IS NOT NULL");
- });
-
- modelBuilder.Entity("Content.Server.Database.ServerBanHit", b =>
- {
- b.Property("Id")
- .ValueGeneratedOnAdd()
- .HasColumnType("INTEGER")
- .HasColumnName("server_ban_hit_id");
-
- b.Property("BanId")
- .HasColumnType("INTEGER")
- .HasColumnName("ban_id");
-
- b.Property("ConnectionId")
- .HasColumnType("INTEGER")
- .HasColumnName("connection_id");
-
- b.HasKey("Id")
- .HasName("PK_server_ban_hit");
-
- b.HasIndex("BanId")
- .HasDatabaseName("IX_server_ban_hit_ban_id");
-
- b.HasIndex("ConnectionId")
- .HasDatabaseName("IX_server_ban_hit_connection_id");
-
- b.ToTable("server_ban_hit", (string)null);
- });
-
- modelBuilder.Entity("Content.Server.Database.ServerUnban", b =>
- {
- b.Property("Id")
- .ValueGeneratedOnAdd()
- .HasColumnType("INTEGER")
- .HasColumnName("unban_id");
-
- b.Property("BanId")
- .HasColumnType("INTEGER")
- .HasColumnName("ban_id");
-
- b.Property("UnbanTime")
- .HasColumnType("TEXT")
- .HasColumnName("unban_time");
-
- b.Property("UnbanningAdmin")
- .HasColumnType("TEXT")
- .HasColumnName("unbanning_admin");
-
- b.HasKey("Id")
- .HasName("PK_server_unban");
-
- b.HasIndex("BanId")
- .IsUnique();
-
- b.ToTable("server_unban", (string)null);
- });
-
- modelBuilder.Entity("Content.Server.Database.Whitelist", b =>
- {
- b.Property("UserId")
- .ValueGeneratedOnAdd()
- .HasColumnType("TEXT")
- .HasColumnName("user_id");
-
- b.HasKey("UserId")
- .HasName("PK_whitelist");
-
- b.ToTable("whitelist", (string)null);
- });
-
- modelBuilder.Entity("PlayerRound", b =>
- {
- b.Property("PlayersId")
- .HasColumnType("INTEGER")
- .HasColumnName("players_id");
-
- b.Property("RoundsId")
- .HasColumnType("INTEGER")
- .HasColumnName("rounds_id");
-
- b.HasKey("PlayersId", "RoundsId")
- .HasName("PK_player_round");
-
- b.HasIndex("RoundsId")
- .HasDatabaseName("IX_player_round_rounds_id");
-
- b.ToTable("player_round", (string)null);
- });
-
- modelBuilder.Entity("Content.Server.Database.Admin", b =>
- {
- b.HasOne("Content.Server.Database.AdminRank", "AdminRank")
- .WithMany("Admins")
- .HasForeignKey("AdminRankId")
- .OnDelete(DeleteBehavior.SetNull)
- .HasConstraintName("FK_admin_admin_rank_admin_rank_id");
-
- b.Navigation("AdminRank");
- });
-
- modelBuilder.Entity("Content.Server.Database.AdminFlag", b =>
- {
- b.HasOne("Content.Server.Database.Admin", "Admin")
- .WithMany("Flags")
- .HasForeignKey("AdminId")
- .OnDelete(DeleteBehavior.Cascade)
- .IsRequired()
- .HasConstraintName("FK_admin_flag_admin_admin_id");
-
- b.Navigation("Admin");
- });
-
- modelBuilder.Entity("Content.Server.Database.AdminLog", b =>
- {
- b.HasOne("Content.Server.Database.Round", "Round")
- .WithMany("AdminLogs")
- .HasForeignKey("RoundId")
- .OnDelete(DeleteBehavior.Cascade)
- .IsRequired()
- .HasConstraintName("FK_admin_log_round_round_id");
-
- b.Navigation("Round");
- });
-
- modelBuilder.Entity("Content.Server.Database.AdminLogEntity", b =>
- {
- b.HasOne("Content.Server.Database.AdminLog", null)
- .WithMany("Entities")
- .HasForeignKey("AdminLogId", "AdminLogRoundId")
- .HasConstraintName("FK_admin_log_entity_admin_log_admin_log_id_admin_log_round_id");
- });
-
- modelBuilder.Entity("Content.Server.Database.AdminLogPlayer", b =>
- {
- b.HasOne("Content.Server.Database.Player", "Player")
- .WithMany("AdminLogs")
- .HasForeignKey("PlayerUserId")
- .HasPrincipalKey("UserId")
- .OnDelete(DeleteBehavior.Cascade)
- .IsRequired()
- .HasConstraintName("FK_admin_log_player_player_player_user_id");
-
- b.HasOne("Content.Server.Database.AdminLog", "Log")
- .WithMany("Players")
- .HasForeignKey("LogId", "RoundId")
- .OnDelete(DeleteBehavior.Cascade)
- .IsRequired()
- .HasConstraintName("FK_admin_log_player_admin_log_log_id_round_id");
-
- b.Navigation("Log");
-
- b.Navigation("Player");
- });
-
- modelBuilder.Entity("Content.Server.Database.AdminRankFlag", b =>
- {
- b.HasOne("Content.Server.Database.AdminRank", "Rank")
- .WithMany("Flags")
- .HasForeignKey("AdminRankId")
- .OnDelete(DeleteBehavior.Cascade)
- .IsRequired()
- .HasConstraintName("FK_admin_rank_flag_admin_rank_admin_rank_id");
-
- b.Navigation("Rank");
- });
-
- modelBuilder.Entity("Content.Server.Database.Antag", b =>
- {
- b.HasOne("Content.Server.Database.Profile", "Profile")
- .WithMany("Antags")
- .HasForeignKey("ProfileId")
- .OnDelete(DeleteBehavior.Cascade)
- .IsRequired()
- .HasConstraintName("FK_antag_profile_profile_id");
-
- b.Navigation("Profile");
- });
-
- modelBuilder.Entity("Content.Server.Database.Job", b =>
- {
- b.HasOne("Content.Server.Database.Profile", "Profile")
- .WithMany("Jobs")
- .HasForeignKey("ProfileId")
- .OnDelete(DeleteBehavior.Cascade)
- .IsRequired()
- .HasConstraintName("FK_job_profile_profile_id");
-
- b.Navigation("Profile");
- });
-
- modelBuilder.Entity("Content.Server.Database.Profile", b =>
- {
- b.HasOne("Content.Server.Database.Preference", "Preference")
- .WithMany("Profiles")
- .HasForeignKey("PreferenceId")
- .OnDelete(DeleteBehavior.Cascade)
- .IsRequired()
- .HasConstraintName("FK_profile_preference_preference_id");
-
- b.Navigation("Preference");
- });
-
- modelBuilder.Entity("Content.Server.Database.ServerBanHit", b =>
- {
- b.HasOne("Content.Server.Database.ServerBan", "Ban")
- .WithMany("BanHits")
- .HasForeignKey("BanId")
- .OnDelete(DeleteBehavior.Cascade)
- .IsRequired()
- .HasConstraintName("FK_server_ban_hit_server_ban_ban_id");
-
- b.HasOne("Content.Server.Database.ConnectionLog", "Connection")
- .WithMany("BanHits")
- .HasForeignKey("ConnectionId")
- .OnDelete(DeleteBehavior.Cascade)
- .IsRequired()
- .HasConstraintName("FK_server_ban_hit_connection_log_connection_id");
-
- b.Navigation("Ban");
-
- b.Navigation("Connection");
- });
-
- modelBuilder.Entity("Content.Server.Database.ServerUnban", b =>
- {
- b.HasOne("Content.Server.Database.ServerBan", "Ban")
- .WithOne("Unban")
- .HasForeignKey("Content.Server.Database.ServerUnban", "BanId")
- .OnDelete(DeleteBehavior.Cascade)
- .IsRequired()
- .HasConstraintName("FK_server_unban_server_ban_ban_id");
-
- b.Navigation("Ban");
- });
-
- modelBuilder.Entity("PlayerRound", b =>
- {
- b.HasOne("Content.Server.Database.Player", null)
- .WithMany()
- .HasForeignKey("PlayersId")
- .OnDelete(DeleteBehavior.Cascade)
- .IsRequired()
- .HasConstraintName("FK_player_round_player_players_id");
-
- b.HasOne("Content.Server.Database.Round", null)
- .WithMany()
- .HasForeignKey("RoundsId")
- .OnDelete(DeleteBehavior.Cascade)
- .IsRequired()
- .HasConstraintName("FK_player_round_round_rounds_id");
- });
-
- modelBuilder.Entity("Content.Server.Database.Admin", b =>
- {
- b.Navigation("Flags");
- });
-
- modelBuilder.Entity("Content.Server.Database.AdminLog", b =>
- {
- b.Navigation("Entities");
-
- b.Navigation("Players");
- });
-
- modelBuilder.Entity("Content.Server.Database.AdminRank", b =>
- {
- b.Navigation("Admins");
-
- b.Navigation("Flags");
- });
-
- modelBuilder.Entity("Content.Server.Database.ConnectionLog", b =>
- {
- b.Navigation("BanHits");
- });
-
- modelBuilder.Entity("Content.Server.Database.Player", b =>
- {
- b.Navigation("AdminLogs");
- });
-
- modelBuilder.Entity("Content.Server.Database.Preference", b =>
- {
- b.Navigation("Profiles");
- });
-
- modelBuilder.Entity("Content.Server.Database.Profile", b =>
- {
- b.Navigation("Antags");
-
- b.Navigation("Jobs");
- });
-
- modelBuilder.Entity("Content.Server.Database.Round", b =>
- {
- b.Navigation("AdminLogs");
- });
-
- modelBuilder.Entity("Content.Server.Database.ServerBan", b =>
- {
- b.Navigation("BanHits");
-
- b.Navigation("Unban");
- });
-#pragma warning restore 612, 618
- }
- }
-}
diff --git a/Content.Server.Database/Migrations/Sqlite/20220127174737_ServerBanHit.cs b/Content.Server.Database/Migrations/Sqlite/20220127174737_ServerBanHit.cs
deleted file mode 100644
index 3c7ad8e75c..0000000000
--- a/Content.Server.Database/Migrations/Sqlite/20220127174737_ServerBanHit.cs
+++ /dev/null
@@ -1,64 +0,0 @@
-using Microsoft.EntityFrameworkCore.Migrations;
-
-#nullable disable
-
-namespace Content.Server.Database.Migrations.Sqlite
-{
- public partial class ServerBanHit : Migration
- {
- protected override void Up(MigrationBuilder migrationBuilder)
- {
- migrationBuilder.AddColumn(
- name: "denied",
- table: "connection_log",
- type: "INTEGER",
- nullable: true);
-
- migrationBuilder.CreateTable(
- name: "server_ban_hit",
- columns: table => new
- {
- server_ban_hit_id = table.Column(type: "INTEGER", nullable: false)
- .Annotation("Sqlite:Autoincrement", true),
- ban_id = table.Column(type: "INTEGER", nullable: false),
- connection_id = table.Column(type: "INTEGER", nullable: false)
- },
- constraints: table =>
- {
- table.PrimaryKey("PK_server_ban_hit", x => x.server_ban_hit_id);
- table.ForeignKey(
- name: "FK_server_ban_hit_connection_log_connection_id",
- column: x => x.connection_id,
- principalTable: "connection_log",
- principalColumn: "connection_log_id",
- onDelete: ReferentialAction.Cascade);
- table.ForeignKey(
- name: "FK_server_ban_hit_server_ban_ban_id",
- column: x => x.ban_id,
- principalTable: "server_ban",
- principalColumn: "server_ban_id",
- onDelete: ReferentialAction.Cascade);
- });
-
- migrationBuilder.CreateIndex(
- name: "IX_server_ban_hit_ban_id",
- table: "server_ban_hit",
- column: "ban_id");
-
- migrationBuilder.CreateIndex(
- name: "IX_server_ban_hit_connection_id",
- table: "server_ban_hit",
- column: "connection_id");
- }
-
- protected override void Down(MigrationBuilder migrationBuilder)
- {
- migrationBuilder.DropTable(
- name: "server_ban_hit");
-
- migrationBuilder.DropColumn(
- name: "denied",
- table: "connection_log");
- }
- }
-}
diff --git a/Content.Server.Database/Migrations/Sqlite/SqliteServerDbContextModelSnapshot.cs b/Content.Server.Database/Migrations/Sqlite/SqliteServerDbContextModelSnapshot.cs
index 89a8eebbdd..633132003f 100644
--- a/Content.Server.Database/Migrations/Sqlite/SqliteServerDbContextModelSnapshot.cs
+++ b/Content.Server.Database/Migrations/Sqlite/SqliteServerDbContextModelSnapshot.cs
@@ -279,10 +279,6 @@ namespace Content.Server.Database.Migrations.Sqlite
.HasColumnType("TEXT")
.HasColumnName("address");
- b.Property("Denied")
- .HasColumnType("INTEGER")
- .HasColumnName("denied");
-
b.Property("HWId")
.HasColumnType("BLOB")
.HasColumnName("hwid");
@@ -576,33 +572,6 @@ namespace Content.Server.Database.Migrations.Sqlite
b.HasCheckConstraint("HaveEitherAddressOrUserIdOrHWId", "address IS NOT NULL OR user_id IS NOT NULL OR hwid IS NOT NULL");
});
- modelBuilder.Entity("Content.Server.Database.ServerBanHit", b =>
- {
- b.Property("Id")
- .ValueGeneratedOnAdd()
- .HasColumnType("INTEGER")
- .HasColumnName("server_ban_hit_id");
-
- b.Property("BanId")
- .HasColumnType("INTEGER")
- .HasColumnName("ban_id");
-
- b.Property("ConnectionId")
- .HasColumnType("INTEGER")
- .HasColumnName("connection_id");
-
- b.HasKey("Id")
- .HasName("PK_server_ban_hit");
-
- b.HasIndex("BanId")
- .HasDatabaseName("IX_server_ban_hit_ban_id");
-
- b.HasIndex("ConnectionId")
- .HasDatabaseName("IX_server_ban_hit_connection_id");
-
- b.ToTable("server_ban_hit", (string)null);
- });
-
modelBuilder.Entity("Content.Server.Database.ServerUnban", b =>
{
b.Property("Id")
@@ -776,27 +745,6 @@ namespace Content.Server.Database.Migrations.Sqlite
b.Navigation("Preference");
});
- modelBuilder.Entity("Content.Server.Database.ServerBanHit", b =>
- {
- b.HasOne("Content.Server.Database.ServerBan", "Ban")
- .WithMany("BanHits")
- .HasForeignKey("BanId")
- .OnDelete(DeleteBehavior.Cascade)
- .IsRequired()
- .HasConstraintName("FK_server_ban_hit_server_ban_ban_id");
-
- b.HasOne("Content.Server.Database.ConnectionLog", "Connection")
- .WithMany("BanHits")
- .HasForeignKey("ConnectionId")
- .OnDelete(DeleteBehavior.Cascade)
- .IsRequired()
- .HasConstraintName("FK_server_ban_hit_connection_log_connection_id");
-
- b.Navigation("Ban");
-
- b.Navigation("Connection");
- });
-
modelBuilder.Entity("Content.Server.Database.ServerUnban", b =>
{
b.HasOne("Content.Server.Database.ServerBan", "Ban")
@@ -845,11 +793,6 @@ namespace Content.Server.Database.Migrations.Sqlite
b.Navigation("Flags");
});
- modelBuilder.Entity("Content.Server.Database.ConnectionLog", b =>
- {
- b.Navigation("BanHits");
- });
-
modelBuilder.Entity("Content.Server.Database.Player", b =>
{
b.Navigation("AdminLogs");
@@ -874,8 +817,6 @@ namespace Content.Server.Database.Migrations.Sqlite
modelBuilder.Entity("Content.Server.Database.ServerBan", b =>
{
- b.Navigation("BanHits");
-
b.Navigation("Unban");
});
#pragma warning restore 612, 618
diff --git a/Content.Server.Database/Model.cs b/Content.Server.Database/Model.cs
index 3bafd18d7a..7fa7db030a 100644
--- a/Content.Server.Database/Model.cs
+++ b/Content.Server.Database/Model.cs
@@ -40,7 +40,6 @@ namespace Content.Server.Database
public DbSet Ban { get; set; } = default!;
public DbSet Unban { get; set; } = default!;
public DbSet ConnectionLog { get; set; } = default!;
- public DbSet ServerBanHit { get; set; } = default!;
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
@@ -347,8 +346,6 @@ namespace Content.Server.Database
public Guid? BanningAdmin { get; set; }
public ServerUnban? Unban { get; set; }
-
- public List BanHits { get; set; } = null!;
}
[Table("server_unban")]
@@ -376,27 +373,5 @@ namespace Content.Server.Database
public IPAddress Address { get; set; } = null!;
public byte[]? HWId { get; set; }
-
- public ConnectionDenyReason? Denied { get; set; }
-
- public List BanHits { get; set; } = null!;
- }
-
- public enum ConnectionDenyReason : byte
- {
- Ban = 0,
- Whitelist = 1,
- Full = 2,
- }
-
- public class ServerBanHit
- {
- public int Id { get; set; }
-
- public int BanId { get; set; }
- public int ConnectionId { get; set; }
-
- public ServerBan Ban { get; set; } = null!;
- public ConnectionLog Connection { get; set; } = null!;
}
}
diff --git a/Content.Server/Connection/ConnectionManager.cs b/Content.Server/Connection/ConnectionManager.cs
index 761bd5b391..6222299d9b 100644
--- a/Content.Server/Connection/ConnectionManager.cs
+++ b/Content.Server/Connection/ConnectionManager.cs
@@ -1,5 +1,4 @@
using System;
-using System.Collections.Generic;
using System.Collections.Immutable;
using System.Threading.Tasks;
using Content.Server.Database;
@@ -64,35 +63,6 @@ The ban reason is: ""{ban.Reason}""
*/
private async Task NetMgrOnConnecting(NetConnectingArgs e)
- {
- var deny = await ShouldDeny(e);
-
- var addr = e.IP.Address;
- var userId = e.UserId;
-
- if (deny != null)
- {
- var (reason, msg, banHits) = deny.Value;
-
- var id = await _db.AddConnectionLogAsync(userId, e.UserName, addr, e.UserData.HWId, reason);
- if (banHits is { Count: > 0 })
- await _db.AddServerBanHitsAsync(id, banHits);
-
- e.Deny(msg);
- }
- else
- {
- await _db.AddConnectionLogAsync(userId, e.UserName, addr, e.UserData.HWId, null);
-
- if (!ServerPreferencesManager.ShouldStorePrefs(e.AuthType))
- return;
-
- await _db.UpdatePlayerRecordAsync(userId, e.UserName, addr, e.UserData.HWId);
- }
- }
-
- private async Task<(ConnectionDenyReason, string, List? bansHit)?> ShouldDeny(
- NetConnectingArgs e)
{
// Check if banned.
var addr = e.IP.Address;
@@ -107,26 +77,34 @@ The ban reason is: ""{ban.Reason}""
var adminData = await _dbManager.GetAdminDataForAsync(e.UserId);
var wasInGame = EntitySystem.TryGet(out var ticker) && ticker.PlayersInGame.Contains(userId);
- if ((_plyMgr.PlayerCount >= _cfg.GetCVar(CCVars.SoftMaxPlayers) && adminData is null) && !wasInGame)
+ if ((_plyMgr.PlayerCount >= _cfg.GetCVar(CCVars.SoftMaxPlayers) && adminData is null) && !wasInGame )
{
- return (ConnectionDenyReason.Full, Loc.GetString("soft-player-cap-full"), null);
+ e.Deny(Loc.GetString("soft-player-cap-full"));
+ return;
}
- var bans = await _db.GetServerBansAsync(addr, userId, hwId);
- if (bans.Count > 0)
+ var ban = await _db.GetServerBanAsync(addr, userId, hwId);
+ if (ban != null)
{
- var firstBan = bans[0];
- return (ConnectionDenyReason.Ban, firstBan.DisconnectMessage, bans);
+ e.Deny(ban.DisconnectMessage);
+ return;
}
if (_cfg.GetCVar(CCVars.WhitelistEnabled)
&& await _db.GetWhitelistStatusAsync(userId) == false
&& adminData is null)
{
- return (ConnectionDenyReason.Whitelist, Loc.GetString("whitelist-not-whitelisted"), null);
+ e.Deny(Loc.GetString("whitelist-not-whitelisted"));
+ return;
}
- return null;
+ if (!ServerPreferencesManager.ShouldStorePrefs(e.AuthType))
+ {
+ return;
+ }
+
+ await _db.UpdatePlayerRecordAsync(userId, e.UserName, addr, e.UserData.HWId);
+ await _db.AddConnectionLogAsync(userId, e.UserName, addr, e.UserData.HWId);
}
private async Task AssignUserIdCallback(string name)
diff --git a/Content.Server/Database/ServerDbBase.cs b/Content.Server/Database/ServerDbBase.cs
index 9e9ae652b0..9dcfb05add 100644
--- a/Content.Server/Database/ServerDbBase.cs
+++ b/Content.Server/Database/ServerDbBase.cs
@@ -365,28 +365,11 @@ namespace Content.Server.Database
/*
* CONNECTION LOG
*/
- public abstract Task AddConnectionLogAsync(
+ public abstract Task AddConnectionLogAsync(
NetUserId userId,
string userName,
IPAddress address,
- ImmutableArray hwId,
- ConnectionDenyReason? denied);
-
- public async Task AddServerBanHitsAsync(int connection, IEnumerable bans)
- {
- await using var db = await GetDb();
-
- foreach (var ban in bans)
- {
- db.DbContext.ServerBanHit.Add(new ServerBanHit
- {
- ConnectionId = connection, BanId = ban.Id!.Value
- });
- }
-
- await db.DbContext.SaveChangesAsync();
- }
-
+ ImmutableArray hwId);
#endregion
#region Admin Ranks
diff --git a/Content.Server/Database/ServerDbManager.cs b/Content.Server/Database/ServerDbManager.cs
index 846022b925..72f8b3b364 100644
--- a/Content.Server/Database/ServerDbManager.cs
+++ b/Content.Server/Database/ServerDbManager.cs
@@ -100,16 +100,11 @@ namespace Content.Server.Database
#endregion
#region Connection Logs
- /// ID of newly inserted connection log row.
- Task AddConnectionLogAsync(
+ Task AddConnectionLogAsync(
NetUserId userId,
string userName,
IPAddress address,
- ImmutableArray hwId,
- ConnectionDenyReason? denied);
-
- Task AddServerBanHitsAsync(int connection, IEnumerable bans);
-
+ ImmutableArray hwId);
#endregion
#region Admin Ranks
@@ -281,19 +276,13 @@ namespace Content.Server.Database
return _db.GetPlayerRecordByUserId(userId, cancel);
}
- public Task AddConnectionLogAsync(
+ public Task AddConnectionLogAsync(
NetUserId userId,
string userName,
IPAddress address,
- ImmutableArray hwId,
- ConnectionDenyReason? denied)
+ ImmutableArray hwId)
{
- return _db.AddConnectionLogAsync(userId, userName, address, hwId, denied);
- }
-
- public Task AddServerBanHitsAsync(int connection, IEnumerable bans)
- {
- return _db.AddServerBanHitsAsync(connection, bans);
+ return _db.AddConnectionLogAsync(userId, userName, address, hwId);
}
public Task GetAdminDataForAsync(NetUserId userId, CancellationToken cancel = default)
diff --git a/Content.Server/Database/ServerDbPostgres.cs b/Content.Server/Database/ServerDbPostgres.cs
index 9405f90875..90a58b58e7 100644
--- a/Content.Server/Database/ServerDbPostgres.cs
+++ b/Content.Server/Database/ServerDbPostgres.cs
@@ -232,30 +232,24 @@ namespace Content.Server.Database
record.LastSeenHWId?.ToImmutableArray());
}
- public override async Task AddConnectionLogAsync(
+ public override async Task AddConnectionLogAsync(
NetUserId userId,
string userName,
IPAddress address,
- ImmutableArray hwId,
- ConnectionDenyReason? denied)
+ ImmutableArray hwId)
{
await using var db = await GetDbImpl();
- var connectionLog = new ConnectionLog
+ db.PgDbContext.ConnectionLog.Add(new ConnectionLog
{
Address = address,
Time = DateTime.UtcNow,
UserId = userId.UserId,
UserName = userName,
- HWId = hwId.ToArray(),
- Denied = denied,
- };
-
- db.PgDbContext.ConnectionLog.Add(connectionLog);
+ HWId = hwId.ToArray()
+ });
await db.PgDbContext.SaveChangesAsync();
-
- return connectionLog.Id;
}
public override async Task<((Admin, string? lastUserName)[] admins, AdminRank[])>
diff --git a/Content.Server/Database/ServerDbSqlite.cs b/Content.Server/Database/ServerDbSqlite.cs
index 562067077a..b00a56c411 100644
--- a/Content.Server/Database/ServerDbSqlite.cs
+++ b/Content.Server/Database/ServerDbSqlite.cs
@@ -215,30 +215,21 @@ namespace Content.Server.Database
unban.UnbanTime);
}
- public override async Task AddConnectionLogAsync(
- NetUserId userId,
- string userName,
- IPAddress address,
- ImmutableArray hwId,
- ConnectionDenyReason? denied)
+ public override async Task AddConnectionLogAsync(NetUserId userId, string userName, IPAddress address,
+ ImmutableArray hwId)
{
await using var db = await GetDbImpl();
- var connectionLog = new ConnectionLog
+ db.SqliteDbContext.ConnectionLog.Add(new ConnectionLog
{
Address = address,
Time = DateTime.UtcNow,
UserId = userId.UserId,
UserName = userName,
- HWId = hwId.ToArray(),
- Denied = denied
- };
-
- db.SqliteDbContext.ConnectionLog.Add(connectionLog);
+ HWId = hwId.ToArray()
+ });
await db.SqliteDbContext.SaveChangesAsync();
-
- return connectionLog.Id;
}
public override async Task<((Admin, string? lastUserName)[] admins, AdminRank[])> GetAllAdminAndRanksAsync(