Some controller fixups

This commit is contained in:
Jordan Brown
2018-07-22 11:06:30 -04:00
parent 751f86d186
commit 25c831a46c
2 changed files with 27 additions and 0 deletions
@@ -149,6 +149,23 @@ namespace Tgstation.Server.Host.Controllers
return Json(results);
}
/// <inheritdoc />
[TgsAuthorize(ChatSettingsRights.Read)]
public override async Task<IActionResult> 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);
}
/// <inheritdoc />
[TgsAuthorize(ChatSettingsRights.WriteChannels | ChatSettingsRights.WriteConnectionString | ChatSettingsRights.WriteEnabled | ChatSettingsRights.WriteName | ChatSettingsRights.WriteProvider)]
public override async Task<IActionResult> Update([FromBody] Api.Models.ChatSettings model, CancellationToken cancellationToken)
@@ -162,5 +162,15 @@ namespace Tgstation.Server.Host.Controllers
var users = await DatabaseContext.Users.ToListAsync(cancellationToken).ConfigureAwait(false);
return Json(users);
}
/// <inheritdoc />
[TgsAuthorize(AdministrationRights.EditUsers)]
public override async Task<IActionResult> 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);
}
}
}