public async Task <IActionResult> RegisterAsync([FromBody] RegisterScriptModel Model) { _logger.LogInformation("Register new script"); try { string decodedContent = Base64.DecodeBase64(Model.EncodedContent); Script script = _mapper.Map <Script>(Model); script.Content = decodedContent; Script createdScript = await _scriptService.CreateAsync(script); ScriptModel scriptModel = _mapper.Map <ScriptModel>(createdScript); _logger.LogInformation("Script registered with id : {scriptId}", scriptModel.id); return(Ok(scriptModel)); } catch (AppException ex) { _logger.LogError(ex, "Failed to register new script"); return(BadRequest(new { message = ex.Message })); } catch (Exception ex) { _logger.LogError(ex, "Fatal failure"); return(StatusCode(StatusCodes.Status500InternalServerError, new { message = "Fatal internal error. Please contact administrator" })); } }