From 0b8e24f5f50936cbf5eab36439639f98cb925089 Mon Sep 17 00:00:00 2001 From: Sheldan <5037282+Sheldan@users.noreply.github.com> Date: Mon, 22 Mar 2021 00:42:40 +0100 Subject: [PATCH] [AB-179] adding command to show documentation --- .../core/commands/help/Documentation.java | 50 +++++++++++++++++++ .../help/SupportModuleDefinition.java | 1 - .../migrations/1.1-core/collection.xml | 10 ++++ .../1.1-core/core-seedData/command.xml | 18 +++++++ .../1.1-core/core-seedData/data.xml | 10 ++++ .../resources/migrations/core-changeLog.xml | 1 + .../src/main/docs/asciidoc/modules/core.adoc | 3 ++ 7 files changed, 92 insertions(+), 1 deletion(-) create mode 100644 abstracto-application/core/core-impl/src/main/java/dev/sheldan/abstracto/core/commands/help/Documentation.java create mode 100644 abstracto-application/core/core-impl/src/main/resources/migrations/1.1-core/collection.xml create mode 100644 abstracto-application/core/core-impl/src/main/resources/migrations/1.1-core/core-seedData/command.xml create mode 100644 abstracto-application/core/core-impl/src/main/resources/migrations/1.1-core/core-seedData/data.xml diff --git a/abstracto-application/core/core-impl/src/main/java/dev/sheldan/abstracto/core/commands/help/Documentation.java b/abstracto-application/core/core-impl/src/main/java/dev/sheldan/abstracto/core/commands/help/Documentation.java new file mode 100644 index 000000000..c8a7f6d3d --- /dev/null +++ b/abstracto-application/core/core-impl/src/main/java/dev/sheldan/abstracto/core/commands/help/Documentation.java @@ -0,0 +1,50 @@ +package dev.sheldan.abstracto.core.commands.help; + +import dev.sheldan.abstracto.core.command.Command; +import dev.sheldan.abstracto.core.command.config.CommandConfiguration; +import dev.sheldan.abstracto.core.command.config.HelpInfo; +import dev.sheldan.abstracto.core.command.config.features.CoreFeatureDefinition; +import dev.sheldan.abstracto.core.command.execution.CommandContext; +import dev.sheldan.abstracto.core.command.execution.CommandResult; +import dev.sheldan.abstracto.core.config.FeatureDefinition; +import dev.sheldan.abstracto.core.service.ChannelService; +import dev.sheldan.abstracto.core.utils.FutureUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +import java.util.Arrays; +import java.util.concurrent.CompletableFuture; + +@Component +public class Documentation implements Command { + + @Autowired + private ChannelService channelService; + + private static final String DOCUMENTATION_RESPONSE_TEMPLATE_KEY = "documentation_response"; + + @Override + public CompletableFuture executeAsync(CommandContext commandContext) { + return FutureUtils.toSingleFutureGeneric(channelService.sendEmbedTemplateInMessageChannelList(DOCUMENTATION_RESPONSE_TEMPLATE_KEY, new Object(), commandContext.getChannel())) + .thenApply(unused -> CommandResult.fromIgnored()); + } + + @Override + public CommandConfiguration getConfiguration() { + HelpInfo helpInfo = HelpInfo.builder().templated(true).build(); + return CommandConfiguration.builder() + .name("documentation") + .async(true) + .aliases(Arrays.asList("docu", "docs")) + .module(SupportModuleDefinition.SUPPORT) + .help(helpInfo) + .templated(true) + .causesReaction(true) + .build(); + } + + @Override + public FeatureDefinition getFeature() { + return CoreFeatureDefinition.CORE_FEATURE; + } +} diff --git a/abstracto-application/core/core-impl/src/main/java/dev/sheldan/abstracto/core/commands/help/SupportModuleDefinition.java b/abstracto-application/core/core-impl/src/main/java/dev/sheldan/abstracto/core/commands/help/SupportModuleDefinition.java index eb8bef659..4fd687079 100644 --- a/abstracto-application/core/core-impl/src/main/java/dev/sheldan/abstracto/core/commands/help/SupportModuleDefinition.java +++ b/abstracto-application/core/core-impl/src/main/java/dev/sheldan/abstracto/core/commands/help/SupportModuleDefinition.java @@ -7,7 +7,6 @@ import org.springframework.stereotype.Component; @Component public class SupportModuleDefinition implements ModuleDefinition { - public static final String SUPPORT = "support"; @Override diff --git a/abstracto-application/core/core-impl/src/main/resources/migrations/1.1-core/collection.xml b/abstracto-application/core/core-impl/src/main/resources/migrations/1.1-core/collection.xml new file mode 100644 index 000000000..085c62526 --- /dev/null +++ b/abstracto-application/core/core-impl/src/main/resources/migrations/1.1-core/collection.xml @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/abstracto-application/core/core-impl/src/main/resources/migrations/1.1-core/core-seedData/command.xml b/abstracto-application/core/core-impl/src/main/resources/migrations/1.1-core/core-seedData/command.xml new file mode 100644 index 000000000..d811c3ecd --- /dev/null +++ b/abstracto-application/core/core-impl/src/main/resources/migrations/1.1-core/core-seedData/command.xml @@ -0,0 +1,18 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/abstracto-application/core/core-impl/src/main/resources/migrations/1.1-core/core-seedData/data.xml b/abstracto-application/core/core-impl/src/main/resources/migrations/1.1-core/core-seedData/data.xml new file mode 100644 index 000000000..7e787399f --- /dev/null +++ b/abstracto-application/core/core-impl/src/main/resources/migrations/1.1-core/core-seedData/data.xml @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/abstracto-application/core/core-impl/src/main/resources/migrations/core-changeLog.xml b/abstracto-application/core/core-impl/src/main/resources/migrations/core-changeLog.xml index 00bc7b6bc..2057f757b 100644 --- a/abstracto-application/core/core-impl/src/main/resources/migrations/core-changeLog.xml +++ b/abstracto-application/core/core-impl/src/main/resources/migrations/core-changeLog.xml @@ -8,4 +8,5 @@ http://www.liquibase.org/xml/ns/pro dbchangelog-3.8.xsd" > + \ No newline at end of file diff --git a/abstracto-application/documentation/src/main/docs/asciidoc/modules/core.adoc b/abstracto-application/documentation/src/main/docs/asciidoc/modules/core.adoc index 6d5c0ec3b..e1edd6563 100644 --- a/abstracto-application/documentation/src/main/docs/asciidoc/modules/core.adoc +++ b/abstracto-application/documentation/src/main/docs/asciidoc/modules/core.adoc @@ -140,6 +140,9 @@ Retrieving the current customized template for this server:: Resetting a customized template to the default template:: * Usage `resetTemplate ` * Description: Resets the template identified by `templateKey` to the default content. +Show a link to documentation:: +* Usage `documentation` +* Description: Shows links to access the documentation. .What does it mean if a role is immune?