Skip to content
Snippets Groups Projects
Message.swift 1.78 KiB
Newer Older
//import Foundation
//import DifferenceKit
//
//public struct Message: Codable, Equatable, Hashable {
//    public enum Request {
//        case sending
//        case withUniqueId(Data)
//        case withId(Int64)
//        case sendingAttachment
//        case withContact(Data)
//        case unreadsFromContactId(Data)
//        case latestOnesFromContactIds([Data])
//    }
//
//    public enum Status: Int64, Codable {
//        case read
//        case sent
//        case sending
//        case sendingAttachment
//        case receivingAttachment
//        case received
//        case failedToSend
//        case timedOut
//    }
//
//    public var id: Int64?
//    public var unread: Bool
//    public let sender: Data
//    public var roundURL: String?
//    public var report: Data?
//    public var status: Status
//    public let receiver: Data
//    public var timestamp: Int
//    public var uniqueId: Data?
//    public var payload: Payload
//    public static var databaseTableName: String { "messages" }
//
//    public init (
//        sender: Data,
//        receiver: Data,
//        payload: Payload,
//        unread: Bool,
//        timestamp: Int,
//        uniqueId: Data?,
//        status: Status,
//        roundURL: String? = nil
//    ) {
//        self.sender = sender
//        self.unread = unread
//        self.status = status
//        self.payload = payload
//        self.receiver = receiver
//        self.uniqueId = uniqueId
//        self.timestamp = timestamp
//        self.roundURL = roundURL
//    }
//}
//
//public extension Message.Status {
//    var canReply: Bool {
//        switch self {
//        case .sent, .received, .read:
//            return true
//        default:
//            return false
//        }
//    }
//}
//
//extension Message: Differentiable {}