29 lines
595 B
Swift
29 lines
595 B
Swift
import Foundation
|
|
import SwiftData
|
|
|
|
enum TaskType: String, Codable {
|
|
case count
|
|
case time
|
|
}
|
|
|
|
@Model
|
|
final class TaskItem {
|
|
@Attribute(.unique) var id: UUID
|
|
var name: String
|
|
var icon: String
|
|
var type: TaskType
|
|
|
|
var category: Category?
|
|
|
|
@Relationship(deleteRule: .cascade, inverse: \TaskLog.task)
|
|
var logs: [TaskLog] = []
|
|
|
|
init(id: UUID = UUID(), name: String, icon: String, type: TaskType, category: Category? = nil) {
|
|
self.id = id
|
|
self.name = name
|
|
self.icon = icon
|
|
self.type = type
|
|
self.category = category
|
|
}
|
|
}
|