[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

@@ -55,7 +55,8 @@ public class UserNotesConverter {
public List<NoteEntryModel> loadFullNotes(Map<ServerSpecificId, CompletableFuture<Member>> futureHashMap) {
List<NoteEntryModel> entryModels = new ArrayList<>();
futureHashMap.keySet().forEach(serverSpecificId -> {
Member member = futureHashMap.get(serverSpecificId).join();
CompletableFuture<Member> memberFuture = futureHashMap.get(serverSpecificId);
Member member = !memberFuture.isCompletedExceptionally() ? memberFuture.join() : null;
UserNote note = userNoteManagementService.loadNote(serverSpecificId.getServerId(), serverSpecificId.getId());
FullUserInServer fullUser = FullUserInServer
.builder()

View File

@@ -57,25 +57,26 @@ public class WarnEntryConverter {
public List<WarnEntry> loadFullWarnEntries(Map<ServerSpecificId, FutureMemberPair> loadedWarnInfo) {
List<WarnEntry> entries = new ArrayList<>();
loadedWarnInfo.keySet().forEach(warning -> {
Warning warn = warnManagementService.findById(warning.getId(), warning.getServerId());
FutureMemberPair memberPair = loadedWarnInfo.get(warning);
Member warnedMember = memberPair.getSecondMember().join();
Member warnedMember = !memberPair.getSecondMember().isCompletedExceptionally() ? memberPair.getSecondMember().join() : null;
FullUserInServer warnedUser = FullUserInServer
.builder()
.member(warnedMember)
.aUserInAServer(userInServerManagementService.loadOrCreateUser(warnedMember))
.aUserInAServer(warn.getWarnedUser())
.build();
Member warningMember = memberPair.getFirstMember().join();
Member warningMember = !memberPair.getFirstMember().isCompletedExceptionally() ? memberPair.getFirstMember().join() : null;
FullUserInServer warningUser = FullUserInServer
.builder()
.member(warningMember)
.aUserInAServer(userInServerManagementService.loadOrCreateUser(warningMember))
.aUserInAServer(warn.getWarningUser())
.build();
WarnEntry entry = WarnEntry
.builder()
.warnedUser(warnedUser)
.warningUser(warningUser)
.warning(warnManagementService.findById(warning.getId(), warning.getServerId()))
.warning(warn)
.build();
entries.add(entry);
});

View File

@@ -339,11 +339,13 @@ public class MuteServiceBean implements MuteService {
public CompletableFuture<Void> sendUnmuteLog(Long muteId, Guild guild, CompletableFuture<Member> mutingMemberFuture, CompletableFuture<Member> mutedMemberFuture) {
Mute mute = muteManagementService.findMute(muteId, guild.getIdLong());
AServer mutingServer = serverManagementService.loadServer(guild.getIdLong());
Member mutingMember = !mutingMemberFuture.isCompletedExceptionally() ? mutingMemberFuture.join() : null;
Member mutedMember = !mutedMemberFuture.isCompletedExceptionally() ? mutedMemberFuture.join() : null;
UnMuteLog unMuteLog = UnMuteLog
.builder()
.mute(mute)
.mutingUser(mutingMemberFuture.join())
.unMutedUser(mutedMemberFuture.join())
.mutingUser(mutingMember)
.unMutedUser(mutedMember)
.guild(guild)
.build();
CompletableFuture<Void> notificationFuture = sendUnMuteLogMessage(unMuteLog, mutingServer);

View File

@@ -2,6 +2,7 @@ package dev.sheldan.abstracto.moderation.service;
import dev.sheldan.abstracto.core.models.FutureMemberPair;
import dev.sheldan.abstracto.core.models.ServerSpecificId;
import dev.sheldan.abstracto.core.models.ServerUser;
import dev.sheldan.abstracto.core.models.database.AServer;
import dev.sheldan.abstracto.core.models.database.AUserInAServer;
import dev.sheldan.abstracto.core.service.*;
@@ -187,14 +188,25 @@ public class WarnServiceBean implements WarnService {
warningsToDecay.forEach(warning -> {
CompletableFuture<Member> warningMember = memberService.getMemberInServerAsync(warning.getWarningUser());
CompletableFuture<Member> warnedMember = memberService.getMemberInServerAsync(warning.getWarnedUser());
FutureMemberPair futurePair = FutureMemberPair.builder().firstMember(warningMember).secondMember(warnedMember).build();
FutureMemberPair futurePair = FutureMemberPair
.builder()
.firstMember(warningMember)
.secondMember(warnedMember)
.firstUser(ServerUser.fromAUserInAServer(warning.getWarningUser()))
.secondUser(ServerUser.fromAUserInAServer(warning.getWarnedUser()))
.build();
warningMembers.put(warning.getWarnId(), futurePair);
allFutures.add(warningMember);
allFutures.add(warnedMember);
});
CompletableFuture<Void> sendingFuture = new CompletableFuture<>();
FutureUtils.toSingleFutureGeneric(allFutures).handle((aVoid, throwable) -> {
self.renderAndSendWarnDecayLogs(serverId, warningMembers).thenAccept(aVoid1 ->
sendingFuture.complete(null)
);
).exceptionally(throwable1 -> {
sendingFuture.completeExceptionally(throwable1);
return null;
});
return null;
});
@@ -207,16 +219,23 @@ public class WarnServiceBean implements WarnService {
AServer server = serverManagementService.loadServer(serverId);
List<WarnDecayWarning> warnDecayWarnings = new ArrayList<>();
warningMembers.keySet().forEach(serverSpecificId -> {
Warning warning = warnManagementService.findById(serverSpecificId.getId(), serverSpecificId.getServerId());
FutureMemberPair pair = warningMembers.get(serverSpecificId);
// TODO add ids to render in case any member left the server
WarnDecayWarning warnDecayWarning = WarnDecayWarning
.builder()
.warningMember(pair.getFirstMember().join())
.warnedMember(pair.getSecondMember().join())
.warning(warning)
.build();
warnDecayWarnings.add(warnDecayWarning);
try {
Warning warning = warnManagementService.findById(serverSpecificId.getId(), serverSpecificId.getServerId());
FutureMemberPair pair = warningMembers.get(serverSpecificId);
Member warningMember = !pair.getFirstMember().isCompletedExceptionally() ? pair.getFirstMember().join() : null;
Member warnedMember = !pair.getSecondMember().isCompletedExceptionally() ? pair.getSecondMember().join() : null;
WarnDecayWarning warnDecayWarning = WarnDecayWarning
.builder()
.warningMember(warningMember)
.warningUser(pair.getFirstUser())
.warnedMember(warnedMember)
.warnedUser(pair.getSecondUser())
.warning(warning)
.build();
warnDecayWarnings.add(warnDecayWarning);
} catch (Exception ex) {
log.error("exception.", ex);
}
});
WarnDecayLogModel warnDecayLogModel = WarnDecayLogModel
.builder()