Support deleting vote on a revision
Right now deleting a vote is done by:
'DELETE /changes/{change-id}/reviewers/{account-id}/votes/{label-id}'
A new REST endpoint is added as:
'DELETE /changes/{change-id}/revisions/{revision-id}/reviewers/{account-id}/votes/{label-id}'
This new endpoint can help prevent deleting the vote (with same label)
from a newer patch set by mistake.
'List Revision Reviewers' and 'List Revision Votes' endpoints are also
added as by-products. All of the three endpoints are limited on current
revision.
Change-Id: I85fac04db986c2133cd39d2d06648d1dad8c3b4c
This commit is contained in:
@@ -48,6 +48,7 @@ public interface RevisionApi {
|
||||
ChangeApi rebase(RebaseInput in) throws RestApiException;
|
||||
boolean canRebase() throws RestApiException;
|
||||
|
||||
RevisionReviewerApi reviewer(String id) throws RestApiException;
|
||||
void setReviewed(String path, boolean reviewed) throws RestApiException;
|
||||
Set<String> reviewed() throws RestApiException;
|
||||
|
||||
@@ -162,6 +163,11 @@ public interface RevisionApi {
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
@Override
|
||||
public RevisionReviewerApi reviewer(String id) throws RestApiException {
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setReviewed(String path, boolean reviewed) throws RestApiException {
|
||||
throw new NotImplementedException();
|
||||
|
||||
@@ -0,0 +1,50 @@
|
||||
// Copyright (C) 2017 The Android Open Source Project
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
package com.google.gerrit.extensions.api.changes;
|
||||
|
||||
import com.google.gerrit.extensions.restapi.NotImplementedException;
|
||||
import com.google.gerrit.extensions.restapi.RestApiException;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
|
||||
public interface RevisionReviewerApi {
|
||||
Map<String, Short> votes() throws RestApiException;
|
||||
|
||||
void deleteVote(String label) throws RestApiException;
|
||||
|
||||
void deleteVote(DeleteVoteInput input) throws RestApiException;
|
||||
|
||||
/**
|
||||
* A default implementation which allows source compatibility
|
||||
* when adding new methods to the interface.
|
||||
**/
|
||||
class NotImplemented implements RevisionReviewerApi {
|
||||
@Override
|
||||
public Map<String, Short> votes() throws RestApiException {
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void deleteVote(String label) throws RestApiException {
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void deleteVote(DeleteVoteInput input) throws RestApiException {
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user