code: @Patch("/metadata/{projectName}/members/{memberId}")
      @Consumes("application/json-patch+json")
      public CompletableFuture<Revision> updateMember(@Param("projectName") String projectName,
                                                      @Param("memberId") String memberId,
                                                      JsonPatch jsonPatch,
                                                      Author author) {
          final ReplaceOperation operation = ensureSingleReplaceOperation(jsonPatch, "/role");
          final ProjectRole role = ProjectRole.of(operation.value());
          final User member = new User(loginNameNormalizer.apply(urlDecode(memberId)));
          return mds.getMember(projectName, member)
                    .thenCompose(unused -> mds.updateMemberRole(author, projectName, member, role));
      }
docs: PATCH /metadata/{projectName}/members/{memberId}
  
  <p>Updates the {@link ProjectRole} of the specified {@code memberId} in the specified
  {@code projectName}.