@RequestMapping(value = "/account/{accountName:.+}", method = RequestMethod.GET) DaemonTask<Halconfig, ArtifactAccount> account(@PathVariable String deploymentName, @PathVariable String providerName, @PathVariable String accountName, @ModelAttribute ValidationSettings validationSettings) { return GenericGetRequest.<ArtifactAccount>builder() .getter(() -> accountService.getArtifactProviderArtifactAccount(deploymentName, providerName, accountName)) .validator(() -> accountService.validateArtifactAccount(deploymentName, providerName, accountName)) .description("Get " + accountName + " artifact account") .build() .execute(validationSettings); }
@RequestMapping(value = "/account/{accountName:.+}", method = RequestMethod.PUT) DaemonTask<Halconfig, Void> setArtifactAccount(@PathVariable String deploymentName, @PathVariable String providerName, @PathVariable String accountName, @ModelAttribute ValidationSettings validationSettings, @RequestBody Object rawArtifactAccount) { ArtifactAccount account = objectMapper.convertValue( rawArtifactAccount, Artifacts.translateArtifactAccountType(providerName) ); return GenericUpdateRequest.<ArtifactAccount>builder(halconfigParser) .stagePath(halconfigDirectoryStructure.getStagingPath(deploymentName)) .updater(a -> accountService.setArtifactAccount(deploymentName, providerName, accountName, a)) .validator(() -> accountService.validateArtifactAccount(deploymentName, providerName, account.getName())) .description("Edit the " + accountName + " artifact account") .build() .execute(validationSettings, account); }
@RequestMapping(value = "/", method = RequestMethod.POST) DaemonTask<Halconfig, Void> addArtifactAccount(@PathVariable String deploymentName, @PathVariable String providerName, @ModelAttribute ValidationSettings validationSettings, @RequestBody Object rawArtifactAccount) { ArtifactAccount account = objectMapper.convertValue( rawArtifactAccount, Artifacts.translateArtifactAccountType(providerName) ); return GenericUpdateRequest.<ArtifactAccount>builder(halconfigParser) .stagePath(halconfigDirectoryStructure.getStagingPath(deploymentName)) .updater(a -> accountService.addArtifactAccount(deploymentName, providerName, a)) .validator(() -> accountService.validateArtifactAccount(deploymentName, providerName, account.getName())) .description("Add the " + account.getName() + " artifact account") .build() .execute(validationSettings, account); } }