@RequestMapping(value = "/authz/groupMembership/{roleProviderName:.+}", method = RequestMethod.PUT)
DaemonTask<Halconfig, Void> setRoleProvider(@PathVariable String deploymentName,
@PathVariable String roleProviderName,
@ModelAttribute ValidationSettings validationSettings,
@RequestBody Object rawProvider) {
RoleProvider roleProvider = objectMapper.convertValue(
rawProvider,
GroupMembership.translateRoleProviderType(roleProviderName)
);
return GenericUpdateRequest.<RoleProvider>builder(halconfigParser)
.stagePath(halconfigDirectoryStructure.getStagingPath(deploymentName))
.updater(r -> securityService.setRoleProvider(deploymentName, r))
.validator(() -> securityService.validateRoleProvider(deploymentName, roleProviderName))
.description("Edit " + roleProviderName + " group membership settings")
.build()
.execute(validationSettings, roleProvider);
}