// // MessageListItem.swift // PaiaiDataKit // // Created by ffib on 2018/12/19. // Copyright © 2018 yb. All rights reserved. // import Foundation import ObjectMapper import RxDataSources public struct MessageListItem: JSONCode { public var content = "" public var msg_title: String = "" public var create_at: String = "" public var from_avatar: String = "" public var msg_content: String = "" public var from_nickname: String = "" public var group_photo_info = PhotoItem(json: [:]) var read: Bool = false public var title: String = "" public var created_at: Date? var pk = 0 var from_uid: String = "" var photo_id: String = "" var group_id: String = "" init(json: [String: AnyObject]) { self.init(map: Map(mappingType: .fromJSON, JSON: json)) } } extension MessageListItem: Mappable { public init(map: Map) { mapping(map: map) } mutating public func mapping(map: Map) { let dateFormatter = DateFormatter() dateFormatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ssZ" created_at <- (map["created_at"], DateFormatterTransform(dateFormatter:dateFormatter)) content <- map["content"] pk <- map["pk"] read <- map["read"] title <- map["title"] from_avatar <- map["from_avatar"] from_nickname <- map["from_nickname"] from_uid <- map["from_uid"] group_photo_info <- map["group_photo_info"] photo_id <- map["photo_id"] group_id <- map["group_id"] msg_content <- map["msg_content"] msg_title <- map["msg_title"] guard let created_at = created_at else { return } create_at = created_at.getTimeInfoFromDate() } } extension MessageListItem: IdentifiableType, Equatable { public typealias Identity = Int public var identity: Int { return pk } public static func == (lhs: MessageListItem, rhs: MessageListItem) -> Bool { return lhs.pk == rhs.pk } }