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);
+ }
}
}