This commit is contained in:
2020-04-05 21:43:34 +00:00
parent 8443c7c5bf
commit d3d2fe8c46
2 changed files with 13 additions and 33 deletions

View File

@@ -69,19 +69,11 @@ namespace AyaNova.Api.Controllers
if (serverState.IsClosed) if (serverState.IsClosed)
return StatusCode(503, new ApiErrorResponse(serverState.ApiErrorCode, null, serverState.Reason)); return StatusCode(503, new ApiErrorResponse(serverState.ApiErrorCode, null, serverState.Reason));
// //Open or opsOnly only other state so they are ok but check user is opsadminfull
// if (!serverState.IsOpenOrOpsOnly || (serverState.IsOpsOnly && !Authorized.HasAnyRole(HttpContext.Items, AuthorizationRoles.OpsAdminFull)))
// {
// return StatusCode(503, new ApiErrorResponse(ApiErrorCode.API_CLOSED, null, serverState.Reason));
// }
if (!Authorized.HasCreateRole(HttpContext.Items, AyaType.AyaNova7Import)) if (!Authorized.HasCreateRole(HttpContext.Items, AyaType.AyaNova7Import))
{ {
return StatusCode(403, new ApiNotAuthorizedResponse()); return StatusCode(403, new ApiNotAuthorizedResponse());
} }
var returnList = new List<String>(); var returnList = new List<String>();
try try
@@ -155,11 +147,8 @@ namespace AyaNova.Api.Controllers
[HttpDelete("{filename}")] [HttpDelete("{filename}")]
public ActionResult Delete([FromRoute] string filename) public ActionResult Delete([FromRoute] string filename)
{ {
//Open or opsOnly and user is opsadminfull if (serverState.IsClosed)
if (!serverState.IsOpenOrOpsOnly || (serverState.IsOpsOnly && !Authorized.HasAnyRole(HttpContext.Items, AuthorizationRoles.OpsAdminFull))) return StatusCode(503, new ApiErrorResponse(serverState.ApiErrorCode, null, serverState.Reason));
{
return StatusCode(503, new ApiErrorResponse(ApiErrorCode.API_CLOSED, null, serverState.Reason));
}
if (!ModelState.IsValid) if (!ModelState.IsValid)
{ {
@@ -187,11 +176,8 @@ namespace AyaNova.Api.Controllers
[HttpGet] [HttpGet]
public ActionResult List() public ActionResult List()
{ {
//Open or opsOnly and user is opsadminfull if (serverState.IsClosed)
if (!serverState.IsOpenOrOpsOnly || (serverState.IsOpsOnly && !Authorized.HasAnyRole(HttpContext.Items, AuthorizationRoles.OpsAdminFull))) return StatusCode(503, new ApiErrorResponse(serverState.ApiErrorCode, null, serverState.Reason));
{
return StatusCode(503, new ApiErrorResponse(ApiErrorCode.API_CLOSED, null, serverState.Reason));
}
if (!Authorized.HasReadFullRole(HttpContext.Items, AyaType.AyaNova7Import)) if (!Authorized.HasReadFullRole(HttpContext.Items, AyaType.AyaNova7Import))
{ {
@@ -218,11 +204,11 @@ namespace AyaNova.Api.Controllers
[HttpPost("EraseDatabaseAndStartImport/{filename}")] [HttpPost("EraseDatabaseAndStartImport/{filename}")]
public async Task<IActionResult> EraseDatabaseAndStartImport([FromRoute] string filename) public async Task<IActionResult> EraseDatabaseAndStartImport([FromRoute] string filename)
{ {
//Open or opsOnly and user is opsadminfull if (serverState.IsClosed)
if (!serverState.IsOpenOrOpsOnly || (serverState.IsOpsOnly && !Authorized.HasAnyRole(HttpContext.Items, AuthorizationRoles.OpsAdminFull))) return StatusCode(503, new ApiErrorResponse(serverState.ApiErrorCode, null, serverState.Reason));
{
return StatusCode(503, new ApiErrorResponse(ApiErrorCode.API_CLOSED, null, serverState.Reason)); if (!serverState.IsOpsOnly)
} return BadRequest(new ApiErrorResponse(ApiErrorCode.INVALID_OPERATION, null, "Server must be set to Operations Only mode before importing"));
if (!ModelState.IsValid) if (!ModelState.IsValid)
{ {

View File

@@ -53,11 +53,8 @@ namespace AyaNova.Api.Controllers
[HttpGet] [HttpGet]
public async Task<IActionResult> List() public async Task<IActionResult> List()
{ {
//Open or opsOnly and user is opsadminfull or opsadminlimited if (serverState.IsClosed)
if (!serverState.IsOpenOrOpsOnly || (serverState.IsOpsOnly && !Authorized.HasAnyRole(HttpContext.Items, AuthorizationRoles.OpsAdminFull | AuthorizationRoles.OpsAdminLimited))) return StatusCode(503, new ApiErrorResponse(serverState.ApiErrorCode, null, serverState.Reason));
{
return StatusCode(503, new ApiErrorResponse(ApiErrorCode.API_CLOSED, null, serverState.Reason));
}
if (!Authorized.HasReadFullRole(HttpContext.Items, AyaType.JobOperations)) if (!Authorized.HasReadFullRole(HttpContext.Items, AyaType.JobOperations))
{ {
@@ -87,11 +84,8 @@ namespace AyaNova.Api.Controllers
[HttpGet("logs/{gid}")] [HttpGet("logs/{gid}")]
public async Task<IActionResult> GetLogs([FromRoute] Guid gid) public async Task<IActionResult> GetLogs([FromRoute] Guid gid)
{ {
//Open or opsOnly and user is opsadminfull or opsadminlimited if (serverState.IsClosed)
if (!serverState.IsOpenOrOpsOnly || (serverState.IsOpsOnly && !Authorized.HasAnyRole(HttpContext.Items, AuthorizationRoles.OpsAdminFull | AuthorizationRoles.OpsAdminLimited))) return StatusCode(503, new ApiErrorResponse(serverState.ApiErrorCode, null, serverState.Reason));
{
return StatusCode(503, new ApiErrorResponse(ApiErrorCode.API_CLOSED, null, serverState.Reason));
}
if (!Authorized.HasReadFullRole(HttpContext.Items, AyaType.JobOperations)) if (!Authorized.HasReadFullRole(HttpContext.Items, AyaType.JobOperations))
{ {