in sdk/communication/AzureCommunicationChat/Source/PushNotification/PushNotificationBaseEvent.swift [101:123]
init(from data: Data) throws {
let pushNotificationMessageReceivedPayload: PushNotificationMessageReceivedPayload = try JSONDecoder()
.decode(PushNotificationMessageReceivedPayload.self, from: data)
self.message = pushNotificationMessageReceivedPayload.messageBody
if pushNotificationMessageReceivedPayload.acsChatMessageMetadata != "null" {
if let acsChatMetadata = pushNotificationMessageReceivedPayload.acsChatMessageMetadata.data(using: .utf8) {
self.metadata = try JSONDecoder().decode([String: String?].self, from: acsChatMetadata)
}
}
super.init(
messageId: pushNotificationMessageReceivedPayload.messageId,
type: ChatMessageType(pushNotificationMessageReceivedPayload.messageType),
threadId: pushNotificationMessageReceivedPayload.groupId,
sender: createCommunicationIdentifier(fromRawId: pushNotificationMessageReceivedPayload.senderId),
recipient: createCommunicationIdentifier(fromRawId: pushNotificationMessageReceivedPayload.recipientId),
senderDisplayName: pushNotificationMessageReceivedPayload.senderDisplayName,
originalArrivalTime: Iso8601Date(string: pushNotificationMessageReceivedPayload.originalArrivalTime),
version: pushNotificationMessageReceivedPayload.version
)
}