metatext/DB/Sources/DB/Content/InstanceInfo.swift
2021-01-30 14:27:49 -08:00

21 lines
690 B
Swift

// Copyright © 2020 Metabolist. All rights reserved.
import Foundation
import GRDB
struct InstanceInfo: Codable, Hashable, FetchableRecord {
let record: InstanceRecord
let contactAccountInfo: AccountInfo?
}
extension InstanceInfo {
static func addingIncludes<T: DerivableRequest>(_ request: T) -> T where T.RowDecoder == InstanceRecord {
request.including(optional: AccountInfo.addingIncludes(InstanceRecord.contactAccount)
.forKey(CodingKeys.contactAccountInfo))
}
static func request(_ request: QueryInterfaceRequest<InstanceRecord>) -> QueryInterfaceRequest<Self> {
addingIncludes(request).asRequest(of: self)
}
}