// _____ _ // |_ _| |_ _ _ ___ ___ _ __ __ _ // | | | ' \| '_/ -_) -_) ' \/ _` |_ // |_| |_||_|_| \___\___|_|_|_\__,_(_) // // 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 WebProfileUpdate: WebAbstractMessage { var nickname: String? var avatar: Data? init(nicknameChanged: Bool, newNickname: String?, newAvatar: Data?, deleteAvatar: Bool) { var tmpData = [AnyHashable:Any?]() if newNickname != nil { nickname = newNickname! tmpData.updateValue(nickname, forKey: "publicNickname") } else { if nicknameChanged == true { nickname = "" tmpData.updateValue(nickname, forKey: "publicNickname") } } if newAvatar != nil { let avatarImage = UIImage.init(data: newAvatar!) avatar = avatarImage!.jpegData(compressionQuality:CGFloat(kWebClientAvatarHiResQuality))! tmpData.updateValue(avatar, forKey: "avatar") } else if deleteAvatar == true { tmpData.updateValue(nil, forKey: "avatar") } super.init(messageType: "update", messageSubType: "profile", requestId: nil, ack: nil, args: nil, data: tmpData) } }