Random spontaneous cleanup PR (#25131)

* Use new Subs.CVar helper

Removes manual config OnValueChanged calls, removes need to remember to manually unsubscribe.

This both reduces boilerplate and fixes many issues where subscriptions weren't removed on entity system shutdown.

* Fix a bunch of warnings

* More warning fixes

* Use new DateTime serializer to get rid of ISerializationHooks in changelog code.

* Get rid of some more ISerializationHooks for enums

* And a little more

* Apply suggestions from code review

Co-authored-by: 0x6273 <0x40@keemail.me>

---------

Co-authored-by: 0x6273 <0x40@keemail.me>
This commit is contained in:
Pieter-Jan Briers
2024-02-13 22:48:39 +01:00
committed by GitHub
parent d0c174388c
commit 68ce53ae17
210 changed files with 481 additions and 930 deletions

View File

@@ -18,7 +18,9 @@ namespace Content.Server.Administration.UI
[Dependency] private readonly IPlayerManager _playerManager = default!;
[Dependency] private readonly IServerDbManager _db = default!;
[Dependency] private readonly IAdminManager _adminManager = default!;
[Dependency] private readonly ILogManager _logManager = default!;
private readonly ISawmill _sawmill;
private bool _isLoading;
private readonly List<(Admin a, string? lastUserName)> _admins = new List<(Admin, string? lastUserName)>();
@@ -27,6 +29,7 @@ namespace Content.Server.Administration.UI
public PermissionsEui()
{
IoCManager.InjectDependencies(this);
_sawmill = _logManager.GetSawmill("admin.perms");
}
public override void Opened()
@@ -143,7 +146,7 @@ namespace Content.Server.Administration.UI
if (!CanTouchRank(rank))
{
Logger.WarningS("admin.perms", $"{Player} tried to remove higher-ranked admin rank {rank.Name}");
_sawmill.Warning($"{Player} tried to remove higher-ranked admin rank {rank.Name}");
return;
}
@@ -162,13 +165,13 @@ namespace Content.Server.Administration.UI
if (!CanTouchRank(rank))
{
Logger.WarningS("admin.perms", $"{Player} tried to update higher-ranked admin rank {rank.Name}");
_sawmill.Warning($"{Player} tried to update higher-ranked admin rank {rank.Name}");
return;
}
if (!UserAdminFlagCheck(ur.Flags))
{
Logger.WarningS("admin.perms", $"{Player} tried to give a rank permissions above their authorization.");
_sawmill.Warning($"{Player} tried to give a rank permissions above their authorization.");
return;
}
@@ -178,7 +181,7 @@ namespace Content.Server.Administration.UI
await _db.UpdateAdminRankAsync(rank);
var flagText = string.Join(' ', AdminFlagsHelper.FlagsToNames(ur.Flags).Select(f => $"+{f}"));
Logger.InfoS("admin.perms", $"{Player} updated admin rank {rank.Name}/{flagText}.");
_sawmill.Info($"{Player} updated admin rank {rank.Name}/{flagText}.");
_adminManager.ReloadAdminsWithRank(ur.Id);
}
@@ -187,7 +190,7 @@ namespace Content.Server.Administration.UI
{
if (!UserAdminFlagCheck(ar.Flags))
{
Logger.WarningS("admin.perms", $"{Player} tried to give a rank permissions above their authorization.");
_sawmill.Warning($"{Player} tried to give a rank permissions above their authorization.");
return;
}
@@ -200,7 +203,7 @@ namespace Content.Server.Administration.UI
await _db.AddAdminRankAsync(rank);
var flagText = string.Join(' ', AdminFlagsHelper.FlagsToNames(ar.Flags).Select(f => $"+{f}"));
Logger.InfoS("admin.perms", $"{Player} added admin rank {rank.Name}/{flagText}.");
_sawmill.Info($"{Player} added admin rank {rank.Name}/{flagText}.");
}
private async Task HandleRemoveAdmin(RemoveAdmin ra)
@@ -214,14 +217,14 @@ namespace Content.Server.Administration.UI
if (!CanTouchAdmin(admin))
{
Logger.WarningS("admin.perms", $"{Player} tried to remove higher-ranked admin {ra.UserId.ToString()}");
_sawmill.Warning($"{Player} tried to remove higher-ranked admin {ra.UserId.ToString()}");
return;
}
await _db.RemoveAdminAsync(ra.UserId);
var record = await _db.GetPlayerRecordByUserId(ra.UserId);
Logger.InfoS("admin.perms", $"{Player} removed admin {record?.LastSeenUserName ?? ra.UserId.ToString()}");
_sawmill.Info($"{Player} removed admin {record?.LastSeenUserName ?? ra.UserId.ToString()}");
if (_playerManager.TryGetSessionById(ra.UserId, out var player))
{
@@ -245,7 +248,7 @@ namespace Content.Server.Administration.UI
if (!CanTouchAdmin(admin))
{
Logger.WarningS("admin.perms", $"{Player} tried to modify higher-ranked admin {ua.UserId.ToString()}");
_sawmill.Warning($"{Player} tried to modify higher-ranked admin {ua.UserId.ToString()}");
return;
}
@@ -266,7 +269,7 @@ namespace Content.Server.Administration.UI
var title = ua.Title ?? "<no title>";
var flags = AdminFlagsHelper.PosNegFlagsText(ua.PosFlags, ua.NegFlags);
Logger.InfoS("admin.perms", $"{Player} updated admin {name} to {title}/{rankName}/{flags}");
_sawmill.Info($"{Player} updated admin {name} to {title}/{rankName}/{flags}");
if (_playerManager.TryGetSessionById(ua.UserId, out var player))
{
@@ -304,8 +307,7 @@ namespace Content.Server.Administration.UI
{
// username not in DB.
// TODO: Notify user.
Logger.WarningS("admin.perms",
$"{Player} tried to add admin with unknown username {ca.UserNameOrId}.");
_sawmill.Warning($"{Player} tried to add admin with unknown username {ca.UserNameOrId}.");
return;
}
@@ -341,7 +343,7 @@ namespace Content.Server.Administration.UI
var title = ca.Title ?? "<no title>";
var flags = AdminFlagsHelper.PosNegFlagsText(ca.PosFlags, ca.NegFlags);
Logger.InfoS("admin.perms", $"{Player} added admin {name} as {title}/{rankName}/{flags}");
_sawmill.Info($"{Player} added admin {name} as {title}/{rankName}/{flags}");
if (_playerManager.TryGetSessionById(userId, out var player))
{
@@ -362,7 +364,7 @@ namespace Content.Server.Administration.UI
if (!UserAdminFlagCheck(posFlags))
{
// Can't create an admin with higher perms than yourself, obviously.
Logger.WarningS("admin.perms", $"{Player} tried to grant admin powers above their authorization.");
_sawmill.Warning($"{Player} tried to grant admin powers above their authorization.");
return false;
}
@@ -378,7 +380,7 @@ namespace Content.Server.Administration.UI
if (rank == null)
{
// Tried to set to nonexistent rank.
Logger.WarningS("admin.perms", $"{Player} tried to assign nonexistent admin rank.");
_sawmill.Warning($"{Player} tried to assign nonexistent admin rank.");
return (true, null);
}
@@ -388,7 +390,7 @@ namespace Content.Server.Administration.UI
if (!UserAdminFlagCheck(rankFlags))
{
// Can't assign a rank with flags you don't have yourself.
Logger.WarningS("admin.perms", $"{Player} tried to assign admin rank above their authorization.");
_sawmill.Warning($"{Player} tried to assign admin rank above their authorization.");
return (true, null);
}
}