]> nmode's Git Repositories - signal-cli/commitdiff
Add support for invalid pre key failure when sending message
authorAsamK <asamk@gmx.de>
Sun, 11 Jun 2023 15:47:48 +0000 (17:47 +0200)
committerAsamK <asamk@gmx.de>
Sun, 11 Jun 2023 15:47:48 +0000 (17:47 +0200)
lib/src/main/java/org/asamk/signal/manager/api/SendMessageResult.java
src/main/java/org/asamk/signal/json/JsonSendMessageResult.java

index 1507390bba4b1548bd6285b317afaaf8dad8e6ec..4158b60e7dc9336ca896bf8f9401395af1bd0a59 100644 (file)
@@ -2,7 +2,6 @@ package org.asamk.signal.manager.api;
 
 import org.asamk.signal.manager.helper.RecipientAddressResolver;
 import org.asamk.signal.manager.storage.recipients.RecipientResolver;
 
 import org.asamk.signal.manager.helper.RecipientAddressResolver;
 import org.asamk.signal.manager.storage.recipients.RecipientResolver;
-import org.signal.libsignal.protocol.IdentityKey;
 
 public record SendMessageResult(
         RecipientAddress address,
 
 public record SendMessageResult(
         RecipientAddress address,
@@ -11,29 +10,12 @@ public record SendMessageResult(
         boolean isUnregisteredFailure,
         boolean isIdentityFailure,
         boolean isRateLimitFailure,
         boolean isUnregisteredFailure,
         boolean isIdentityFailure,
         boolean isRateLimitFailure,
-        ProofRequiredException proofRequiredFailure
+        ProofRequiredException proofRequiredFailure,
+        boolean isInvalidPreKeyFailure
 ) {
 
 ) {
 
-    public static SendMessageResult success(RecipientAddress address) {
-        return new SendMessageResult(address, true, false, false, false, false, null);
-    }
-
-    public static SendMessageResult networkFailure(RecipientAddress address) {
-        return new SendMessageResult(address, false, true, false, false, false, null);
-    }
-
     public static SendMessageResult unregisteredFailure(RecipientAddress address) {
     public static SendMessageResult unregisteredFailure(RecipientAddress address) {
-        return new SendMessageResult(address, false, false, true, false, false, null);
-    }
-
-    public static SendMessageResult identityFailure(RecipientAddress address, IdentityKey identityKey) {
-        return new SendMessageResult(address, false, false, false, true, false, null);
-    }
-
-    public static SendMessageResult proofRequiredFailure(
-            RecipientAddress address, ProofRequiredException proofRequiredException
-    ) {
-        return new SendMessageResult(address, false, true, false, false, false, proofRequiredException);
+        return new SendMessageResult(address, false, false, true, false, false, null, false);
     }
 
     public static SendMessageResult from(
     }
 
     public static SendMessageResult from(
@@ -50,6 +32,7 @@ public record SendMessageResult(
                 sendMessageResult.getRateLimitFailure() != null || sendMessageResult.getProofRequiredFailure() != null,
                 sendMessageResult.getProofRequiredFailure() == null
                         ? null
                 sendMessageResult.getRateLimitFailure() != null || sendMessageResult.getProofRequiredFailure() != null,
                 sendMessageResult.getProofRequiredFailure() == null
                         ? null
-                        : new ProofRequiredException(sendMessageResult.getProofRequiredFailure()));
+                        : new ProofRequiredException(sendMessageResult.getProofRequiredFailure()),
+                sendMessageResult.isInvalidPreKeyFailure());
     }
 }
     }
 }
index 13b953fcee40a3bd31ffee74a4f08c45bb05f019..f9ca8f86d2d9f2fa49d03c2ae87fc4d621710019 100644 (file)
@@ -28,7 +28,9 @@ public record JsonSendMessageResult(
                                         ? Type.NETWORK_FAILURE
                                         : result.isUnregisteredFailure()
                                                 ? Type.UNREGISTERED_FAILURE
                                         ? Type.NETWORK_FAILURE
                                         : result.isUnregisteredFailure()
                                                 ? Type.UNREGISTERED_FAILURE
-                                                : Type.IDENTITY_FAILURE,
+                                                : result.isInvalidPreKeyFailure()
+                                                        ? Type.INVALID_PRE_KEY_FAILURE
+                                                        : Type.IDENTITY_FAILURE,
                 result.proofRequiredFailure() != null ? result.proofRequiredFailure().getToken() : null,
                 result.proofRequiredFailure() != null ? result.proofRequiredFailure().getRetryAfterSeconds() : null);
     }
                 result.proofRequiredFailure() != null ? result.proofRequiredFailure().getToken() : null,
                 result.proofRequiredFailure() != null ? result.proofRequiredFailure().getRetryAfterSeconds() : null);
     }
@@ -39,5 +41,6 @@ public record JsonSendMessageResult(
         UNREGISTERED_FAILURE,
         IDENTITY_FAILURE,
         RATE_LIMIT_FAILURE,
         UNREGISTERED_FAILURE,
         IDENTITY_FAILURE,
         RATE_LIMIT_FAILURE,
+        INVALID_PRE_KEY_FAILURE,
     }
 }
     }
 }