53 lines
1.4 KiB
Swift
53 lines
1.4 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?(row: FMResultSet) {
|
||
|
|
||
|
let articleID = row.string(forColumn: DatabaseKey.articleID)
|
||
|
if (articleID == nil) {
|
||
|
return nil
|
||
|
}
|
||
|
let read = row.bool(forColumn: DatabaseKey.read)
|
||
|
let starred = row.bool(forColumn: DatabaseKey.starred)
|
||
|
let userDeleted = row.bool(forColumn: DatabaseKey.userDeleted)
|
||
|
|
||
|
var dateArrived = row.date(forColumn: DatabaseKey.dateArrived)
|
||
|
if (dateArrived == nil) {
|
||
|
dateArrived = NSDate.distantPast
|
||
|
}
|
||
|
|
||
|
let accountInfoPlist = PropertyListTransformer.accountInfoWithRow(row)
|
||
|
|
||
|
self.init(articleID: articleID!, read: read, starred: starred, userDeleted: userDeleted, dateArrived: dateArrived!, accountInfo: accountInfoPlist)
|
||
|
}
|
||
|
|
||
|
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
|
||
|
|
||
|
if let accountInfo = accountInfo, let data = PropertyListTransformer.data(withPropertyList: accountInfo) {
|
||
|
d[DatabaseKey.accountInfo] = data
|
||
|
}
|
||
|
|
||
|
return d.copy() as! NSDictionary
|
||
|
}
|
||
|
}
|
||
|
|