IceCubesApp/Packages/Models/Sources/Models/ConsolidatedNotification.swift

49 lines
1.3 KiB
Swift
Raw Normal View History

//
// 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,
2023-02-09 08:12:44 +00:00
createdAt: ServerDate(),
accounts: [.placeholder()],
status: .placeholder())
}
public static func placeholders() -> [ConsolidatedNotification] {
2024-02-14 11:48:14 +00:00
[.placeholder(), .placeholder(), .placeholder(),
.placeholder(), .placeholder(), .placeholder(),
2023-12-27 15:07:16 +00:00
.placeholder(), .placeholder(), .placeholder(),
.placeholder(), .placeholder(), .placeholder()]
}
}
extension ConsolidatedNotification: Sendable {}