From 3bb026a24e7e3cfa73de15be177981b149fbd0d7 Mon Sep 17 00:00:00 2001 From: Cyberboss Date: Sat, 25 Aug 2018 09:03:22 -0400 Subject: [PATCH] Allow User.GetId on current user --- src/Tgstation.Server.Host/Controllers/UserController.cs | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/Tgstation.Server.Host/Controllers/UserController.cs b/src/Tgstation.Server.Host/Controllers/UserController.cs index 96ceaf0c2f..de016b1b3d 100644 --- a/src/Tgstation.Server.Host/Controllers/UserController.cs +++ b/src/Tgstation.Server.Host/Controllers/UserController.cs @@ -172,9 +172,15 @@ namespace Tgstation.Server.Host.Controllers } /// - [TgsAuthorize(AdministrationRights.EditUsers)] + [TgsAuthorize] public override async Task GetId(long id, CancellationToken cancellationToken) { + if (id == AuthenticationContext.User.Id) + return await Read(cancellationToken).ConfigureAwait(false); + + if (!((AdministrationRights)AuthenticationContext.GetRight(RightsType.Administration)).HasFlag(AdministrationRights.EditUsers)) + return Forbid(); + var user = await DatabaseContext.Users.Where(x => x.Id == id).FirstOrDefaultAsync(cancellationToken).ConfigureAwait(false); if (user == default) return NotFound();