IceCubesApp/Packages/Models/Sources/Models/ConsolidatedNotification.swift
Yusuke Arakawa 8d8955ee13
Fix leak memory (Thread 1: EXC_BAD_ACCESS (code=EXC_I386_GPFLT)) (#917)
Closes: #829

Co-authored-by: Yusuke Arakawa <nekolaboratory@users.noreply.github.com>
2023-02-18 08:53:11 +01:00

44 lines
1.2 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()]
}
}