]> nmode's Git Repositories - signal-cli/blobdiff - src/main/java/org/asamk/signal/commands/UpdateAccountCommand.java
Implement username links
[signal-cli] / src / main / java / org / asamk / signal / commands / UpdateAccountCommand.java
index d430f49fae581549ba5c1c14e872d3add96dd3fa..c729a39a81471c5c2f732eedfcf567055e8e40c5 100644 (file)
@@ -49,10 +49,15 @@ public class UpdateAccountCommand implements JsonRpcLocalCommand {
         var username = ns.getString("username");
         if (username != null) {
             try {
         var username = ns.getString("username");
         if (username != null) {
             try {
-                final var newUsername = m.setUsername(username);
+                m.setUsername(username);
+                final var newUsername = m.getUsername();
+                final var newUsernameLink = m.getUsernameLink();
                 switch (outputWriter) {
                 switch (outputWriter) {
-                    case PlainTextWriter w -> w.println("Your new username: {}", newUsername);
-                    case JsonWriter w -> w.write(new JsonAccountResponse(newUsername));
+                    case PlainTextWriter w -> w.println("Your new username: {} ({})",
+                            newUsername,
+                            newUsernameLink == null ? "-" : newUsernameLink.getUrl());
+                    case JsonWriter w -> w.write(new JsonAccountResponse(newUsername,
+                            newUsernameLink == null ? null : newUsernameLink.getUrl()));
                 }
             } catch (IOException e) {
                 throw new IOErrorException("Failed to set username: " + e.getMessage(), e);
                 }
             } catch (IOException e) {
                 throw new IOErrorException("Failed to set username: " + e.getMessage(), e);
@@ -72,6 +77,7 @@ public class UpdateAccountCommand implements JsonRpcLocalCommand {
     }
 
     private record JsonAccountResponse(
     }
 
     private record JsonAccountResponse(
-            @JsonInclude(JsonInclude.Include.NON_NULL) String username
+            @JsonInclude(JsonInclude.Include.NON_NULL) String username,
+            @JsonInclude(JsonInclude.Include.NON_NULL) String usernameLink
     ) {}
 }
     ) {}
 }