mirror of
https://github.com/oxen-io/session-ios.git
synced 2023-12-13 21:30:14 +01:00
93b54a3b7d
Fixed a bug where the GalleryRailView wasn't appearing Fixed a database reentrancy error Fixed a bug where the threadId for migrated attachmentUpload jobs wasn't getting set to the non-legacy version Deleted the buggy overwritten 'delete' methods to avoid confusion Updated the GroupMember table to cascade delete if it's thread is deleted (can't do so for the Closed/Open group but they share the same id conveniently) Updated the 'isRunningTests' to be based on the existence of XCInjectBundleInfo which seems to be more consistent than the old approach
46 lines
1.6 KiB
Swift
46 lines
1.6 KiB
Swift
// Copyright © 2022 Rangeproof Pty Ltd. All rights reserved.
|
|
|
|
import Foundation
|
|
import GRDB
|
|
import SessionUtilitiesKit
|
|
|
|
public struct InteractionAttachment: Codable, Equatable, FetchableRecord, PersistableRecord, TableRecord, ColumnExpressible {
|
|
public static var databaseTableName: String { "interactionAttachment" }
|
|
internal static let interactionForeignKey = ForeignKey([Columns.interactionId], to: [Interaction.Columns.id])
|
|
internal static let attachmentForeignKey = ForeignKey([Columns.attachmentId], to: [Attachment.Columns.id])
|
|
public static let interaction = belongsTo(Interaction.self, using: interactionForeignKey)
|
|
internal static let attachment = belongsTo(Attachment.self, using: attachmentForeignKey)
|
|
|
|
public typealias Columns = CodingKeys
|
|
public enum CodingKeys: String, CodingKey, ColumnExpression {
|
|
case albumIndex
|
|
case interactionId
|
|
case attachmentId
|
|
}
|
|
|
|
public let albumIndex: Int
|
|
public let interactionId: Int64
|
|
public let attachmentId: String
|
|
|
|
// MARK: - Relationships
|
|
|
|
public var interaction: QueryInterfaceRequest<Interaction> {
|
|
request(for: InteractionAttachment.interaction)
|
|
}
|
|
|
|
public var attachment: QueryInterfaceRequest<Attachment> {
|
|
request(for: InteractionAttachment.attachment)
|
|
}
|
|
|
|
// MARK: - Initialization
|
|
|
|
public init(
|
|
albumIndex: Int,
|
|
interactionId: Int64,
|
|
attachmentId: String
|
|
) {
|
|
self.albumIndex = albumIndex
|
|
self.interactionId = interactionId
|
|
self.attachmentId = attachmentId
|
|
}
|
|
}
|