]> nmode's Git Repositories - signal-cli/blobdiff - src/main/java/org/asamk/signal/commands/VersionCommand.java
Implement jsonRpc command
[signal-cli] / src / main / java / org / asamk / signal / commands / VersionCommand.java
diff --git a/src/main/java/org/asamk/signal/commands/VersionCommand.java b/src/main/java/org/asamk/signal/commands/VersionCommand.java
new file mode 100644 (file)
index 0000000..1b6d647
--- /dev/null
@@ -0,0 +1,24 @@
+package org.asamk.signal.commands;
+
+import org.asamk.signal.BaseConfig;
+import org.asamk.signal.JsonWriter;
+import org.asamk.signal.OutputWriter;
+import org.asamk.signal.commands.exceptions.CommandException;
+import org.asamk.signal.manager.Manager;
+
+import java.util.Map;
+
+public class VersionCommand implements JsonRpcCommand<Void> {
+
+    private final OutputWriter outputWriter;
+
+    public VersionCommand(final OutputWriter outputWriter) {
+        this.outputWriter = outputWriter;
+    }
+
+    @Override
+    public void handleCommand(final Void request, final Manager m) throws CommandException {
+        final var jsonWriter = (JsonWriter) outputWriter;
+        jsonWriter.write(Map.of("version", BaseConfig.PROJECT_VERSION));
+    }
+}