// // SyncStatus.swift // NetNewsWire // // Created by Maurice Parker on 5/14/19. // Copyright © 2019 Ranchero Software. All rights reserved. // import Foundation import Articles import RSDatabase public struct SyncStatus: Hashable, Equatable { public enum Key: String { case read = "read" case starred = "starred" case deleted = "deleted" case new = "new" public init(_ articleStatusKey: ArticleStatus.Key) { switch articleStatusKey { case .read: self = Self.read case .starred: self = Self.starred } } } public let articleID: String public let key: SyncStatus.Key public let flag: Bool public let selected: Bool public init(articleID: String, key: SyncStatus.Key, flag: Bool, selected: Bool = false) { self.articleID = articleID self.key = key self.flag = flag self.selected = selected } public func databaseDictionary() -> DatabaseDictionary { return [DatabaseKey.articleID: articleID, DatabaseKey.key: key.rawValue, DatabaseKey.flag: flag, DatabaseKey.selected: selected] } }