IceCubes/Packages/Models/Sources/Models/Conversation.swift
2023-02-27 06:39:07 +01:00

27 lines
841 B
Swift

import Foundation
public struct Conversation: Identifiable, Decodable, Hashable, Equatable {
public let id: String
public let unread: Bool
public let lastStatus: Status?
public let accounts: [Account]
public init(id: String, unread: Bool, lastStatus: Status? = nil, accounts: [Account]) {
self.id = id
self.unread = unread
self.lastStatus = lastStatus
self.accounts = accounts
}
public static func placeholder() -> Conversation {
.init(id: UUID().uuidString, unread: false, lastStatus: .placeholder(), accounts: [.placeholder()])
}
public static func placeholders() -> [Conversation] {
[.placeholder(), .placeholder(), .placeholder(), .placeholder(), .placeholder(),
.placeholder(), .placeholder(), .placeholder(), .placeholder(), .placeholder()]
}
}
extension Conversation: Sendable {}