@PutMapping(GROUP_MEMBER_END_POINT + "/{memberName}") @ApiOperation(value = "Change membership role", response = ResponseEntity.class) @Transactional @ResponseStatus(HttpStatus.OK) @ApiResponses({ @ApiResponse(code = 200, message = "Updated membership role", response = ResponseEntity.class) }) public void updateMember( @PathVariable(value = "groupName") String groupName, @PathVariable(value = "memberName") String memberName, @RequestBody UpdateGroupMemberCommand groupMember) { checkGroupPermission(groupName, UPDATE_MEMBERSHIP); final Group group = groupService.getGroup(groupName); final User member = userService.getUser(memberName); final Role newRole = roleService.getRole(groupMember.getRoleName()); groupService.updateMemberRole(group, member, newRole); }
@PostMapping(GROUP_MEMBER_END_POINT) @ApiOperation(value = "Add member to group", response = ResponseEntity.class) @Transactional @ApiResponses({ @ApiResponse(code = 201, message = "Member added to group", response = ResponseEntity.class) }) public ResponseEntity addMember( @PathVariable(value = "groupName") String groupName, @RequestBody AddGroupMemberCommand addMemberCommand) { checkGroupPermission(groupName, ADD_MEMBERSHIP); final Group group = groupService.getGroup(groupName); final String username = addMemberCommand.getUsername(); final String roleName = addMemberCommand.getRoleName(); final Role role = roleService.getRole(roleName); final User user = userService.getUser(username); groupService.addMember(group, user, role); URI location = ServletUriComponentsBuilder.fromCurrentRequest() .path("/{group}/member/{member}") .buildAndExpand(groupName, username) .toUri(); return ResponseEntity.created(location).build(); }