]> nmode's Git Repositories - signal-cli/blobdiff - lib/src/main/java/org/asamk/signal/manager/api/RecipientIdentifier.java
Handle all possible identifiers of a RecipientAddress
[signal-cli] / lib / src / main / java / org / asamk / signal / manager / api / RecipientIdentifier.java
index 823881c79c98900c5ff98e0b492bad383a06383c..794672a4b053368824d8a4b552a59b8df9a6a55a 100644 (file)
@@ -49,6 +49,8 @@ public sealed interface RecipientIdentifier {
                 return new Number(address.number().get());
             } else if (address.aci().isPresent()) {
                 return new Uuid(UUID.fromString(address.aci().get()));
+            } else if (address.pni().isPresent()) {
+                return new Pni(address.pni().get());
             } else if (address.username().isPresent()) {
                 return new Username(address.username().get());
             }
@@ -71,6 +73,19 @@ public sealed interface RecipientIdentifier {
         }
     }
 
+    record Pni(String pni) implements Single {
+
+        @Override
+        public String getIdentifier() {
+            return pni;
+        }
+
+        @Override
+        public RecipientAddress toPartialRecipientAddress() {
+            return new RecipientAddress(null, pni, null, null);
+        }
+    }
+
     record Number(String number) implements Single {
 
         @Override