[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:
Sheldan
2021-03-09 21:33:51 +01:00
parent d0c06538e3
commit e780b0e75c
29 changed files with 200 additions and 909 deletions

View File

@@ -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();
}
}