1 package org
.asamk
.signal
.json
;
3 import com
.fasterxml
.jackson
.annotation
.JsonInclude
;
5 import org
.asamk
.signal
.manager
.api
.SendMessageResult
;
6 import org
.asamk
.signal
.manager
.groups
.GroupId
;
8 public record JsonSendMessageResult(
9 JsonRecipientAddress recipientAddress
,
10 @JsonInclude(JsonInclude
.Include
.NON_NULL
) String groupId
,
12 @JsonInclude(JsonInclude
.Include
.NON_NULL
) String token
,
13 @JsonInclude(JsonInclude
.Include
.NON_NULL
) Long retryAfterSeconds
16 public static JsonSendMessageResult
from(SendMessageResult result
) {
17 return from(result
, null);
20 public static JsonSendMessageResult
from(SendMessageResult result
, GroupId groupId
) {
21 return new JsonSendMessageResult(JsonRecipientAddress
.from(result
.address()),
22 groupId
!= null ? groupId
.toBase64() : null,
25 : result
.isRateLimitFailure()
26 ? Type
.RATE_LIMIT_FAILURE
27 : result
.isNetworkFailure()
28 ? Type
.NETWORK_FAILURE
29 : result
.isUnregisteredFailure()
30 ? Type
.UNREGISTERED_FAILURE
31 : Type
.IDENTITY_FAILURE
,
32 result
.proofRequiredFailure() != null ? result
.proofRequiredFailure().getToken() : null,
33 result
.proofRequiredFailure() != null ? result
.proofRequiredFailure().getRetryAfterSeconds() : null);