import Foundation struct UserProfile { let id: Int let email: String let name: String let zipCode: String let isPremium: Bool let createdAt: Date? init(json: [String: Any]) { id = JSON.parseInt(json["id"] ?? json["userId"] ?? json["UserID"]) email = JSON.parseString(json["email"] ?? json["Email"]) name = JSON.parseString(json["name"] ?? json["Name"]) zipCode = JSON.parseString(json["zipCode"] ?? json["ZipCode"] ?? json["zip"]) isPremium = JSON.parseBool(json["isPremium"] ?? json["IsPremium"] ?? json["premium"]) if let dateString = json["createdAt"] as? String ?? json["CreatedAt"] as? String { let formatter = ISO8601DateFormatter() createdAt = formatter.date(from: dateString) } else { createdAt = nil } } init( id: Int, email: String, name: String, zipCode: String, isPremium: Bool = false, createdAt: Date? = nil ) { self.id = id self.email = email self.name = name self.zipCode = zipCode self.isPremium = isPremium self.createdAt = createdAt } }