mirror of
https://github.com/Sheldan/abstracto.git
synced 2026-01-26 05:44:42 +00:00
[AB-287] fixing members not being available breaking warning display converter
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
package dev.sheldan.abstracto.moderation.converter;
|
||||
|
||||
import dev.sheldan.abstracto.core.models.FullUserInServer;
|
||||
import dev.sheldan.abstracto.core.models.FutureMemberPair;
|
||||
import dev.sheldan.abstracto.core.models.MemberDisplayModel;
|
||||
import dev.sheldan.abstracto.core.models.ServerSpecificId;
|
||||
import dev.sheldan.abstracto.core.service.MemberService;
|
||||
import dev.sheldan.abstracto.core.service.management.UserInServerManagementService;
|
||||
@@ -47,10 +47,15 @@ public class WarnEntryConverter {
|
||||
allFutures.add(warningMemberFuture);
|
||||
allFutures.add(warnedMemberFuture);
|
||||
});
|
||||
return FutureUtils.toSingleFutureGeneric(allFutures).thenApply(aVoid ->
|
||||
self.loadFullWarnEntries(loadedWarnings)
|
||||
);
|
||||
|
||||
CompletableFuture<List<WarnEntry>> future = new CompletableFuture<>();
|
||||
FutureUtils.toSingleFutureGeneric(allFutures).whenComplete((unused, throwable) -> {
|
||||
try {
|
||||
future.complete(self.loadFullWarnEntries(loadedWarnings));
|
||||
} catch (Exception exception) {
|
||||
future.completeExceptionally(exception);
|
||||
}
|
||||
});
|
||||
return future;
|
||||
}
|
||||
|
||||
@Transactional
|
||||
@@ -60,17 +65,17 @@ public class WarnEntryConverter {
|
||||
Warning warn = warnManagementService.findById(warning.getId(), warning.getServerId());
|
||||
FutureMemberPair memberPair = loadedWarnInfo.get(warning);
|
||||
Member warnedMember = !memberPair.getSecondMember().isCompletedExceptionally() ? memberPair.getSecondMember().join() : null;
|
||||
FullUserInServer warnedUser = FullUserInServer
|
||||
MemberDisplayModel warnedUser = MemberDisplayModel
|
||||
.builder()
|
||||
.member(warnedMember)
|
||||
.aUserInAServer(warn.getWarnedUser())
|
||||
.userId(warn.getWarnedUser().getUserReference().getId())
|
||||
.build();
|
||||
|
||||
Member warningMember = !memberPair.getFirstMember().isCompletedExceptionally() ? memberPair.getFirstMember().join() : null;
|
||||
FullUserInServer warningUser = FullUserInServer
|
||||
MemberDisplayModel warningUser = MemberDisplayModel
|
||||
.builder()
|
||||
.member(warningMember)
|
||||
.aUserInAServer(warn.getWarningUser())
|
||||
.userId(warn.getWarningUser().getUserReference().getId())
|
||||
.build();
|
||||
WarnEntry entry = WarnEntry
|
||||
.builder()
|
||||
|
||||
@@ -2,6 +2,7 @@ package dev.sheldan.abstracto.moderation.converter;
|
||||
|
||||
import dev.sheldan.abstracto.core.models.FutureMemberPair;
|
||||
import dev.sheldan.abstracto.core.models.ServerSpecificId;
|
||||
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;
|
||||
@@ -45,6 +46,8 @@ public class WarnEntryConverterTest {
|
||||
private static final Long SERVER_ID = 5L;
|
||||
private static final Long WARN_ID_1 = 6L;
|
||||
private static final Long WARN_ID_2 = 7L;
|
||||
private static final Long USER_ID_1 = 8L;
|
||||
private static final Long USER_ID_2 = 9L;
|
||||
|
||||
@Test
|
||||
public void testWithEmptyList() {
|
||||
@@ -79,6 +82,12 @@ public class WarnEntryConverterTest {
|
||||
public void testLoadingFullWarnings() {
|
||||
AUserInAServer warnedUser = Mockito.mock(AUserInAServer.class);
|
||||
AUserInAServer warningUser = Mockito.mock(AUserInAServer.class);
|
||||
AUser firstUser = Mockito.mock(AUser.class);
|
||||
when(firstUser.getId()).thenReturn(USER_ID_1);
|
||||
when(warnedUser.getUserReference()).thenReturn(firstUser);
|
||||
AUser secondUser = Mockito.mock(AUser.class);
|
||||
when(secondUser.getId()).thenReturn(USER_ID_2);
|
||||
when(warningUser.getUserReference()).thenReturn(secondUser);
|
||||
Member warningMember = Mockito.mock(Member.class);
|
||||
Member warnedMember = Mockito.mock(Member.class);
|
||||
Warning warning1 = Mockito.mock(Warning.class);
|
||||
@@ -104,15 +113,15 @@ public class WarnEntryConverterTest {
|
||||
WarnEntry firstEntry = models.get(0);
|
||||
Assert.assertEquals(warningMember, firstEntry.getWarningUser().getMember());
|
||||
Assert.assertEquals(warnedMember, firstEntry.getWarnedUser().getMember());
|
||||
Assert.assertEquals(warnedUser, firstEntry.getWarnedUser().getAUserInAServer());
|
||||
Assert.assertEquals(warningUser, firstEntry.getWarningUser().getAUserInAServer());
|
||||
Assert.assertEquals(USER_ID_1, firstEntry.getWarnedUser().getUserId());
|
||||
Assert.assertEquals(USER_ID_2, firstEntry.getWarningUser().getUserId());
|
||||
Assert.assertEquals(WARN_ID_1, firstEntry.getWarning().getWarnId().getId());
|
||||
Assert.assertEquals(SERVER_ID, firstEntry.getWarning().getWarnId().getServerId());
|
||||
WarnEntry secondEntry = models.get(1);
|
||||
Assert.assertEquals(warningMember, secondEntry.getWarningUser().getMember());
|
||||
Assert.assertEquals(warnedMember, secondEntry.getWarnedUser().getMember());
|
||||
Assert.assertEquals(warnedUser, secondEntry.getWarnedUser().getAUserInAServer());
|
||||
Assert.assertEquals(warningUser, secondEntry.getWarningUser().getAUserInAServer());
|
||||
Assert.assertEquals(USER_ID_1, secondEntry.getWarnedUser().getUserId());
|
||||
Assert.assertEquals(USER_ID_2, secondEntry.getWarningUser().getUserId());
|
||||
Assert.assertEquals(WARN_ID_2, secondEntry.getWarning().getWarnId().getId());
|
||||
Assert.assertEquals(SERVER_ID, secondEntry.getWarning().getWarnId().getServerId());
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
package dev.sheldan.abstracto.moderation.model.template.command;
|
||||
|
||||
import dev.sheldan.abstracto.core.models.FullUserInServer;
|
||||
import dev.sheldan.abstracto.core.models.MemberDisplayModel;
|
||||
import dev.sheldan.abstracto.moderation.model.database.Warning;
|
||||
import lombok.Builder;
|
||||
import lombok.Getter;
|
||||
@@ -19,11 +19,11 @@ public class WarnEntry {
|
||||
*/
|
||||
private Warning warning;
|
||||
/**
|
||||
* The {@link FullUserInServer} containing information about the user being warned. The member property is null if the user left the server
|
||||
* The {@link MemberDisplayModel} containing information about the user being warned. The member property is null if the user left the server
|
||||
*/
|
||||
private FullUserInServer warnedUser;
|
||||
private MemberDisplayModel warnedUser;
|
||||
/**
|
||||
* The {@link FullUserInServer} containing information about the user warning. The member property is null if the user left the server
|
||||
* The {@link MemberDisplayModel} containing information about the user warning. The member property is null if the user left the server
|
||||
*/
|
||||
private FullUserInServer warningUser;
|
||||
private MemberDisplayModel warningUser;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user