Ejemplo n.º 1
0
        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" }));
            }
        }