[AB-69] adding templating support to help modules

This commit is contained in:
Sheldan
2021-02-14 14:20:01 +01:00
parent 34b9bca7ac
commit 23bdf4e906
15 changed files with 18 additions and 22 deletions

View File

@@ -10,7 +10,7 @@ public class AssignableRoleModule implements ModuleInterface {
@Override @Override
public ModuleInfo getInfo() { public ModuleInfo getInfo() {
return ModuleInfo.builder().name(ASSIGNABLE_ROLES).description("Module containing commands for creating and maintaining assignable role posts.").build(); return ModuleInfo.builder().name(ASSIGNABLE_ROLES).templated(true).build();
} }
@Override @Override

View File

@@ -11,7 +11,7 @@ public class ExperienceModule implements ModuleInterface {
@Override @Override
public ModuleInfo getInfo() { public ModuleInfo getInfo() {
return ModuleInfo.builder().name(EXPERIENCE).description("Module containing commands related to experience tracking.").build(); return ModuleInfo.builder().name(EXPERIENCE).templated(true).build();
} }
@Override @Override

View File

@@ -11,7 +11,7 @@ public class ModerationModule implements ModuleInterface {
@Override @Override
public ModuleInfo getInfo() { public ModuleInfo getInfo() {
return ModuleInfo.builder().name(MODERATION).description("Utilities to moderate the server").build(); return ModuleInfo.builder().name(MODERATION).templated(true).build();
} }
@Override @Override

View File

@@ -2,22 +2,16 @@ package dev.sheldan.abstracto.modmail.commands;
import dev.sheldan.abstracto.core.command.config.ModuleInfo; import dev.sheldan.abstracto.core.command.config.ModuleInfo;
import dev.sheldan.abstracto.core.command.config.ModuleInterface; import dev.sheldan.abstracto.core.command.config.ModuleInterface;
import dev.sheldan.abstracto.templating.service.TemplateService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
@Component @Component
public class ModMailModuleInterface implements ModuleInterface { public class ModMailModuleInterface implements ModuleInterface {
public static final String MODMAIL = "modMail"; public static final String MODMAIL = "modmail";
@Autowired
private TemplateService templateService;
@Override @Override
public ModuleInfo getInfo() { public ModuleInfo getInfo() {
String description = templateService.renderSimpleTemplate("modmail_help_module_info"); return ModuleInfo.builder().name(MODMAIL).templated(true).build();
return ModuleInfo.builder().name(MODMAIL).description(description).build();
} }

View File

@@ -9,7 +9,7 @@
<property name="today" value="(SELECT NOW())"/> <property name="today" value="(SELECT NOW())"/>
<changeSet author="Sheldan" id="modMail-module-insertion"> <changeSet author="Sheldan" id="modMail-module-insertion">
<insert tableName="module"> <insert tableName="module">
<column name="name" value="modMail"/> <column name="name" value="modmail"/>
<column name="created" valueComputed="${today}"/> <column name="created" valueComputed="${today}"/>
</insert> </insert>
</changeSet> </changeSet>

View File

@@ -14,7 +14,7 @@ public class StatisticModule implements ModuleInterface {
@Override @Override
public ModuleInfo getInfo() { public ModuleInfo getInfo() {
return ModuleInfo.builder().name(STATISTIC).description("Module containing commands related to statistic.").build(); return ModuleInfo.builder().name(STATISTIC).templated(true).build();
} }
@Override @Override

View File

@@ -14,7 +14,7 @@ public class EmoteTrackingModule implements ModuleInterface {
@Override @Override
public ModuleInfo getInfo() { public ModuleInfo getInfo() {
return ModuleInfo.builder().name(EMOTE_TRACKING).description("Module containing commands related to emote tracking.").build(); return ModuleInfo.builder().name(EMOTE_TRACKING).templated(true).build();
} }
@Override @Override

View File

@@ -11,7 +11,7 @@ public class EntertainmentModuleInterface implements ModuleInterface {
@Override @Override
public ModuleInfo getInfo() { public ModuleInfo getInfo() {
return ModuleInfo.builder().name(ENTERTAINMENT).description("Entertainment commands").build(); return ModuleInfo.builder().name(ENTERTAINMENT).templated(true).build();
} }
@Override @Override

View File

@@ -12,7 +12,7 @@ public class RepostDetectionModuleInterface implements ModuleInterface {
@Override @Override
public ModuleInfo getInfo() { public ModuleInfo getInfo() {
return ModuleInfo.builder().name(REPOST_DETECTION).description("Commands related to repost detection").build(); return ModuleInfo.builder().name(REPOST_DETECTION).templated(true).build();
} }
@Override @Override

View File

@@ -11,7 +11,7 @@ public class ChannelsModuleInterface implements ModuleInterface {
@Override @Override
public ModuleInfo getInfo() { public ModuleInfo getInfo() {
return ModuleInfo.builder().name(CHANNELS).description("Includes utilities to configure the channel configuration stored in the database").build(); return ModuleInfo.builder().name(CHANNELS).templated(true).build();
} }
@Override @Override

View File

@@ -11,7 +11,7 @@ public class ConfigModuleInterface implements ModuleInterface {
@Override @Override
public ModuleInfo getInfo() { public ModuleInfo getInfo() {
return ModuleInfo.builder().name(CONFIG).description("Utilities to configure the bot.").build(); return ModuleInfo.builder().name(CONFIG).templated(true).build();
} }
@Override @Override

View File

@@ -12,7 +12,7 @@ public class SupportModuleInterface implements ModuleInterface {
@Override @Override
public ModuleInfo getInfo() { public ModuleInfo getInfo() {
return ModuleInfo.builder().name(SUPPORT).description("Utilities for support").build(); return ModuleInfo.builder().name(SUPPORT).templated(true).build();
} }
@Override @Override

View File

@@ -11,7 +11,7 @@ public class UtilityModuleInterface implements ModuleInterface {
@Override @Override
public ModuleInfo getInfo() { public ModuleInfo getInfo() {
return ModuleInfo.builder().name(UTILITY).description("General utilities").build(); return ModuleInfo.builder().name(UTILITY).templated(true).build();
} }
@Override @Override

View File

@@ -6,7 +6,7 @@ import org.springframework.stereotype.Component;
public class AbstractoModuleInterface implements ModuleInterface { public class AbstractoModuleInterface implements ModuleInterface {
@Override @Override
public ModuleInfo getInfo() { public ModuleInfo getInfo() {
return ModuleInfo.builder().name("default").description("Default module provided by abstracto").build(); return ModuleInfo.builder().name("default").templated(true).build();
} }
@Override @Override

View File

@@ -3,9 +3,11 @@ package dev.sheldan.abstracto.core.command.config;
import lombok.Builder; import lombok.Builder;
import lombok.Getter; import lombok.Getter;
@Getter @Builder @Getter
@Builder
public class ModuleInfo { public class ModuleInfo {
private String name; private String name;
private String description; private String description;
private Boolean templated;
} }