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)
|
|
|
|
}
|
|
|
|
}
|