// _____ _
// |_ _| |_ _ _ ___ ___ _ __ __ _
// | | | ' \| '_/ -_) -_) ' \/ _` |_
// |_| |_||_|_| \___\___|_|_|_\__,_(_)
//
// Threema iOS Client
// Copyright (c) 2018-2020 Threema GmbH
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License, version 3,
// as published by the Free Software Foundation.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU Affero General Public License for more details.
//
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see .
import Foundation
class WebContactDetailResponse: WebAbstractMessage {
var contact: Contact?
var identity: String
var systemContact: [AnyHashable:Any?]?
init(contact: Contact?, contactDetailRequest: WebContactDetailRequest) {
identity = contactDetailRequest.identity
var tmpAck = WebAbstractMessageAcknowledgement.init(contactDetailRequest.requestId, true, nil)
let tmpArgs:[AnyHashable:Any?] = ["identity": self.identity]
var tmpData: [AnyHashable:Any?]? = ["receiver": []]
if contact != nil {
self.contact = contact
let emails:Array? = ContactStore.shared().cnContactEmails(for: contact)
let phoneNumbers:Array? = ContactStore.shared().cnContactPhoneNumbers(for: contact)
if (emails != nil || phoneNumbers != nil) {
self.systemContact = ["emails": emails, "phoneNumbers": phoneNumbers]
tmpData = ["receiver": ["systemContact": self.systemContact]]
}
tmpAck.success = true
} else {
tmpAck.success = false
tmpAck.error = "invalid_contact"
tmpData = nil
}
super.init(messageType: "response", messageSubType: "contactDetail", requestId: nil, ack: tmpAck, args: tmpArgs, data: tmpData)
}
}