mirror of
https://github.com/Sheldan/abstracto.git
synced 2026-04-16 04:21:49 +00:00
[AB-xxx] adding roles to the model of leave logger
This commit is contained in:
@@ -5,6 +5,7 @@ import dev.sheldan.abstracto.core.listener.DefaultListenerResult;
|
|||||||
import dev.sheldan.abstracto.core.listener.async.jda.AsyncLeaveListener;
|
import dev.sheldan.abstracto.core.listener.async.jda.AsyncLeaveListener;
|
||||||
import dev.sheldan.abstracto.core.models.ServerUser;
|
import dev.sheldan.abstracto.core.models.ServerUser;
|
||||||
import dev.sheldan.abstracto.core.models.listener.MemberLeaveModel;
|
import dev.sheldan.abstracto.core.models.listener.MemberLeaveModel;
|
||||||
|
import dev.sheldan.abstracto.core.models.template.display.RoleDisplay;
|
||||||
import dev.sheldan.abstracto.core.models.template.display.UserDisplay;
|
import dev.sheldan.abstracto.core.models.template.display.UserDisplay;
|
||||||
import dev.sheldan.abstracto.core.service.PostTargetService;
|
import dev.sheldan.abstracto.core.service.PostTargetService;
|
||||||
import dev.sheldan.abstracto.core.templating.model.MessageToSend;
|
import dev.sheldan.abstracto.core.templating.model.MessageToSend;
|
||||||
@@ -13,6 +14,7 @@ import dev.sheldan.abstracto.core.utils.FutureUtils;
|
|||||||
import dev.sheldan.abstracto.logging.config.LoggingFeatureDefinition;
|
import dev.sheldan.abstracto.logging.config.LoggingFeatureDefinition;
|
||||||
import dev.sheldan.abstracto.logging.config.LoggingPostTarget;
|
import dev.sheldan.abstracto.logging.config.LoggingPostTarget;
|
||||||
import dev.sheldan.abstracto.logging.model.template.MemberLeaveLogModel;
|
import dev.sheldan.abstracto.logging.model.template.MemberLeaveLogModel;
|
||||||
|
import java.util.List;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
@@ -41,10 +43,17 @@ public class LeaveLogger implements AsyncLeaveListener {
|
|||||||
.userId(listenerModel.getUser().getIdLong())
|
.userId(listenerModel.getUser().getIdLong())
|
||||||
.serverId(listenerModel.getServerId())
|
.serverId(listenerModel.getServerId())
|
||||||
.build();
|
.build();
|
||||||
|
List<RoleDisplay> roles = listenerModel
|
||||||
|
.getMember()
|
||||||
|
.getRoles()
|
||||||
|
.stream()
|
||||||
|
.map(RoleDisplay::fromRole)
|
||||||
|
.toList();
|
||||||
MemberLeaveLogModel model = MemberLeaveLogModel
|
MemberLeaveLogModel model = MemberLeaveLogModel
|
||||||
.builder()
|
.builder()
|
||||||
.leavingUser(leavingUser)
|
.leavingUser(leavingUser)
|
||||||
.user(UserDisplay.fromUser(listenerModel.getUser()))
|
.user(UserDisplay.fromUser(listenerModel.getUser()))
|
||||||
|
.roles(roles)
|
||||||
.build();
|
.build();
|
||||||
log.debug("Logging leave event for user {} in server {}.", listenerModel.getUser().getIdLong(), listenerModel.getServerId());
|
log.debug("Logging leave event for user {} in server {}.", listenerModel.getUser().getIdLong(), listenerModel.getServerId());
|
||||||
MessageToSend messageToSend = templateService.renderEmbedTemplate(USER_LEAVE_TEMPLATE, model, listenerModel.getServerId());
|
MessageToSend messageToSend = templateService.renderEmbedTemplate(USER_LEAVE_TEMPLATE, model, listenerModel.getServerId());
|
||||||
|
|||||||
@@ -1,7 +1,9 @@
|
|||||||
package dev.sheldan.abstracto.logging.model.template;
|
package dev.sheldan.abstracto.logging.model.template;
|
||||||
|
|
||||||
import dev.sheldan.abstracto.core.models.ServerUser;
|
import dev.sheldan.abstracto.core.models.ServerUser;
|
||||||
|
import dev.sheldan.abstracto.core.models.template.display.RoleDisplay;
|
||||||
import dev.sheldan.abstracto.core.models.template.display.UserDisplay;
|
import dev.sheldan.abstracto.core.models.template.display.UserDisplay;
|
||||||
|
import java.util.List;
|
||||||
import lombok.Builder;
|
import lombok.Builder;
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
import lombok.Setter;
|
import lombok.Setter;
|
||||||
@@ -12,4 +14,5 @@ import lombok.Setter;
|
|||||||
public class MemberLeaveLogModel {
|
public class MemberLeaveLogModel {
|
||||||
private ServerUser leavingUser;
|
private ServerUser leavingUser;
|
||||||
private UserDisplay user;
|
private UserDisplay user;
|
||||||
|
private List<RoleDisplay> roles;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -11,12 +11,14 @@ import net.dv8tion.jda.api.entities.Role;
|
|||||||
@Builder
|
@Builder
|
||||||
public class RoleDisplay {
|
public class RoleDisplay {
|
||||||
private String roleMention;
|
private String roleMention;
|
||||||
|
private String roleName;
|
||||||
private Long roleId;
|
private Long roleId;
|
||||||
|
|
||||||
public static RoleDisplay fromRole(Role role) {
|
public static RoleDisplay fromRole(Role role) {
|
||||||
return RoleDisplay
|
return RoleDisplay
|
||||||
.builder()
|
.builder()
|
||||||
.roleId(role.getIdLong())
|
.roleId(role.getIdLong())
|
||||||
|
.roleName(role.getName())
|
||||||
.roleMention(role.getAsMention())
|
.roleMention(role.getAsMention())
|
||||||
.build();
|
.build();
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user