55 lines
1.2 KiB
Swift
55 lines
1.2 KiB
Swift
//
|
|
// ArticleStatus+Database.swift
|
|
// Database
|
|
//
|
|
// Created by Brent Simmons on 7/3/17.
|
|
// Copyright © 2017 Ranchero Software. All rights reserved.
|
|
//
|
|
|
|
import Foundation
|
|
import RSDatabase
|
|
import Data
|
|
|
|
extension ArticleStatus {
|
|
|
|
convenience init(articleID: String, dateArrived: Date, row: FMResultSet) {
|
|
|
|
let read = row.bool(forColumn: DatabaseKey.read)
|
|
let starred = row.bool(forColumn: DatabaseKey.starred)
|
|
let userDeleted = row.bool(forColumn: DatabaseKey.userDeleted)
|
|
|
|
self.init(articleID: articleID, read: read, starred: starred, userDeleted: userDeleted, dateArrived: dateArrived)
|
|
}
|
|
|
|
}
|
|
|
|
extension ArticleStatus: DatabaseObject {
|
|
|
|
public var databaseID: String {
|
|
get {
|
|
return articleID
|
|
}
|
|
}
|
|
|
|
public func databaseDictionary() -> NSDictionary? {
|
|
|
|
let d = NSMutableDictionary()
|
|
|
|
d[DatabaseKey.articleID] = articleID
|
|
d[DatabaseKey.read] = read
|
|
d[DatabaseKey.starred] = starred
|
|
d[DatabaseKey.userDeleted] = userDeleted
|
|
d[DatabaseKey.dateArrived] = dateArrived
|
|
|
|
return (d.copy() as! NSDictionary)
|
|
}
|
|
}
|
|
|
|
extension Set where Element == ArticleStatus {
|
|
|
|
func articleIDs() -> Set<String> {
|
|
|
|
return Set<String>(map { $0.articleID })
|
|
}
|
|
}
|