metatext-app-ios-iphone-ipad/DB/Sources/DB/Identity/IdentityRecord.swift

30 lines
821 B
Swift
Raw Normal View History

2020-09-03 05:28:34 +02:00
// Copyright © 2020 Metabolist. All rights reserved.
import Foundation
import GRDB
import Mastodon
2020-09-05 04:05:15 +02:00
struct IdentityRecord: Codable, Hashable, FetchableRecord, PersistableRecord {
2020-09-03 05:28:34 +02:00
let id: UUID
let url: URL
2020-09-09 07:40:49 +02:00
let authenticated: Bool
2020-09-03 05:28:34 +02:00
let lastUsedAt: Date
let preferences: Identity.Preferences
let instanceURI: String?
2020-09-06 23:37:54 +02:00
let lastRegisteredDeviceToken: Data?
2020-09-03 05:28:34 +02:00
let pushSubscriptionAlerts: PushSubscription.Alerts
}
2020-09-05 04:05:15 +02:00
extension IdentityRecord {
2020-09-03 05:28:34 +02:00
static let instance = belongsTo(Identity.Instance.self, key: "instance")
static let account = hasOne(Identity.Account.self, key: "account")
var instance: QueryInterfaceRequest<Identity.Instance> {
request(for: Self.instance)
}
var account: QueryInterfaceRequest<Identity.Account> {
request(for: Self.account)
}
}