mirror of
https://github.com/Sheldan/abstracto.git
synced 2026-04-18 12:57:39 +00:00
[AB-137] fixing occurrences for templates in cases entities do not exist anymore
fixing feature mode retrieval to adapt to lowercase fixing disable exp role creation and retrieval removing ansible code
This commit is contained in:
@@ -1,13 +1,14 @@
|
||||
package dev.sheldan.abstracto.utility.repository.converter;
|
||||
|
||||
import dev.sheldan.abstracto.core.models.database.AUser;
|
||||
import dev.sheldan.abstracto.core.models.database.AUserInAServer;
|
||||
import dev.sheldan.abstracto.core.service.MemberService;
|
||||
import dev.sheldan.abstracto.core.service.management.UserInServerManagementService;
|
||||
import dev.sheldan.abstracto.core.service.management.UserManagementService;
|
||||
import dev.sheldan.abstracto.utility.models.template.commands.starboard.StarStatsUser;
|
||||
import dev.sheldan.abstracto.utility.repository.StarStatsGuildUserResult;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Component;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
@@ -22,6 +23,12 @@ public class StarStatsUserConverter {
|
||||
@Autowired
|
||||
private UserInServerManagementService userInServerManagementService;
|
||||
|
||||
@Autowired
|
||||
private UserManagementService userManagementService;
|
||||
|
||||
@Autowired
|
||||
private StarStatsUserConverter self;
|
||||
|
||||
public List<CompletableFuture<StarStatsUser>> convertToStarStatsUser(List<StarStatsGuildUserResult> users, Long serverId) {
|
||||
List<CompletableFuture<StarStatsUser>> result = new ArrayList<>();
|
||||
users.forEach(starStatsUserResult ->
|
||||
@@ -32,14 +39,18 @@ public class StarStatsUserConverter {
|
||||
|
||||
private CompletableFuture<StarStatsUser> createStarStatsUser(Long serverId, StarStatsGuildUserResult starStatsGuildUserResult) {
|
||||
AUserInAServer aUserInAServer = userInServerManagementService.loadOrCreateUser(starStatsGuildUserResult.getUserId());
|
||||
return memberService.getMemberInServerAsync(serverId, aUserInAServer.getUserReference().getId()).thenApply(member ->
|
||||
StarStatsUser
|
||||
.builder()
|
||||
.starCount(starStatsGuildUserResult.getStarCount())
|
||||
.member(member)
|
||||
// TODO properly load this instance instead of just building one
|
||||
.user(AUser.builder().id(starStatsGuildUserResult.getUserId()).build())
|
||||
.build()
|
||||
);
|
||||
return memberService.getMemberInServerAsync(serverId, aUserInAServer.getUserReference().getId())
|
||||
.thenApply(member -> self.loadStarStatsUser(starStatsGuildUserResult, member))
|
||||
.exceptionally(throwable -> self.loadStarStatsUser(starStatsGuildUserResult, null));
|
||||
}
|
||||
|
||||
@Transactional
|
||||
public StarStatsUser loadStarStatsUser(StarStatsGuildUserResult starStatsGuildUserResult, net.dv8tion.jda.api.entities.Member member) {
|
||||
return StarStatsUser
|
||||
.builder()
|
||||
.starCount(starStatsGuildUserResult.getStarCount())
|
||||
.member(member)
|
||||
.user(userInServerManagementService.loadOrCreateUser(starStatsGuildUserResult.getUserId()))
|
||||
.build();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user