]> nmode's Git Repositories - signal-cli/blobdiff - src/main/java/org/asamk/signal/commands/UpdateAccountCommand.java
Configure log LevelChangePropagator
[signal-cli] / src / main / java / org / asamk / signal / commands / UpdateAccountCommand.java
index 2bb2d110de1f6caee81f05230e6d024980ab4aca..d430f49fae581549ba5c1c14e872d3add96dd3fa 100644 (file)
@@ -1,5 +1,7 @@
 package org.asamk.signal.commands;
 
+import com.fasterxml.jackson.annotation.JsonInclude;
+
 import net.sourceforge.argparse4j.impl.Arguments;
 import net.sourceforge.argparse4j.inf.Namespace;
 import net.sourceforge.argparse4j.inf.Subparser;
@@ -48,10 +50,9 @@ public class UpdateAccountCommand implements JsonRpcLocalCommand {
         if (username != null) {
             try {
                 final var newUsername = m.setUsername(username);
-                if (outputWriter instanceof PlainTextWriter w) {
-                    w.println("Your new username: {}", newUsername);
-                } else if (outputWriter instanceof JsonWriter w) {
-                    w.write(new JsonAccountResponse(newUsername));
+                switch (outputWriter) {
+                    case PlainTextWriter w -> w.println("Your new username: {}", newUsername);
+                    case JsonWriter w -> w.write(new JsonAccountResponse(newUsername));
                 }
             } catch (IOException e) {
                 throw new IOErrorException("Failed to set username: " + e.getMessage(), e);
@@ -71,6 +72,6 @@ public class UpdateAccountCommand implements JsonRpcLocalCommand {
     }
 
     private record JsonAccountResponse(
-            String username
+            @JsonInclude(JsonInclude.Include.NON_NULL) String username
     ) {}
 }