code: @Patch("/metadata/{projectName}/tokens/{appId}")
      @Consumes("application/json-patch+json")
      public CompletableFuture<Revision> updateTokenRole(@Param("projectName") String projectName,
                                                         @Param("appId") String appId,
                                                         JsonPatch jsonPatch,
                                                         Author author) {
          final ReplaceOperation operation = ensureSingleReplaceOperation(jsonPatch, "/role");
          final ProjectRole role = ProjectRole.of(operation.value());
          return mds.findTokenByAppId(appId)
                    .thenCompose(token -> mds.updateTokenRole(author, projectName, token, role));
      }
docs: PATCH /metadata/{projectName}/tokens/{appId}
  
  <p>Updates the {@link ProjectRole} of the {@link Token} of the specified {@code appId}
  in the specified {@code projectName}.