mirror of
https://github.com/Sheldan/abstracto.git
synced 2026-03-24 13:44:33 +00:00
addressed sonar code smells
This commit is contained in:
@@ -2,7 +2,6 @@ package dev.sheldan.abstracto.experience.config;
|
||||
|
||||
import dev.sheldan.abstracto.core.listener.ServerConfigListener;
|
||||
import dev.sheldan.abstracto.core.models.database.AServer;
|
||||
import dev.sheldan.abstracto.core.service.ConfigService;
|
||||
import dev.sheldan.abstracto.core.service.management.ConfigManagementService;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
|
||||
@@ -162,7 +162,7 @@ public class AUserExperienceServiceBean implements AUserExperienceService {
|
||||
if(!roleService.hasAnyOfTheRoles(member, disabledRoles)) {
|
||||
log.trace("Handling {}. The user gains {}", userInAServer.getUserReference().getId(), gainedExperience);
|
||||
AUserExperience aUserExperience = userExperienceManagementService.incrementExpForUser(userInAServer, gainedExperience.longValue(), 1L);
|
||||
if(!aUserExperience.getExperienceGainDisabled()) {
|
||||
if(Boolean.FALSE.equals(aUserExperience.getExperienceGainDisabled())) {
|
||||
updateUserlevel(aUserExperience, levels);
|
||||
updateUserRole(aUserExperience, roles);
|
||||
userExperienceManagementService.saveUser(aUserExperience);
|
||||
|
||||
@@ -61,7 +61,7 @@ public class UserExperienceManagementServiceBean implements UserExperienceManage
|
||||
Optional<AUserExperience> byId = repository.findById(user.getUserInServerId());
|
||||
if(byId.isPresent()) {
|
||||
AUserExperience userExperience = byId.get();
|
||||
if(!userExperience.getExperienceGainDisabled()) {
|
||||
if(Boolean.FALSE.equals(userExperience.getExperienceGainDisabled())) {
|
||||
userExperience.setMessageCount(userExperience.getMessageCount() + messageCount);
|
||||
userExperience.setExperience(userExperience.getExperience() + experience);
|
||||
}
|
||||
|
||||
@@ -25,7 +25,7 @@ public class DecayAllWarnings extends AbstractConditionableCommand {
|
||||
@Override
|
||||
public CommandResult execute(CommandContext commandContext) {
|
||||
List<Object> parameters = commandContext.getParameters().getParameters();
|
||||
Boolean logWarnings = !parameters.isEmpty() ? (Boolean) parameters.get(0) : Boolean.FALSE;
|
||||
boolean logWarnings = !parameters.isEmpty() ? (Boolean) parameters.get(0) : Boolean.FALSE;
|
||||
warnService.decayAllWarningsForServer(commandContext.getUserInitiatedContext().getServer(), logWarnings);
|
||||
return CommandResult.fromSuccess();
|
||||
}
|
||||
|
||||
@@ -7,13 +7,10 @@ import dev.sheldan.abstracto.core.command.config.Parameter;
|
||||
import dev.sheldan.abstracto.core.command.execution.CommandContext;
|
||||
import dev.sheldan.abstracto.core.command.execution.CommandResult;
|
||||
import dev.sheldan.abstracto.core.config.FeatureEnum;
|
||||
import dev.sheldan.abstracto.core.models.database.AUserInAServer;
|
||||
import dev.sheldan.abstracto.core.service.management.UserInServerManagementService;
|
||||
import dev.sheldan.abstracto.moderation.config.ModerationModule;
|
||||
import dev.sheldan.abstracto.moderation.config.features.ModerationFeatures;
|
||||
import dev.sheldan.abstracto.moderation.service.management.UserNoteManagementService;
|
||||
import dev.sheldan.abstracto.templating.service.TemplateService;
|
||||
import net.dv8tion.jda.api.entities.Member;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
|
||||
@@ -55,7 +55,7 @@ public class Warnings extends AbstractConditionableCommand {
|
||||
@Override
|
||||
public CommandResult execute(CommandContext commandContext) {
|
||||
List<Warning> warnsToDisplay;
|
||||
if(commandContext.getParameters().getParameters().size() > 0) {
|
||||
if(!commandContext.getParameters().getParameters().isEmpty()) {
|
||||
Member member = (Member) commandContext.getParameters().getParameters().get(0);
|
||||
warnsToDisplay = warnManagementService.getAllWarnsForUser(userInServerManagementService.loadUser(member));
|
||||
} else {
|
||||
|
||||
@@ -23,7 +23,6 @@ import java.util.HashMap;
|
||||
public class JoinLogger implements JoinListener {
|
||||
|
||||
private static final String USER_JOIN_TEMPLATE = "user_join";
|
||||
private static final String JOIN_LOG_TARGET = "joinLog";
|
||||
|
||||
@Autowired
|
||||
private TemplateService templateService;
|
||||
|
||||
@@ -19,7 +19,6 @@ import org.springframework.stereotype.Component;
|
||||
@Slf4j
|
||||
public class MessageDeleteLogListener implements MessageDeletedListener {
|
||||
|
||||
private static final String DELETE_LOG_TARGET = "deleteLog";
|
||||
private static final String MESSAGE_DELETED_TEMPLATE = "message_deleted";
|
||||
private static final String MESSAGE_DELETED_ATTACHMENT_TEMPLATE = "message_deleted_attachment";
|
||||
|
||||
|
||||
@@ -80,7 +80,6 @@ public class MuteServiceBean implements MuteService {
|
||||
|
||||
private static final String MUTE_LOG_TEMPLATE = "mute_log";
|
||||
private static final String UNMUTE_LOG_TEMPLATE = "unmute_log";
|
||||
private static final String MUTE_LOG_TARGET = "muteLog";
|
||||
private static final String MUTE_NOTIFICATION_TEMPLATE = "mute_notification";
|
||||
|
||||
@Override
|
||||
@@ -225,7 +224,7 @@ public class MuteServiceBean implements MuteService {
|
||||
// but if the person gets unmuted immediately, via command, this might still execute of the instant unmute
|
||||
// so we need to load the mute, and check if the mute was unmuted already, because the mute object we have at
|
||||
// hand was loaded earlier, and does not reflect the true state
|
||||
if(updatedMute.getMuteEnded()) {
|
||||
if(Boolean.TRUE.equals(updatedMute.getMuteEnded())) {
|
||||
log.info("Mute {} has ended already, {} does not need to be unmuted anymore.", mute.getId(), mute.getMutedUser().getUserReference().getId());
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -148,7 +148,7 @@ public class WarnServiceBean implements WarnService {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void decayAllWarningsForServer(AServer server, Boolean logWarnings) {
|
||||
public void decayAllWarningsForServer(AServer server, boolean logWarnings) {
|
||||
List<Warning> warningsToDecay = warnManagementService.getActiveWarningsInServerOlderThan(server, Instant.now());
|
||||
decayWarnings(warningsToDecay);
|
||||
if(logWarnings) {
|
||||
|
||||
@@ -15,5 +15,5 @@ public interface WarnService {
|
||||
Warning warnUser(FullUser warnedUser, FullUser warningUser, String reason, TextChannel feedbackChannel);
|
||||
void warnUserWithLog(Member warnedMember, Member warningMember, String reason, WarnLog warnLog, TextChannel feedbackChannel);
|
||||
void decayWarningsForServer(AServer server);
|
||||
void decayAllWarningsForServer(AServer server, Boolean logWarnings);
|
||||
void decayAllWarningsForServer(AServer server, boolean logWarnings);
|
||||
}
|
||||
|
||||
@@ -25,7 +25,7 @@ public class ModMailMessageServiceBean implements ModMailMessageService {
|
||||
|
||||
@Override
|
||||
public List<CompletableFuture<Message>> loadModMailMessages(List<ModMailMessage> modMailMessages) {
|
||||
if(modMailMessages.size() == 0) {
|
||||
if(modMailMessages.isEmpty()) {
|
||||
return new ArrayList<>();
|
||||
}
|
||||
ModMailThread thread = modMailMessages.get(0).getThreadReference();
|
||||
@@ -34,7 +34,7 @@ public class ModMailMessageServiceBean implements ModMailMessageService {
|
||||
ServerChannelMessage.ServerChannelMessageBuilder serverChannelMessageBuilder = ServerChannelMessage
|
||||
.builder()
|
||||
.messageId(modMailMessage.getMessageId());
|
||||
if(!modMailMessage.getDmChannel()) {
|
||||
if(Boolean.FALSE.equals(modMailMessage.getDmChannel())) {
|
||||
serverChannelMessageBuilder
|
||||
.channelId(modMailMessage.getThreadReference().getChannel().getId())
|
||||
.serverId(modMailMessage.getThreadReference().getServer().getId());
|
||||
@@ -42,9 +42,7 @@ public class ModMailMessageServiceBean implements ModMailMessageService {
|
||||
messageIds.add(serverChannelMessageBuilder.build());
|
||||
});
|
||||
List<CompletableFuture<Message>> messageFutures = new ArrayList<>();
|
||||
modMailMessages.forEach(modMailMessage -> {
|
||||
messageFutures.add(new CompletableFuture<>());
|
||||
});
|
||||
modMailMessages.forEach(modMailMessage -> messageFutures.add(new CompletableFuture<>()));
|
||||
Optional<TextChannel> textChannelFromServer = botService.getTextChannelFromServer(thread.getServer().getId(), thread.getChannel().getId());
|
||||
if(textChannelFromServer.isPresent()) {
|
||||
TextChannel modMailThread = textChannelFromServer.get();
|
||||
@@ -52,16 +50,12 @@ public class ModMailMessageServiceBean implements ModMailMessageService {
|
||||
Iterator<CompletableFuture<Message>> iterator = messageFutures.iterator();
|
||||
messageIds.forEach(serverChannelMessage -> {
|
||||
if(serverChannelMessage.getChannelId() == null){
|
||||
privateChannel.retrieveMessageById(serverChannelMessage.getMessageId()).queue(message -> {
|
||||
iterator.next().complete(message);
|
||||
}, throwable -> {
|
||||
privateChannel.retrieveMessageById(serverChannelMessage.getMessageId()).queue(message -> iterator.next().complete(message), throwable -> {
|
||||
log.info("Failed to load message in private channel with user {}", thread.getUser().getUserReference().getId());
|
||||
iterator.next().complete(null);
|
||||
});
|
||||
} else {
|
||||
modMailThread.retrieveMessageById(serverChannelMessage.getMessageId()).queue(message -> {
|
||||
iterator.next().complete(message);
|
||||
}, throwable -> {
|
||||
modMailThread.retrieveMessageById(serverChannelMessage.getMessageId()).queue(message -> iterator.next().complete(message), throwable -> {
|
||||
log.info("Failed to load message {} in thread {}", serverChannelMessage.getMessageId(), modMailThread.getIdLong());
|
||||
iterator.next().complete(null);
|
||||
});
|
||||
|
||||
@@ -110,7 +110,7 @@ public class ModMailThreadServiceBean implements ModMailThreadService {
|
||||
|
||||
|
||||
@Override
|
||||
public void createModMailThreadForUser(FullUser aUserInAServer, Message initialMessage, MessageChannel feedBackChannel, Boolean userInitiated) {
|
||||
public void createModMailThreadForUser(FullUser aUserInAServer, Message initialMessage, MessageChannel feedBackChannel, boolean userInitiated) {
|
||||
Long categoryId = configService.getLongValue(MODMAIL_CATEGORY, aUserInAServer.getAUserInAServer().getServerReference().getId());
|
||||
User user = aUserInAServer.getMember().getUser();
|
||||
CompletableFuture<TextChannel> textChannel = channelService.createTextChannel(user.getName() + user.getDiscriminator(), aUserInAServer.getAUserInAServer().getServerReference(), categoryId);
|
||||
@@ -127,7 +127,7 @@ public class ModMailThreadServiceBean implements ModMailThreadService {
|
||||
}
|
||||
|
||||
@Transactional
|
||||
public void performModMailThreadSetup(FullUser aUserInAServer, Message initialMessage, TextChannel channel, Boolean userInitiated, List<UndoActionInstance> undoActions) {
|
||||
public void performModMailThreadSetup(FullUser aUserInAServer, Message initialMessage, TextChannel channel, boolean userInitiated, List<UndoActionInstance> undoActions) {
|
||||
try {
|
||||
ModMailThread thread = createThreadObject(channel, aUserInAServer);
|
||||
sendModMailHeader(channel, aUserInAServer, undoActions);
|
||||
@@ -191,7 +191,7 @@ public class ModMailThreadServiceBean implements ModMailThreadService {
|
||||
@Override
|
||||
public void createModMailPrompt(AUser user, Message initialMessage) {
|
||||
List<AUserInAServer> knownServers = userInServerManagementService.getUserInAllServers(user.getId());
|
||||
if(knownServers.size() > 0) {
|
||||
if(!knownServers.isEmpty()) {
|
||||
List<ServerChoice> availableGuilds = new ArrayList<>();
|
||||
HashMap<String, AUserInAServer> choices = new HashMap<>();
|
||||
for (int i = 0; i < knownServers.size(); i++) {
|
||||
@@ -209,7 +209,7 @@ public class ModMailThreadServiceBean implements ModMailThreadService {
|
||||
availableGuilds.add(serverChoice);
|
||||
}
|
||||
}
|
||||
if(availableGuilds.size() > 0) {
|
||||
if(availableGuilds.size() > 1) {
|
||||
ModMailServerChooserModel modMailServerChooserModel = ModMailServerChooserModel
|
||||
.builder()
|
||||
.commonGuilds(availableGuilds)
|
||||
@@ -294,9 +294,9 @@ public class ModMailThreadServiceBean implements ModMailThreadService {
|
||||
.build();
|
||||
MessageToSend messageToSend = templateService.renderEmbedTemplate("modmail_user_message", modMailUserReplyModel);
|
||||
List<CompletableFuture<Message>> completableFutures = channelService.sendMessageToSendToChannel(messageToSend, textChannel);
|
||||
return CompletableFuture.allOf(completableFutures.toArray(new CompletableFuture[0])).thenAccept(aVoid -> {
|
||||
self.postProcessSendMessages(modMailThreadId, message, completableFutures);
|
||||
});
|
||||
return CompletableFuture.allOf(completableFutures.toArray(new CompletableFuture[0])).thenAccept(aVoid ->
|
||||
self.postProcessSendMessages(modMailThreadId, message, completableFutures)
|
||||
);
|
||||
|
||||
}
|
||||
|
||||
@@ -324,15 +324,15 @@ public class ModMailThreadServiceBean implements ModMailThreadService {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void relayMessageToDm(ModMailThread modMailThread, String text, Message message, Boolean anonymous, MessageChannel feedBack) {
|
||||
public void relayMessageToDm(ModMailThread modMailThread, String text, Message message, boolean anonymous, MessageChannel feedBack) {
|
||||
Long modMailThreadId = modMailThread.getId();
|
||||
User userById = botService.getInstance().getUserById(modMailThread.getUser().getUserReference().getId());
|
||||
if(userById != null) {
|
||||
userById.openPrivateChannel().queue(privateChannel -> {
|
||||
self.sendReply(modMailThreadId, text, message, privateChannel, anonymous, feedBack);
|
||||
}, throwable -> {
|
||||
log.warn("Failed to open private channel with user {}", userById.getIdLong());
|
||||
});
|
||||
userById.openPrivateChannel().queue(privateChannel ->
|
||||
self.sendReply(modMailThreadId, text, message, privateChannel, anonymous, feedBack)
|
||||
,throwable ->
|
||||
log.warn("Failed to open private channel with user {}", userById.getIdLong())
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -363,14 +363,14 @@ public class ModMailThreadServiceBean implements ModMailThreadService {
|
||||
}
|
||||
|
||||
@Override
|
||||
public synchronized void closeModMailThread(ModMailThread modMailThread, MessageChannel feedBack, String note, Boolean notifyUser) {
|
||||
public synchronized void closeModMailThread(ModMailThread modMailThread, MessageChannel feedBack, String note, boolean notifyUser) {
|
||||
AFeatureMode aFeatureMode = featureModeService.getFeatureMode(ModMailFeatures.MOD_MAIL, modMailThread.getServer());
|
||||
boolean loggingMode = aFeatureMode.getMode().equalsIgnoreCase(ModMailMode.LOGGING.getKey());
|
||||
closeModMailThread(modMailThread, feedBack, note, notifyUser, loggingMode);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void closeModMailThread(ModMailThread modMailThread, MessageChannel feedBack, String note, Boolean notifyUser, Boolean logThread) {
|
||||
public void closeModMailThread(ModMailThread modMailThread, MessageChannel feedBack, String note, boolean notifyUser, boolean logThread) {
|
||||
Long modMailThreadId = modMailThread.getId();
|
||||
log.info("Starting closing procedure for thread {}", modMailThread.getId());
|
||||
List<ModMailMessage> modMailMessages = modMailThread.getMessages();
|
||||
@@ -612,9 +612,9 @@ public class ModMailThreadServiceBean implements ModMailThreadService {
|
||||
ModMailModeratorReplyModel modMailUserReplyModel = modMailModeratorReplyModelBuilder.build();
|
||||
MessageToSend messageToSend = templateService.renderEmbedTemplate("modmail_staff_message", modMailUserReplyModel);
|
||||
List<CompletableFuture<Message>> completableFutures = channelService.sendMessageToSendToChannel(messageToSend, privateChannel);
|
||||
CompletableFuture.allOf(completableFutures.toArray(new CompletableFuture[0])).thenAccept(aVoid -> {
|
||||
self.saveSendMessagesAndUpdateState(modMailThreadId, anonymous, moderator, completableFutures);
|
||||
}).exceptionally(throwable -> {
|
||||
CompletableFuture.allOf(completableFutures.toArray(new CompletableFuture[0])).thenAccept(aVoid ->
|
||||
self.saveSendMessagesAndUpdateState(modMailThreadId, anonymous, moderator, completableFutures)
|
||||
).exceptionally(throwable -> {
|
||||
log.error("Failed to send message to user {}", modMailThread.getUser().getUserReference().getId());
|
||||
sendModMailFailure("modmail_exception_cannot_message_user", modMailThread.getUser(), modMailThread.getId(), feedBack, throwable);
|
||||
return null;
|
||||
@@ -650,8 +650,8 @@ public class ModMailThreadServiceBean implements ModMailThreadService {
|
||||
}
|
||||
|
||||
public void saveMessageIds(List<Message> messages, ModMailThread modMailThread, AUserInAServer author, Boolean anonymous, Boolean inDmChannel) {
|
||||
messages.forEach(message -> {
|
||||
modMailMessageManagementService.addMessageToThread(modMailThread, message, author, anonymous, inDmChannel);
|
||||
});
|
||||
messages.forEach(message ->
|
||||
modMailMessageManagementService.addMessageToThread(modMailThread, message, author, anonymous, inDmChannel)
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
package dev.sheldan.abstracto.modmail.setup;
|
||||
|
||||
import dev.sheldan.abstracto.core.exception.AbstractoRunTimeException;
|
||||
import dev.sheldan.abstracto.core.exception.ChannelNotFoundException;
|
||||
import dev.sheldan.abstracto.core.interactive.*;
|
||||
import dev.sheldan.abstracto.core.models.AServerChannelUserId;
|
||||
@@ -94,7 +93,7 @@ public class ModMailCategorySetupBean implements ModMailCategorySetup {
|
||||
Guild guild = botService.getGuildByIdNullable(user.getGuildId());
|
||||
FeatureValidationResult featureValidationResult = FeatureValidationResult.builder().validationResult(true).build();
|
||||
modMailFeatureValidator.validateModMailCategory(featureValidationResult, guild, categoryId);
|
||||
if(featureValidationResult.getValidationResult()) {
|
||||
if(Boolean.FALSE.equals(featureValidationResult.getValidationResult())) {
|
||||
AConfig fakeValue = configService.getFakeConfigForValue(ModMailThreadServiceBean.MODMAIL_CATEGORY, user.getGuildId(), messageContent);
|
||||
ModMailCategoryDelayedActionConfig build = ModMailCategoryDelayedActionConfig
|
||||
.builder()
|
||||
@@ -128,9 +127,7 @@ public class ModMailCategorySetupBean implements ModMailCategorySetup {
|
||||
}
|
||||
|
||||
protected Runnable getTimeoutRunnable(Long serverId, Long channelId) {
|
||||
return () -> {
|
||||
interactiveUtils.sendTimeoutMessage(serverId, channelId);
|
||||
};
|
||||
return () -> interactiveUtils.sendTimeoutMessage(serverId, channelId);
|
||||
}
|
||||
|
||||
protected boolean checkForExit(Message message) {
|
||||
|
||||
@@ -7,7 +7,7 @@ import java.util.HashMap;
|
||||
|
||||
public class ModMailThreadNotFoundException extends AbstractoRunTimeException implements Templatable {
|
||||
|
||||
private Long modMailThreadId;
|
||||
private final Long modMailThreadId;
|
||||
|
||||
public ModMailThreadNotFoundException(Long modMailThreadId) {
|
||||
super("");
|
||||
|
||||
@@ -2,7 +2,6 @@ package dev.sheldan.abstracto.modmail.models.database;
|
||||
|
||||
import dev.sheldan.abstracto.core.models.database.*;
|
||||
import lombok.*;
|
||||
import net.dv8tion.jda.api.entities.ChannelType;
|
||||
import org.hibernate.annotations.CacheConcurrencyStrategy;
|
||||
|
||||
import javax.persistence.*;
|
||||
|
||||
@@ -10,13 +10,13 @@ import net.dv8tion.jda.api.entities.Message;
|
||||
import net.dv8tion.jda.api.entities.MessageChannel;
|
||||
|
||||
public interface ModMailThreadService {
|
||||
void createModMailThreadForUser(FullUser userInAServer, Message initialMessage, MessageChannel feedBackChannel, Boolean userInitiated);
|
||||
void createModMailThreadForUser(FullUser userInAServer, Message initialMessage, MessageChannel feedBackChannel, boolean userInitiated);
|
||||
boolean hasOpenThread(AUserInAServer aUserInAServer);
|
||||
boolean hasOpenThread(AUser user);
|
||||
void setModMailCategoryTo(AServer server, Long categoryId);
|
||||
void createModMailPrompt(AUser user, Message initialMessage);
|
||||
void relayMessageToModMailThread(ModMailThread modMailThread, Message message);
|
||||
void relayMessageToDm(ModMailThread modMailThread, String text, Message message, Boolean anonymous, MessageChannel feedBack);
|
||||
void closeModMailThread(ModMailThread modMailThread, MessageChannel feedBack, String note, Boolean notifyUser);
|
||||
void closeModMailThread(ModMailThread modMailThread, MessageChannel feedBack, String note, Boolean notifyUser, Boolean logThread);
|
||||
void relayMessageToDm(ModMailThread modMailThread, String text, Message message, boolean anonymous, MessageChannel feedBack);
|
||||
void closeModMailThread(ModMailThread modMailThread, MessageChannel feedBack, String note, boolean notifyUser);
|
||||
void closeModMailThread(ModMailThread modMailThread, MessageChannel feedBack, String note, boolean notifyUser, boolean logThread);
|
||||
}
|
||||
|
||||
@@ -40,9 +40,7 @@ public class MessageEmbedListener implements MessageReceivedListener {
|
||||
for (MessageEmbedLink messageEmbedLink : links) {
|
||||
messageRaw = messageRaw.replace(messageEmbedLink.getWholeUrl(), "");
|
||||
Long userEmbeddingUserInServerId = userInServerManagementService.loadUser(message.getMember()).getUserInServerId();
|
||||
Consumer<CachedMessage> cachedMessageConsumer = cachedMessage -> {
|
||||
self.loadUserAndEmbed(message, userEmbeddingUserInServerId, cachedMessage);
|
||||
};
|
||||
Consumer<CachedMessage> cachedMessageConsumer = cachedMessage ->self.loadUserAndEmbed(message, userEmbeddingUserInServerId, cachedMessage);
|
||||
messageCache.getMessageFromCache(messageEmbedLink.getServerId(), messageEmbedLink.getChannelId(), messageEmbedLink.getMessageId()).thenAccept(cachedMessageConsumer)
|
||||
.exceptionally(throwable -> {
|
||||
log.error("Error when embedding link for message {}", message.getId(), throwable);
|
||||
|
||||
@@ -98,16 +98,15 @@ public class MessageEmbedServiceBean implements MessageEmbedService {
|
||||
|
||||
@Override
|
||||
public void embedLinks(List<MessageEmbedLink> linksToEmbed, TextChannel target, Long userEmbeddingUserInServerId, Message embeddingMessage) {
|
||||
linksToEmbed.forEach(messageEmbedLink -> {
|
||||
linksToEmbed.forEach(messageEmbedLink ->
|
||||
messageCache.getMessageFromCache(messageEmbedLink.getServerId(), messageEmbedLink.getChannelId(), messageEmbedLink.getMessageId())
|
||||
.thenAccept(cachedMessage -> {
|
||||
self.embedLink(cachedMessage, target, userEmbeddingUserInServerId, embeddingMessage);
|
||||
}
|
||||
.thenAccept(cachedMessage -> self.embedLink(cachedMessage, target, userEmbeddingUserInServerId, embeddingMessage)
|
||||
|
||||
).exceptionally(throwable -> {
|
||||
log.error("Message retrieval from cache failed for message {}.", messageEmbedLink.getMessageId(), throwable);
|
||||
return null;
|
||||
});
|
||||
});
|
||||
})
|
||||
);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -83,18 +83,16 @@ public class StarboardServiceBean implements StarboardService {
|
||||
public void createStarboardPost(CachedMessage message, List<AUserInAServer> userExceptAuthor, AUserInAServer userReacting, AUserInAServer starredUser) {
|
||||
StarboardPostModel starboardPostModel = buildStarboardPostModel(message, userExceptAuthor.size());
|
||||
List<Long> userExceptAuthorIds = new ArrayList<>();
|
||||
userExceptAuthor.forEach(aUserInAServer -> {
|
||||
userExceptAuthorIds.add(aUserInAServer.getUserInServerId());
|
||||
});
|
||||
userExceptAuthor.forEach(aUserInAServer -> userExceptAuthorIds.add(aUserInAServer.getUserInServerId()));
|
||||
MessageToSend messageToSend = templateService.renderEmbedTemplate(STARBOARD_POST_TEMPLATE, starboardPostModel);
|
||||
PostTarget starboard = postTargetManagement.getPostTarget(StarboardPostTarget.STARBOARD.getKey(), message.getServerId());
|
||||
List<CompletableFuture<Message>> completableFutures = postTargetService.sendEmbedInPostTarget(messageToSend, StarboardPostTarget.STARBOARD, message.getServerId());
|
||||
Long starboardChannelId = starboard.getChannelReference().getId();
|
||||
Long starredUserId = starredUser.getUserInServerId();
|
||||
Long userReactingId = userReacting.getUserInServerId();
|
||||
CompletableFuture.allOf(completableFutures.toArray(new CompletableFuture[0])).thenAccept(aVoid -> {
|
||||
self.persistPost(message, userExceptAuthorIds, completableFutures, starboardChannelId, starredUserId, userReactingId);
|
||||
}) .exceptionally(throwable -> {
|
||||
CompletableFuture.allOf(completableFutures.toArray(new CompletableFuture[0])).thenAccept(aVoid ->
|
||||
self.persistPost(message, userExceptAuthorIds, completableFutures, starboardChannelId, starredUserId, userReactingId)
|
||||
) .exceptionally(throwable -> {
|
||||
log.error("Failed to create starboard post for message {} in channel {} in server {}", message.getMessageId(), message.getChannelId(), message.getServerId(), throwable);
|
||||
return null;
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user