From ec96f7f860f402a71fc2f56a30101cec845bffac Mon Sep 17 00:00:00 2001 From: mathias Date: Sat, 2 Oct 2021 18:42:44 +0200 Subject: [PATCH] Reformatted the ResponderContext --- .../http/contexts/ResponderContext.java | 34 ++++++++++++++----- 1 file changed, 26 insertions(+), 8 deletions(-) diff --git a/src/main/java/de/gnmyt/autoresponder/http/contexts/ResponderContext.java b/src/main/java/de/gnmyt/autoresponder/http/contexts/ResponderContext.java index 7653bde..d965bab 100644 --- a/src/main/java/de/gnmyt/autoresponder/http/contexts/ResponderContext.java +++ b/src/main/java/de/gnmyt/autoresponder/http/contexts/ResponderContext.java @@ -35,14 +35,32 @@ public class ResponderContext extends SimpleHttpHandler { JsonNode query = rootNode.get("query"); CompletableFuture.runAsync(() -> { - triggerEvent(rootNode.get("appPackageName").asText(), rootNode.get("messengerPackageName").asText(), + run(rootNode.get("appPackageName").asText(), rootNode.get("messengerPackageName").asText(), query.get("sender").asText(), query.get("message").asText(), query.get("isGroup").asBoolean(), query.get("groupParticipant").asText(), query.get("ruleId").asInt(), controller); - - if (!controller.isResponseSent()) sendNotFoundReply(query, controller); }); } + /** + * Runs the context with all variables + * + * @param appPackageName The package name of the responder app + * @param messengerPackageName The package name of your whatsapp instance + * @param sender The sender of the message + * @param message The message itself + * @param isGroup true if the provided message has been sent in a group, otherwise false + * @param groupParticipant (Optional) The group participant + * @param ruleId The id of the rule that has been executed + * @param controller The response controller of the executed request + */ + public void run(String appPackageName, String messengerPackageName, String sender, String message, boolean isGroup, + String groupParticipant, int ruleId, HttpResponseController controller) { + + triggerEvent(appPackageName, messengerPackageName, sender, message, isGroup, groupParticipant, ruleId, controller); + + if (!controller.isResponseSent()) sendNotFoundReply(isGroup ? groupParticipant : sender, message, controller); + } + /** * Triggers the correct event * @@ -68,16 +86,16 @@ public class ResponderContext extends SimpleHttpHandler { /** * Sends the "not found"-reply * - * @param query The query that the responder sent + * @param sender The sender of the message + * @param message The message itself * @param controller The response controller from the request */ - public void sendNotFoundReply(JsonNode query, HttpResponseController controller) { + public void sendNotFoundReply(String sender, String message, HttpResponseController controller) { ObjectNode object = objectMapper.createObjectNode(); ArrayNode replies = object.withArray("replies"); - responder.getNotFoundHandler().handleRequest(query.get("isGroup").asBoolean() ? query.get("groupParticipant").asText() - : query.get("sender").asText(), query.get("message").asText()).forEach(message -> - replies.add(mapper.createObjectNode().put("message", message))); + responder.getNotFoundHandler().handleRequest(sender, message).forEach(currentMessage -> + replies.add(mapper.createObjectNode().put("message", currentMessage))); controller.text(object.toString()); }