diff --git a/src/Tgstation.Server.Host/Controllers/ChatController.cs b/src/Tgstation.Server.Host/Controllers/ChatController.cs index e04fbd52db..20afd6691e 100644 --- a/src/Tgstation.Server.Host/Controllers/ChatController.cs +++ b/src/Tgstation.Server.Host/Controllers/ChatController.cs @@ -149,6 +149,23 @@ namespace Tgstation.Server.Host.Controllers return Json(results); } + /// + [TgsAuthorize(ChatSettingsRights.Read)] + public override async Task GetId(long id, CancellationToken cancellationToken) + { + var query = DatabaseContext.ChatSettings.Where(x => x.Id == id).Include(x => x.Channels); + + var results = await query.ToListAsync(cancellationToken).ConfigureAwait(false); + + var connectionStrings = (AuthenticationContext.GetRight(RightsType.ChatSettings) & (int)ChatSettingsRights.ReadConnectionString) != 0; + + if (!connectionStrings) + foreach (var I in results) + I.ConnectionString = null; + + return Json(results); + } + /// [TgsAuthorize(ChatSettingsRights.WriteChannels | ChatSettingsRights.WriteConnectionString | ChatSettingsRights.WriteEnabled | ChatSettingsRights.WriteName | ChatSettingsRights.WriteProvider)] public override async Task Update([FromBody] Api.Models.ChatSettings model, CancellationToken cancellationToken) diff --git a/src/Tgstation.Server.Host/Controllers/UsersController.cs b/src/Tgstation.Server.Host/Controllers/UsersController.cs index bb13cec980..c7ccafa5d7 100644 --- a/src/Tgstation.Server.Host/Controllers/UsersController.cs +++ b/src/Tgstation.Server.Host/Controllers/UsersController.cs @@ -162,5 +162,15 @@ namespace Tgstation.Server.Host.Controllers var users = await DatabaseContext.Users.ToListAsync(cancellationToken).ConfigureAwait(false); return Json(users); } + + /// + [TgsAuthorize(AdministrationRights.EditUsers)] + public override async Task GetId(long id, CancellationToken cancellationToken) + { + var user = await DatabaseContext.Users.Where(x => x.Id == id).FirstOrDefaultAsync(cancellationToken).ConfigureAwait(false); + if (user == default) + return NotFound(); + return Json(user); + } } }