mirror of
https://github.com/Sheldan/abstracto.git
synced 2026-04-15 20:16:34 +00:00
[AB-182] added member parameter to starStats to show the starboard statistics for an individual member
This commit is contained in:
@@ -46,7 +46,7 @@ public class StarboardPost implements Serializable {
|
||||
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "source_channel_id", nullable = false)
|
||||
private AChannel sourceChanel;
|
||||
private AChannel sourceChannel;
|
||||
|
||||
@Transient
|
||||
private Integer reactionCount;
|
||||
|
||||
@@ -9,7 +9,7 @@ import java.util.List;
|
||||
@Getter
|
||||
@Setter
|
||||
@Builder
|
||||
public class StarStatsModel {
|
||||
public class GuildStarStatsModel {
|
||||
private List<StarStatsPost> topPosts;
|
||||
private List<StarStatsUser> starReceiver;
|
||||
private List<StarStatsUser> starGiver;
|
||||
@@ -0,0 +1,19 @@
|
||||
package dev.sheldan.abstracto.utility.models.template.commands.starboard;
|
||||
|
||||
import lombok.Builder;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import net.dv8tion.jda.api.entities.Member;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@Builder
|
||||
public class MemberStarStatsModel {
|
||||
private List<StarStatsPost> topPosts;
|
||||
private Long receivedStars;
|
||||
private Long givenStars;
|
||||
private List<String> badgeEmotes;
|
||||
private Member member;
|
||||
}
|
||||
@@ -3,8 +3,10 @@ package dev.sheldan.abstracto.utility.service;
|
||||
import dev.sheldan.abstracto.core.models.cache.CachedMessage;
|
||||
import dev.sheldan.abstracto.core.models.database.AUserInAServer;
|
||||
import dev.sheldan.abstracto.utility.models.database.StarboardPost;
|
||||
import dev.sheldan.abstracto.utility.models.template.commands.starboard.StarStatsModel;
|
||||
import dev.sheldan.abstracto.utility.models.template.commands.starboard.GuildStarStatsModel;
|
||||
import dev.sheldan.abstracto.utility.models.template.commands.starboard.MemberStarStatsModel;
|
||||
import dev.sheldan.abstracto.utility.models.template.commands.starboard.StarStatsPost;
|
||||
import net.dv8tion.jda.api.entities.Member;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.concurrent.CompletableFuture;
|
||||
@@ -13,6 +15,7 @@ public interface StarboardService {
|
||||
CompletableFuture<Void> createStarboardPost(CachedMessage message, List<AUserInAServer> userExceptAuthor, AUserInAServer userReacting, AUserInAServer starredUser);
|
||||
CompletableFuture<Void> updateStarboardPost(StarboardPost post, CachedMessage message, List<AUserInAServer> userExceptAuthor);
|
||||
void deleteStarboardMessagePost(StarboardPost message);
|
||||
CompletableFuture<StarStatsModel> retrieveStarStats(Long serverId);
|
||||
CompletableFuture<GuildStarStatsModel> retrieveStarStats(Long serverId);
|
||||
MemberStarStatsModel retrieveStarStatsForMember(Member member);
|
||||
StarStatsPost fromStarboardPost(StarboardPost starboardPost);
|
||||
}
|
||||
|
||||
@@ -12,6 +12,9 @@ public interface StarboardPostManagementService {
|
||||
StarboardPost createStarboardPost(CachedMessage starredMessage, AUserInAServer starredUser, AServerAChannelMessage starboardPost);
|
||||
void setStarboardPostMessageId(StarboardPost post, Long messageId);
|
||||
List<StarboardPost> retrieveTopPosts(Long serverId, Integer count);
|
||||
List<StarboardPost> retrieveTopPostsForUserInServer(Long serverId, Long userId, Integer count);
|
||||
Long retrieveGivenStarsOfUserInServer(Long serverId, Long userId);
|
||||
Long retrieveReceivedStarsOfUserInServer(Long serverId, Long userId);
|
||||
List<StarboardPost> retrieveAllPosts(Long serverId);
|
||||
Integer getPostCount(Long serverId);
|
||||
Optional<StarboardPost> findByMessageId(Long messageId);
|
||||
|
||||
Reference in New Issue
Block a user