| 123456789101112131415161718192021222324252627282930 |
- import Foundation
- import SwiftData
- /// A folder that groups playlists together in the sidebar.
- @Model
- final class PlaylistFolder {
- var id: UUID = UUID()
- var name: String = ""
- var dateCreated: Date = Date()
- var isExpanded: Bool = true
- @Relationship(deleteRule: .nullify, inverse: \Playlist.folder)
- var playlists: [Playlist]
- var sortedPlaylists: [Playlist] {
- playlists.sorted { $0.dateModified > $1.dateModified }
- }
- var totalTrackCount: Int {
- playlists.reduce(0) { $0 + $1.trackCount }
- }
- init(name: String) {
- self.id = UUID()
- self.name = name
- self.dateCreated = Date()
- self.isExpanded = true
- self.playlists = []
- }
- }
|