1 package org
.asamk
.signal
.json
;
3 import com
.fasterxml
.jackson
.annotation
.JsonInclude
;
5 import org
.whispersystems
.signalservice
.api
.messages
.SignalServiceTypingMessage
;
7 import java
.util
.Base64
;
9 record JsonTypingMessage(
10 String action
, long timestamp
, @JsonInclude(JsonInclude
.Include
.NON_NULL
) String groupId
13 JsonTypingMessage(final String action
, final long timestamp
, final String groupId
) {
15 this.timestamp
= timestamp
;
16 this.groupId
= groupId
;
19 static JsonTypingMessage
from(SignalServiceTypingMessage typingMessage
) {
20 final var action
= typingMessage
.getAction().name();
21 final var timestamp
= typingMessage
.getTimestamp();
22 final var encoder
= Base64
.getEncoder();
23 final var groupId
= typingMessage
.getGroupId().transform(encoder
::encodeToString
).orNull();
24 return new JsonTypingMessage(action
, timestamp
, groupId
);