@RequestMapping(value = "/options", method = RequestMethod.POST)
DaemonTask<Halconfig, List<String>> newAccountOptions(@PathVariable String deploymentName,
@PathVariable String providerName,
@ModelAttribute ValidationSettings validationSettings,
@RequestBody DaemonOptions rawAccountOptions) {
String fieldName = rawAccountOptions.getField();
Account account = objectMapper.convertValue(
rawAccountOptions.getResource(),
Providers.translateAccountType(providerName)
);
DaemonResponse.UpdateOptionsRequestBuilder builder = new DaemonResponse.UpdateOptionsRequestBuilder();
String accountName = account.getName();
builder.setUpdate(() -> accountService.addAccount(deploymentName, providerName, account));
builder.setFieldOptionsResponse(() -> accountService
.getAccountOptions(deploymentName, providerName, accountName, fieldName));
builder.setSeverity(validationSettings.getSeverity());
return DaemonTaskHandler.submitTask(builder::build, "Get " + fieldName + " options");
}