import Foundation public struct LessonData { var color: String var icon: String var index: String var title: String var subtitle: String var description: String var startDate: Date var endDate: Date var date: ClosedRange var nextSubject: String var nextRoom: String init(from dictionary: [String: Any]) { self.color = dictionary["color"] as? String ?? "" self.icon = dictionary["icon"] as? String ?? "" self.index = dictionary["index"] as? String ?? "" self.title = dictionary["title"] as? String ?? "" self.subtitle = dictionary["subtitle"] as? String ?? "" self.description = dictionary["description"] as? String ?? "" self.nextSubject = dictionary["nextSubject"] as? String ?? "" self.nextRoom = dictionary["nextRoom"] as? String ?? "" if let startDateStr = dictionary["startDate"] as? String, let startDateInt = Int(startDateStr) { self.startDate = Date(timeIntervalSince1970: TimeInterval(startDateInt) / 1000) } else { self.startDate = Date() } if let endDateStr = dictionary["endDate"] as? String, let endDateInt = Int(endDateStr) { self.endDate = Date(timeIntervalSince1970: TimeInterval(endDateInt) / 1000) } else { self.endDate = self.startDate } if self.startDate <= self.endDate { self.date = self.startDate...self.endDate } else { self.date = self.endDate...self.endDate } } }