mirror of
https://github.com/Sheldan/abstracto.git
synced 2026-03-22 05:06:42 +00:00
[AB-290] fixing showing wrong active warning count in warn decay notification
fixing un mute log failing to render in case the mute did not come from a message fixing notification failing with exception in case there were no warnings to decay
This commit is contained in:
@@ -16,6 +16,7 @@ import java.util.Optional;
|
||||
public interface WarnRepository extends JpaRepository<Warning, ServerSpecificId> {
|
||||
List<Warning> findAllByWarnedUser_ServerReferenceAndDecayedFalseAndWarnDateLessThan(AServer server, Instant cutOffDate);
|
||||
List<Warning> findAllByWarnedUser_ServerReferenceAndDecayedFalseAndWarnDateGreaterThan(AServer server, Instant cutOffDate);
|
||||
List<Warning> findAllByWarnedUserAndDecayedFalseAndWarnDateGreaterThan(AUserInAServer user, Instant cutOffDate);
|
||||
|
||||
List<Warning> findAllByWarnedUser_ServerReference(AServer server);
|
||||
|
||||
|
||||
@@ -165,6 +165,9 @@ public class WarnServiceBean implements WarnService {
|
||||
|
||||
@Transactional
|
||||
public CompletableFuture<Void> sendMemberNotifications(Long serverId, List<Long> warnIds, List<Member> members, Instant cutOffDay) {
|
||||
if(warnIds.isEmpty()) {
|
||||
return CompletableFuture.completedFuture(null);
|
||||
}
|
||||
List<Warning> decayingWarnings = warnManagementService.getWarningsViaId(warnIds, serverId);
|
||||
AServer server = decayingWarnings.get(0).getWarnedUser().getServerReference();
|
||||
List<CompletableFuture<Message>> notificationFutures = new ArrayList<>();
|
||||
@@ -174,7 +177,7 @@ public class WarnServiceBean implements WarnService {
|
||||
Long warningId = warning.getWarnId().getId();
|
||||
if(userIdToMember.containsKey(userId)) {
|
||||
Member memberToSendTo = userIdToMember.get(userId);
|
||||
List<Warning> remainingWarnings = warnManagementService.getActiveWarningsInServerYoungerThan(server, cutOffDay);
|
||||
List<Warning> remainingWarnings = warnManagementService.getActiveWarningsFromUserYoungerThan(warning.getWarnedUser(), cutOffDay);
|
||||
WarnDecayMemberNotificationModel model =
|
||||
WarnDecayMemberNotificationModel
|
||||
.builder()
|
||||
|
||||
@@ -49,6 +49,11 @@ public class WarnManagementServiceBean implements WarnManagementService {
|
||||
return warnRepository.findAllByWarnedUser_ServerReferenceAndDecayedFalseAndWarnDateGreaterThan(server, date);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Warning> getActiveWarningsFromUserYoungerThan(AUserInAServer user, Instant date) {
|
||||
return warnRepository.findAllByWarnedUserAndDecayedFalseAndWarnDateGreaterThan(user, date);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Long getTotalWarnsForUser(AUserInAServer aUserInAServer) {
|
||||
return warnRepository.countByWarnedUser(aUserInAServer);
|
||||
|
||||
@@ -62,6 +62,9 @@ public class UnMuteLog extends ServerContext {
|
||||
* @return A string containing an URL leading to the message where the mute was triggered
|
||||
*/
|
||||
public String getMessageUrl() {
|
||||
return MessageUtils.buildMessageUrl(this.mute.getServer().getId() ,this.getMute().getMutingChannel().getId(), this.mute.getMessageId());
|
||||
if(this.mute.getMessageId() != null && this.mute.getMutingChannel() != null) {
|
||||
return MessageUtils.buildMessageUrl(this.mute.getServer().getId(), this.mute.getMutingChannel().getId(), this.mute.getMessageId());
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -12,6 +12,7 @@ public interface WarnManagementService {
|
||||
Warning createWarning(AUserInAServer warnedAUser, AUserInAServer warningAUser, String reason, Long warnId);
|
||||
List<Warning> getActiveWarningsInServerOlderThan(AServer server, Instant date);
|
||||
List<Warning> getActiveWarningsInServerYoungerThan(AServer server, Instant date);
|
||||
List<Warning> getActiveWarningsFromUserYoungerThan(AUserInAServer user, Instant date);
|
||||
Long getTotalWarnsForUser(AUserInAServer aUserInAServer);
|
||||
List<Warning> getAllWarnsForUser(AUserInAServer aUserInAServer);
|
||||
List<Warning> getAllWarningsOfServer(AServer server);
|
||||
|
||||
Reference in New Issue
Block a user