IceCubesApp/Packages/Models/Sources/Models/ConsolidatedNotification.swift
Thomas Ricouard 1f858414d8 format .
2024-02-14 12:48:14 +01:00

49 lines
1.3 KiB
Swift

//
// ConsolidatedNotification.swift
//
//
// Created by Jérôme Danthinne on 31/01/2023.
//
import Foundation
public struct ConsolidatedNotification: Identifiable {
public let notifications: [Notification]
public let type: Notification.NotificationType
public let createdAt: ServerDate
public let accounts: [Account]
public let status: Status?
public var id: String? { notifications.first?.id }
public init(notifications: [Notification],
type: Notification.NotificationType,
createdAt: ServerDate,
accounts: [Account],
status: Status?)
{
self.notifications = notifications
self.type = type
self.createdAt = createdAt
self.accounts = accounts
self.status = status ?? nil
}
public static func placeholder() -> ConsolidatedNotification {
.init(notifications: [Notification.placeholder()],
type: .favourite,
createdAt: ServerDate(),
accounts: [.placeholder()],
status: .placeholder())
}
public static func placeholders() -> [ConsolidatedNotification] {
[.placeholder(), .placeholder(), .placeholder(),
.placeholder(), .placeholder(), .placeholder(),
.placeholder(), .placeholder(), .placeholder(),
.placeholder(), .placeholder(), .placeholder()]
}
}
extension ConsolidatedNotification: Sendable {}