This commit is contained in:
@@ -43,7 +43,7 @@ namespace AyaNova.Api.Controllers
|
||||
/// <summary>
|
||||
/// Get server state
|
||||
/// </summary>
|
||||
/// <returns>Current server state (Closed, OpsOnly, Open)</returns>
|
||||
/// <returns>Current server state (Closed, MigrateMode, OpsOnly, Open)</returns>
|
||||
[HttpGet]
|
||||
public ActionResult Get()
|
||||
{
|
||||
@@ -79,8 +79,29 @@ namespace AyaNova.Api.Controllers
|
||||
if (desiredState == ApiServerState.ServerState.Closed)
|
||||
return BadRequest(new ApiErrorResponse(ApiErrorCode.VALIDATION_INVALID_VALUE, null, "Invalid state - must be one of \"OpsOnly\", \"MigrateMode\" or \"Open\""));
|
||||
|
||||
var TransId = UserTranslationIdFromContext.Id(HttpContext.Items);
|
||||
|
||||
log.LogInformation($"ServerState change request by user {UserNameFromContext.Name(HttpContext.Items)} from current state of \"{serverState.GetState().ToString()}\" to \"{desiredState.ToString()}-{state.Reason}\"");
|
||||
|
||||
//Add a message if user didn't enter one so other users know why they can't login
|
||||
if (string.IsNullOrWhiteSpace(state.Reason))
|
||||
{
|
||||
switch (desiredState)
|
||||
{
|
||||
case ApiServerState.ServerState.Open:
|
||||
break;
|
||||
case ApiServerState.ServerState.MigrateMode:
|
||||
state.Reason += await TranslationBiz.GetTranslationStaticAsync("ServerStateLoginRestricted", TransId, ct) + " " + await TranslationBiz.GetTranslationStaticAsync("ServerStateMigrateMode", TransId, ct);
|
||||
break;
|
||||
case ApiServerState.ServerState.OpsOnly:
|
||||
state.Reason += await TranslationBiz.GetTranslationStaticAsync("ServerStateLoginRestricted", TransId, ct) + " " + await TranslationBiz.GetTranslationStaticAsync("ServerStateOps", TransId, ct);
|
||||
break;
|
||||
case ApiServerState.ServerState.Closed:
|
||||
state.Reason += await TranslationBiz.GetTranslationStaticAsync("ServerStateLoginRestricted", TransId, ct) + " " + await TranslationBiz.GetTranslationStaticAsync("ErrorAPI2000", TransId, ct);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
serverState.SetState(desiredState, state.Reason);
|
||||
|
||||
//Log
|
||||
|
||||
Reference in New Issue
Block a user