another.im-ios/Monal/another.im/XMPP/Models/Account.swift

34 lines
975 B
Swift
Raw Normal View History

2024-11-29 17:35:20 +00:00
import Foundation
import SwiftUI
struct Account: Identifiable {
let id: Int
let local: String
let domain: String
let resource: String
let isEnabled: Bool
var jid: String {
"\(local)@\(domain)"
}
init?(_ dict: NSDictionary) {
guard let id = dict.value(forKey: "account_id") as? Int else { return nil }
guard let local = dict.value(forKey: "username") as? String else { return nil }
guard let domain = dict.value(forKey: "domain") as? String else { return nil }
guard let resource = dict.value(forKey: "resource") as? String else { return nil }
guard let isEnabled = dict.value(forKey: "enabled") as? Bool else { return nil }
self.id = id
self.local = local
self.domain = domain
self.resource = resource
self.isEnabled = isEnabled
}
}
extension Account: UniversalInputSelectionElement {
var icon: Image? { nil }
var text: String? { jid }
}