@RequestMapping(value = "/account/{accountName:.+}", method = RequestMethod.GET) DaemonTask<Halconfig, Account> account(@PathVariable String deploymentName, @PathVariable String providerName, @PathVariable String accountName, @ModelAttribute ValidationSettings validationSettings) { return GenericGetRequest.<Account>builder() .getter(() -> accountService.getProviderAccount(deploymentName, providerName, accountName)) .validator(() -> accountService.validateAccount(deploymentName, providerName, accountName)) .description("Get " + accountName + " account") .build() .execute(validationSettings); }
@RequestMapping(value = "/account/{accountName:.+}", method = RequestMethod.PUT) DaemonTask<Halconfig, Void> setAccount(@PathVariable String deploymentName, @PathVariable String providerName, @PathVariable String accountName, @ModelAttribute ValidationSettings validationSettings, @RequestBody Object rawAccount) { Account account = objectMapper.convertValue( rawAccount, Providers.translateAccountType(providerName) ); return GenericUpdateRequest.<Account>builder(halconfigParser) .stagePath(halconfigDirectoryStructure.getStagingPath(deploymentName)) .updater(a -> accountService.setAccount(deploymentName, providerName, accountName, a)) .validator(() -> accountService.validateAccount(deploymentName, providerName, account.getName())) .description("Edit the " + accountName + " account") .build() .execute(validationSettings, account); }
@RequestMapping(value = "/", method = RequestMethod.POST) DaemonTask<Halconfig, Void> addAccount(@PathVariable String deploymentName, @PathVariable String providerName, @ModelAttribute ValidationSettings validationSettings, @RequestBody Object rawAccount) { Account account = objectMapper.convertValue( rawAccount, Providers.translateAccountType(providerName) ); return GenericUpdateRequest.<Account>builder(halconfigParser) .stagePath(halconfigDirectoryStructure.getStagingPath(deploymentName)) .updater(a -> accountService.addAccount(deploymentName, providerName, a)) .validator(() -> accountService.validateAccount(deploymentName, providerName, account.getName())) .description("Add the " + account.getName() + " account") .build() .execute(validationSettings, account); } }