mirror of
https://github.com/oxen-io/session-ios.git
synced 2023-12-13 21:30:14 +01:00
4380f1975c
Added the rest of the interaction structure to the database (testing some migration logic now - still needs to be finalised) Updated the YDBToGRDB migrations to wrap their inserts in autorelease pools (helps memory slightly, unfortunately it's caching the YDB data which uses the most memory but we have opted for speed over RAM at the moment) Updated the MockDataGenerator so it should now "chunk" the code generation (crazy large figures were previously resulting in excessive memory usage)
29 lines
945 B
Swift
29 lines
945 B
Swift
// Copyright © 2022 Rangeproof Pty Ltd. All rights reserved.
|
|
|
|
import Foundation
|
|
import GRDB
|
|
import SessionUtilitiesKit
|
|
|
|
public struct Capability: Codable, FetchableRecord, PersistableRecord, TableRecord, ColumnExpressible {
|
|
public static var databaseTableName: String { "capability" }
|
|
internal static let openGroupForeignKey = ForeignKey([Columns.openGroupId], to: [OpenGroup.Columns.threadId])
|
|
private static let openGroup = belongsTo(OpenGroup.self, using: openGroupForeignKey)
|
|
|
|
public typealias Columns = CodingKeys
|
|
public enum CodingKeys: String, CodingKey, ColumnExpression {
|
|
case openGroupId
|
|
case capability
|
|
case isMissing
|
|
}
|
|
|
|
public let openGroupId: String
|
|
public let capability: String
|
|
public let isMissing: Bool
|
|
|
|
// MARK: - Relationships
|
|
|
|
public var openGroup: QueryInterfaceRequest<OpenGroup> {
|
|
request(for: Capability.openGroup)
|
|
}
|
|
}
|