init()

in sdk/communication/AzureCommunicationChat/Source/Signaling/Events/ChatEvent.swift [728:753]


    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 chatThreadDeletedPayload: ChatThreadDeletedPayload = try JSONDecoder()
            .decode(ChatThreadDeletedPayload.self, from: requestJsonData)

        guard let deletedByJsonData = chatThreadDeletedPayload.deletedBy.data(using: .utf8) else {
            throw AzureError.client("Unable to convert payload deletedBy to Data.")
        }

        let deletedByPayload: ChatParticipantPayload = try JSONDecoder()
            .decode(ChatParticipantPayload.self, from: deletedByJsonData)
        let deletedBy = SignalingChatParticipant(
            id: createCommunicationIdentifier(fromRawId: deletedByPayload.participantId),
            displayName: deletedByPayload.displayName
        )

        self.deletedOn = Iso8601Date(string: chatThreadDeletedPayload.deleteTime)
        self.deletedBy = deletedBy
        super.init(
            threadId: chatThreadDeletedPayload.threadId,
            version: chatThreadDeletedPayload.version
        )
    }