[AB-232] moving logging to separate module

refactoring leave and join listener
This commit is contained in:
Sheldan
2021-04-24 16:00:58 +02:00
parent fa4c455ca2
commit 27763e985d
42 changed files with 1710 additions and 132 deletions

View File

@@ -0,0 +1,19 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>logging</artifactId>
<groupId>dev.sheldan.abstracto.modules</groupId>
<version>1.2.9-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>logging-int</artifactId>
<properties>
<maven.compiler.source>8</maven.compiler.source>
<maven.compiler.target>8</maven.compiler.target>
</properties>
</project>

View File

@@ -0,0 +1,24 @@
package dev.sheldan.abstracto.logging.config;
import dev.sheldan.abstracto.core.config.FeatureConfig;
import dev.sheldan.abstracto.core.config.FeatureDefinition;
import dev.sheldan.abstracto.core.config.PostTargetEnum;
import org.springframework.stereotype.Component;
import java.util.Arrays;
import java.util.List;
@Component
public class LoggingFeatureConfig implements FeatureConfig {
@Override
public FeatureDefinition getFeature() {
return LoggingFeatureDefinition.LOGGING;
}
@Override
public List<PostTargetEnum> getRequiredPostTargets() {
return Arrays.asList(LoggingPostTarget.DELETE_LOG, LoggingPostTarget.EDIT_LOG, LoggingPostTarget.JOIN_LOG, LoggingPostTarget.LEAVE_LOG);
}
}

View File

@@ -0,0 +1,15 @@
package dev.sheldan.abstracto.logging.config;
import dev.sheldan.abstracto.core.config.FeatureDefinition;
import lombok.Getter;
@Getter
public enum LoggingFeatureDefinition implements FeatureDefinition {
LOGGING("logging");
private final String key;
LoggingFeatureDefinition(String key) {
this.key = key;
}
}

View File

@@ -0,0 +1,19 @@
package dev.sheldan.abstracto.logging.config;
import dev.sheldan.abstracto.core.config.PostTargetEnum;
import lombok.Getter;
@Getter
public enum LoggingPostTarget implements PostTargetEnum {
LEAVE_LOG("leaveLog"),
JOIN_LOG("joinLog"),
DELETE_LOG("deleteLog"),
EDIT_LOG("editLog");
private String key;
LoggingPostTarget(String key) {
this.key = key;
}
}

View File

@@ -0,0 +1,13 @@
package dev.sheldan.abstracto.logging.model.template;
import lombok.Builder;
import lombok.Getter;
import lombok.Setter;
import net.dv8tion.jda.api.entities.Member;
@Getter
@Setter
@Builder
public class MemberJoinLogModel {
private Member member;
}

View File

@@ -0,0 +1,13 @@
package dev.sheldan.abstracto.logging.model.template;
import lombok.Builder;
import lombok.Getter;
import lombok.Setter;
import net.dv8tion.jda.api.entities.Member;
@Getter
@Setter
@Builder
public class MemberLeaveLogModel {
private Member member;
}

View File

@@ -0,0 +1,24 @@
package dev.sheldan.abstracto.logging.model.template;
import dev.sheldan.abstracto.core.models.context.SlimUserInitiatedServerContext;
import lombok.Getter;
import lombok.Setter;
import lombok.experimental.SuperBuilder;
/**
* Used when rendering the attachment message, when the message contained multiple attachments.
* The template is: "message_deleted_attachment_embed"
*/
@Getter
@Setter
@SuperBuilder
public class MessageDeletedAttachmentLog extends SlimUserInitiatedServerContext {
/**
* The proxy URL to the attachment which was deleted.
*/
private String imageUrl;
/**
* The index of this attachment in the deleted message.
*/
private Integer counter;
}

View File

@@ -0,0 +1,20 @@
package dev.sheldan.abstracto.logging.model.template;
import dev.sheldan.abstracto.core.models.cache.CachedMessage;
import dev.sheldan.abstracto.core.models.context.SlimUserInitiatedServerContext;
import lombok.Getter;
import lombok.Setter;
import lombok.experimental.SuperBuilder;
/**
* Used when rendering the log message when a message was deleted. The template is: "message_deleted_embed"
*/
@Getter
@Setter
@SuperBuilder
public class MessageDeletedLog extends SlimUserInitiatedServerContext {
/**
* A {@link CachedMessage} representing the deleted message
*/
private CachedMessage cachedMessage;
}

View File

@@ -0,0 +1,26 @@
package dev.sheldan.abstracto.logging.model.template;
import dev.sheldan.abstracto.core.models.cache.CachedMessage;
import dev.sheldan.abstracto.core.models.context.UserInitiatedServerContext;
import lombok.Getter;
import lombok.Setter;
import lombok.experimental.SuperBuilder;
import net.dv8tion.jda.api.entities.Message;
/**
* Used when rendering the log message when a message was edited. The template is: "message_edited_embed"
*/
@Getter
@Setter
@SuperBuilder
public class MessageEditedLog extends UserInitiatedServerContext {
/**
* The {@link CachedMessage} instance which contains the new content of the message
*/
private Message messageAfter;
/**
* The {@link CachedMessage} which contains the message before the edit was made
*/
private CachedMessage messageBefore;
}