Skip to content
Snippets Groups Projects
GenericChatInfo.swift 600 B
Newer Older
Bruno Muniz's avatar
Bruno Muniz committed
import Foundation
import DifferenceKit

public struct GenericChatInfo: Codable, Equatable, Hashable {
    public var contact: Contact?
    public var groupInfo: GroupChatInfo?
    public var latestE2EMessage: Message?
    public var differenceIdentifier: Data { contact?.userId ?? groupInfo!.group.groupId }

    public init(
        contact: Contact?,
        groupInfo: GroupChatInfo?,
        latestE2EMessage: Message?
    ) {
        self.contact = contact
        self.groupInfo = groupInfo
        self.latestE2EMessage = latestE2EMessage
    }
}

extension GenericChatInfo: Differentiable {}