// Copyright © 2020 Metabolist. All rights reserved. import Foundation import GRDB import Mastodon struct IdentityRecord: Codable, Hashable, FetchableRecord, PersistableRecord { let id: UUID let url: URL let authenticated: Bool let lastUsedAt: Date let preferences: Identity.Preferences let instanceURI: String? let lastRegisteredDeviceToken: Data? let pushSubscriptionAlerts: PushSubscription.Alerts } extension IdentityRecord { static let instance = belongsTo(Identity.Instance.self, key: "instance") static let account = hasOne(Identity.Account.self, key: "account") var instance: QueryInterfaceRequest { request(for: Self.instance) } var account: QueryInterfaceRequest { request(for: Self.account) } }