]> nmode's Git Repositories - signal-cli/blobdiff - src/main/java/org/asamk/signal/commands/GetUserStatusCommand.java
Use exit 4 when sending a single recipient message fails due to untrusted identity key
[signal-cli] / src / main / java / org / asamk / signal / commands / GetUserStatusCommand.java
index 0a1ddc4c33c6760306a39c35314dca180ea9d464..f17fb96725000f847f44c81d17682b086d992e8b 100644 (file)
@@ -8,6 +8,8 @@ import net.sourceforge.argparse4j.inf.Namespace;
 import net.sourceforge.argparse4j.inf.Subparser;
 
 import org.asamk.signal.manager.Manager;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import java.io.IOException;
 import java.util.HashSet;
@@ -17,12 +19,15 @@ import java.util.stream.Collectors;
 
 public class GetUserStatusCommand implements LocalCommand {
 
+    // TODO delete later when "json" variable is removed
+    private final static Logger logger = LoggerFactory.getLogger(GetUserStatusCommand.class);
+
     @Override
     public void attachToSubparser(final Subparser subparser) {
         subparser.addArgument("number").help("Phone number").nargs("+");
         subparser.help("Check if the specified phone number/s have been registered");
         subparser.addArgument("--json")
-                .help("Output received messages in json format, one json object per line.")
+                .help("WARNING: This parameter is now deprecated! Please use the global \"--output=json\" option instead.\n\nOutput received messages in json format, one json object per line.")
                 .action(Arguments.storeTrue());
     }
 
@@ -32,17 +37,24 @@ public class GetUserStatusCommand implements LocalCommand {
         ObjectMapper jsonProcessor = new ObjectMapper();
         jsonProcessor.disable(JsonGenerator.Feature.AUTO_CLOSE_TARGET);
 
+        boolean inJson = ns.getString("output").equals("json") || ns.getBoolean("json");
+
+        // TODO delete later when "json" variable is removed
+        if (ns.getBoolean("json")) {
+            logger.warn("\"--json\" option has been deprecated, please use the global \"--output=json\" instead.");
+        }
+
         // Get a map of registration statuses
         Map<String, Boolean> registered;
         try {
             registered = m.areUsersRegistered(new HashSet<>(ns.getList("number")));
         } catch (IOException e) {
             System.err.println("Unable to check if users are registered");
-            return 1;
+            return 3;
         }
 
         // Output
-        if (ns.getBoolean("json")) {
+        if (inJson) {
             List<JsonIsRegistered> objects = registered.entrySet()
                     .stream()
                     .map(entry -> new JsonIsRegistered(entry.getKey(), entry.getValue()))