AutoCat/AutoCatCore/Models/SwiftData/SDAudioRecord.swift

69 lines
1.5 KiB
Swift

//
// SDAudioRecord.swift
// AutoCatCore
//
// Created by Selim Mustafaev on 10.06.2025.
// Copyright © 2025 Selim Mustafaev. All rights reserved.
//
import Foundation
import SwiftData
@Model
final class SDAudioRecord {
@Attribute(.unique)
var path: String
var number: String?
var rawText: String
var addedDate: TimeInterval
var duration: TimeInterval
@Relationship(deleteRule: .cascade)
var event: SDVehicleEvent?
init(
path: String,
number: String? = nil,
rawText: String,
addedDate: TimeInterval,
duration: TimeInterval,
event: SDVehicleEvent? = nil
) {
self.path = path
self.number = number
self.rawText = rawText
self.addedDate = addedDate
self.duration = duration
self.event = event
}
}
extension SDAudioRecord: DtoConvertible {
public var dto: AudioRecordDto {
AudioRecordDto(
path: path,
number: number,
raw: rawText,
addedDate: addedDate,
duration: duration,
event: event?.dto
)
}
public convenience init(dto: AudioRecordDto) {
self.init(
path: dto.path,
number: dto.number,
rawText: dto.rawText,
addedDate: dto.addedDate,
duration: dto.duration,
event: SDVehicleEvent(dto: dto.event)
)
}
}