mirror of
https://github.com/Sheldan/abstracto.git
synced 2026-03-27 14:23:56 +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:
@@ -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()
|
||||
|
||||
@@ -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);
|
||||
});
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -85,8 +85,12 @@ public class WarnEntryConverterTest {
|
||||
Warning warning2 = Mockito.mock(Warning.class);
|
||||
ServerSpecificId firstWarnId = new ServerSpecificId(SERVER_ID, WARN_ID_1);
|
||||
when(warning1.getWarnId()).thenReturn(firstWarnId);
|
||||
when(warning1.getWarningUser()).thenReturn(warningUser);
|
||||
when(warning1.getWarnedUser()).thenReturn(warnedUser);
|
||||
ServerSpecificId secondWarnId = new ServerSpecificId(SERVER_ID, WARN_ID_2);
|
||||
when(warning2.getWarnId()).thenReturn(secondWarnId);
|
||||
when(warning2.getWarningUser()).thenReturn(warningUser);
|
||||
when(warning2.getWarnedUser()).thenReturn(warnedUser);
|
||||
HashMap<ServerSpecificId, FutureMemberPair> map = new HashMap<>();
|
||||
FutureMemberPair memberPair = Mockito.mock(FutureMemberPair.class);
|
||||
when(memberPair.getFirstMember()).thenReturn(CompletableFuture.completedFuture(warningMember));
|
||||
@@ -95,8 +99,6 @@ public class WarnEntryConverterTest {
|
||||
map.put(secondWarnId, memberPair);
|
||||
when(warnManagementService.findById(WARN_ID_1, SERVER_ID)).thenReturn(warning1);
|
||||
when(warnManagementService.findById(WARN_ID_2, SERVER_ID)).thenReturn(warning2);
|
||||
when(userInServerManagementService.loadOrCreateUser(warnedMember)).thenReturn(warnedUser);
|
||||
when(userInServerManagementService.loadOrCreateUser(warningMember)).thenReturn(warningUser);
|
||||
List<WarnEntry> models = testUnit.loadFullWarnEntries(map);
|
||||
Assert.assertEquals(2, models.size());
|
||||
WarnEntry firstEntry = models.get(0);
|
||||
|
||||
@@ -2,6 +2,7 @@ package dev.sheldan.abstracto.moderation.service;
|
||||
|
||||
import dev.sheldan.abstracto.core.models.ServerSpecificId;
|
||||
import dev.sheldan.abstracto.core.models.database.AServer;
|
||||
import dev.sheldan.abstracto.core.models.database.AUser;
|
||||
import dev.sheldan.abstracto.core.models.database.AUserInAServer;
|
||||
import dev.sheldan.abstracto.core.models.property.SystemConfigProperty;
|
||||
import dev.sheldan.abstracto.core.service.*;
|
||||
@@ -103,6 +104,15 @@ public class WarnServiceBeanTest {
|
||||
@Mock
|
||||
private AUserInAServer secondWarnedUser;
|
||||
|
||||
@Mock
|
||||
private AUser firstAUser;
|
||||
|
||||
@Mock
|
||||
private AUser secondAUser;
|
||||
|
||||
@Mock
|
||||
private AUser thirdAUser;
|
||||
|
||||
@Mock
|
||||
private Warning firstWarning;
|
||||
|
||||
@@ -225,9 +235,15 @@ public class WarnServiceBeanTest {
|
||||
private void setupWarnings() {
|
||||
when(firstWarning.getWarningUser()).thenReturn(warningUser);
|
||||
when(secondWarning.getWarningUser()).thenReturn(warningUser);
|
||||
when(warningUser.getServerReference()).thenReturn(server);
|
||||
when(warningUser.getUserReference()).thenReturn(thirdAUser);
|
||||
|
||||
when(firstWarning.getWarnedUser()).thenReturn(firstWarnedUser);
|
||||
when(firstWarnedUser.getServerReference()).thenReturn(server);
|
||||
when(firstWarnedUser.getUserReference()).thenReturn(firstAUser);
|
||||
when(secondWarning.getWarnedUser()).thenReturn(secondWarnedUser);
|
||||
when(secondWarnedUser.getServerReference()).thenReturn(server);
|
||||
when(secondWarnedUser.getUserReference()).thenReturn(secondAUser);
|
||||
when(firstWarning.getWarnId()).thenReturn(new ServerSpecificId(SERVER_ID, WARN_ID));
|
||||
when(secondWarning.getWarnId()).thenReturn(new ServerSpecificId(SERVER_ID, 9L));
|
||||
when(server.getId()).thenReturn(SERVER_ID);
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package dev.sheldan.abstracto.moderation.models.template.job;
|
||||
|
||||
import dev.sheldan.abstracto.core.models.ServerUser;
|
||||
import dev.sheldan.abstracto.moderation.models.database.Warning;
|
||||
import lombok.Builder;
|
||||
import lombok.Getter;
|
||||
@@ -26,4 +27,14 @@ public class WarnDecayWarning {
|
||||
* The user which casted the warn, is null if the user left the server
|
||||
*/
|
||||
private Member warningMember;
|
||||
|
||||
/**
|
||||
* The {@link ServerUser serverUser} which was warned, can be used in case the {@link Member warningMember} is null
|
||||
*/
|
||||
private ServerUser warningUser;
|
||||
|
||||
/**
|
||||
* The {@link ServerUser serverUser} who cast the warn, can be used in case the {@link Member warnedMember} is null
|
||||
*/
|
||||
private ServerUser warnedUser;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user