mirror of
https://github.com/Sheldan/abstracto.git
synced 2026-04-15 12:10:21 +00:00
[AB-94] adding command to show the state of a server poll
This commit is contained in:
@@ -0,0 +1,25 @@
|
||||
package dev.sheldan.abstracto.suggestion.model.template;
|
||||
|
||||
import lombok.Builder;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
import java.time.Duration;
|
||||
import java.time.Instant;
|
||||
import java.util.List;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@Builder
|
||||
public class PollInfoModel {
|
||||
private Long id;
|
||||
private String description;
|
||||
private Boolean allowMultiple;
|
||||
private Boolean showDecisions;
|
||||
private Boolean allowAdditions;
|
||||
private Instant creationDate;
|
||||
private Integer totalVotes;
|
||||
private Instant targetDate;
|
||||
private Duration pollDuration;
|
||||
private List<PollOptionInfoModel> options;
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
package dev.sheldan.abstracto.suggestion.model.template;
|
||||
|
||||
import dev.sheldan.abstracto.core.models.template.display.MemberDisplay;
|
||||
import lombok.Builder;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@Builder
|
||||
public class PollOptionInfoModel {
|
||||
private String value;
|
||||
private String label;
|
||||
private String description;
|
||||
private Long votes;
|
||||
private Float percentage;
|
||||
private MemberDisplay adder;
|
||||
}
|
||||
@@ -1,6 +1,7 @@
|
||||
package dev.sheldan.abstracto.suggestion.service;
|
||||
|
||||
import dev.sheldan.abstracto.suggestion.model.database.PollType;
|
||||
import dev.sheldan.abstracto.suggestion.model.template.PollInfoModel;
|
||||
import net.dv8tion.jda.api.entities.Member;
|
||||
import net.dv8tion.jda.api.interactions.InteractionHook;
|
||||
|
||||
@@ -26,4 +27,5 @@ public interface PollService {
|
||||
CompletableFuture<Void> evaluateQuickPoll(Long pollId, Long serverId);
|
||||
CompletableFuture<Void> closePoll(Long pollId, Long serverId, String text, Member cause);
|
||||
CompletableFuture<Void> cancelPoll(Long pollId, Long serverId, Member cause);
|
||||
PollInfoModel getPollInfoModel(Long pollId, Long serverId);
|
||||
}
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package dev.sheldan.abstracto.suggestion.service.management;
|
||||
|
||||
import dev.sheldan.abstracto.core.models.database.AUserInAServer;
|
||||
import dev.sheldan.abstracto.suggestion.model.PollCreationRequest;
|
||||
import dev.sheldan.abstracto.suggestion.model.database.Poll;
|
||||
import dev.sheldan.abstracto.suggestion.model.database.PollOption;
|
||||
@@ -9,5 +10,6 @@ import java.util.Optional;
|
||||
public interface PollOptionManagementService {
|
||||
void addOptionsToPoll(Poll poll, PollCreationRequest pollCreationRequest);
|
||||
void addOptionToPoll(Poll poll, String label, String description);
|
||||
void addOptionToPoll(Poll poll, String label, String description, AUserInAServer adder);
|
||||
Optional<PollOption> getPollOptionByName(Poll poll, String key);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user