init()

in sdk/communication/AzureCommunicationChat/Source/Signaling/Events/ChatEvent.swift [383:402]


    init(from request: TrouterRequest) throws {
        guard let requestJsonData = request.body.data(using: .utf8) else {
            throw AzureError.client("Unable to convert request body to Data.")
        }

        let chatMessageDeletedPayload: MessageDeletedPayload = try JSONDecoder()
            .decode(MessageDeletedPayload.self, from: requestJsonData)

        self.deletedOn = Iso8601Date(string: chatMessageDeletedPayload.deletetime)
        super.init(
            threadId: chatMessageDeletedPayload.groupId,
            sender: createCommunicationIdentifier(fromRawId: chatMessageDeletedPayload.senderId),
            recipient: createCommunicationIdentifier(fromRawId: chatMessageDeletedPayload.recipientMri),
            id: chatMessageDeletedPayload.messageId,
            senderDisplayName: chatMessageDeletedPayload.senderDisplayName,
            createdOn: Iso8601Date(string: chatMessageDeletedPayload.originalArrivalTime),
            version: chatMessageDeletedPayload.version,
            type: ChatMessageType(chatMessageDeletedPayload.messageType)
        )
    }