public IActionResult PostTemplate([FromBody] MicroTemplateInfo model) { if (!ModelState.IsValid) { return(BadRequest()); } try { _microTemplateProcessor.ExecuteTemplate(model); return(Ok(model)); } catch (Exception ex) { return(Problem(UtilString.GetStringException(ex))); } }
public IActionResult GetTemplate([FromQuery] IDictionary <string, string> templateParams) { if (!ModelState.IsValid) { return(BadRequest()); } try { var model = MicroTemplateInfo.FromDictionary(templateParams); model.SetDefaultsForNulls(); _microTemplateProcessor.ExecuteTemplate(model); return(Ok(model)); } catch (Exception ex) { return(Problem(UtilString.GetStringException(ex))); } }
public IActionResult Post(string taskName, [FromBody] IDictionary <string, object> parameters) { var taskList = _taskLocator.GetTaskHolderList(); var task = taskList.FirstOrDefault(t => t.Key == taskName); if (task == null) { return(NotFound()); } var definition = task.Task.GetTaskParameterDefinition(); if (definition.Any(d => d.Type == TaskParameterType.CustomConsole)) { return(BadRequest("This task is only enabled for console client")); } _consolePlugin.Flush(); var result = new TaskExecutionResult(); try { task.Task.Execute(parameters); TryGetConsoleBuffer(result); result.Success = true; } catch (Exception ex) { result.Success = false; result.ExceptionMessage = UtilString.GetStringException(ex); TryGetConsoleBuffer(result); var r = new ObjectResult(result) { StatusCode = StatusCodes.Status500InternalServerError }; return(r); } return(Ok(result)); }