forked from Qortal/qortal
Added API call to get votes
This commit is contained in:
parent
49063e54ec
commit
cda32a47f1
@ -37,6 +37,7 @@ import javax.ws.rs.PathParam;
|
|||||||
import javax.ws.rs.QueryParam;
|
import javax.ws.rs.QueryParam;
|
||||||
import org.qortal.api.ApiException;
|
import org.qortal.api.ApiException;
|
||||||
import org.qortal.data.voting.PollData;
|
import org.qortal.data.voting.PollData;
|
||||||
|
import org.qortal.data.voting.VoteOnPollData;
|
||||||
|
|
||||||
@Path("/polls")
|
@Path("/polls")
|
||||||
@Tag(name = "Polls")
|
@Tag(name = "Polls")
|
||||||
@ -102,6 +103,35 @@ public class PollsResource {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@GET
|
||||||
|
@Path("/votes/{pollName}")
|
||||||
|
@Operation(
|
||||||
|
summary = "Votes on poll",
|
||||||
|
responses = {
|
||||||
|
@ApiResponse(
|
||||||
|
description = "poll votes",
|
||||||
|
content = @Content(
|
||||||
|
mediaType = MediaType.APPLICATION_JSON,
|
||||||
|
schema = @Schema(implementation = VoteOnPollData.class)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
}
|
||||||
|
)
|
||||||
|
@ApiErrors({ApiError.REPOSITORY_ISSUE})
|
||||||
|
public List<VoteOnPollData> getVoteOnPollData(@PathParam("pollName") String pollName) {
|
||||||
|
try (final Repository repository = RepositoryManager.getRepository()) {
|
||||||
|
if (repository.getVotingRepository().fromPollName(pollName) == null)
|
||||||
|
throw ApiExceptionFactory.INSTANCE.createException(request, ApiError.POLL_NO_EXISTS);
|
||||||
|
|
||||||
|
List<VoteOnPollData> voteOnPollData = repository.getVotingRepository().getVotes(pollName);
|
||||||
|
return voteOnPollData;
|
||||||
|
} catch (ApiException e) {
|
||||||
|
throw e;
|
||||||
|
} catch (DataException e) {
|
||||||
|
throw ApiExceptionFactory.INSTANCE.createException(request, ApiError.REPOSITORY_ISSUE, e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@POST
|
@POST
|
||||||
@Path("/create")
|
@Path("/create")
|
||||||
@Operation(
|
@Operation(
|
||||||
|
@ -13,6 +13,7 @@ import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
|
|||||||
import org.eclipse.persistence.oxm.annotations.XmlDiscriminatorNode;
|
import org.eclipse.persistence.oxm.annotations.XmlDiscriminatorNode;
|
||||||
import org.qortal.crypto.Crypto;
|
import org.qortal.crypto.Crypto;
|
||||||
import org.qortal.data.voting.PollData;
|
import org.qortal.data.voting.PollData;
|
||||||
|
import org.qortal.data.voting.VoteOnPollData;
|
||||||
import org.qortal.transaction.Transaction.ApprovalStatus;
|
import org.qortal.transaction.Transaction.ApprovalStatus;
|
||||||
import org.qortal.transaction.Transaction.TransactionType;
|
import org.qortal.transaction.Transaction.TransactionType;
|
||||||
|
|
||||||
@ -30,7 +31,7 @@ import io.swagger.v3.oas.annotations.media.Schema.AccessMode;
|
|||||||
@XmlSeeAlso({GenesisTransactionData.class, PaymentTransactionData.class, RegisterNameTransactionData.class, UpdateNameTransactionData.class,
|
@XmlSeeAlso({GenesisTransactionData.class, PaymentTransactionData.class, RegisterNameTransactionData.class, UpdateNameTransactionData.class,
|
||||||
SellNameTransactionData.class, CancelSellNameTransactionData.class, BuyNameTransactionData.class,
|
SellNameTransactionData.class, CancelSellNameTransactionData.class, BuyNameTransactionData.class,
|
||||||
CreatePollTransactionData.class, VoteOnPollTransactionData.class, ArbitraryTransactionData.class,
|
CreatePollTransactionData.class, VoteOnPollTransactionData.class, ArbitraryTransactionData.class,
|
||||||
PollData.class,
|
PollData.class, VoteOnPollData.class,
|
||||||
IssueAssetTransactionData.class, TransferAssetTransactionData.class,
|
IssueAssetTransactionData.class, TransferAssetTransactionData.class,
|
||||||
CreateAssetOrderTransactionData.class, CancelAssetOrderTransactionData.class,
|
CreateAssetOrderTransactionData.class, CancelAssetOrderTransactionData.class,
|
||||||
MultiPaymentTransactionData.class, DeployAtTransactionData.class, MessageTransactionData.class, ATTransactionData.class,
|
MultiPaymentTransactionData.class, DeployAtTransactionData.class, MessageTransactionData.class, ATTransactionData.class,
|
||||||
|
@ -9,6 +9,11 @@ public class VoteOnPollData {
|
|||||||
|
|
||||||
// Constructors
|
// Constructors
|
||||||
|
|
||||||
|
// For JAXB
|
||||||
|
protected VoteOnPollData() {
|
||||||
|
super();
|
||||||
|
}
|
||||||
|
|
||||||
public VoteOnPollData(String pollName, byte[] voterPublicKey, int optionIndex) {
|
public VoteOnPollData(String pollName, byte[] voterPublicKey, int optionIndex) {
|
||||||
this.pollName = pollName;
|
this.pollName = pollName;
|
||||||
this.voterPublicKey = voterPublicKey;
|
this.voterPublicKey = voterPublicKey;
|
||||||
@ -21,12 +26,24 @@ public class VoteOnPollData {
|
|||||||
return this.pollName;
|
return this.pollName;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void setPollName(String pollName) {
|
||||||
|
this.pollName = pollName;
|
||||||
|
}
|
||||||
|
|
||||||
public byte[] getVoterPublicKey() {
|
public byte[] getVoterPublicKey() {
|
||||||
return this.voterPublicKey;
|
return this.voterPublicKey;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void setVoterPublicKey(byte[] voterPublicKey) {
|
||||||
|
this.voterPublicKey = voterPublicKey;
|
||||||
|
}
|
||||||
|
|
||||||
public int getOptionIndex() {
|
public int getOptionIndex() {
|
||||||
return this.optionIndex;
|
return this.optionIndex;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void setOptionIndex(int optionIndex) {
|
||||||
|
this.optionIndex = optionIndex;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user