import Foundation import SwiftData enum TranscriptionStatus: String, Codable { case pending case completed case failed } @Model final class Transcription { var id: UUID var text: String var enhancedText: String? var timestamp: Date var duration: TimeInterval var audioFileURL: String? var transcriptionModelName: String? var aiEnhancementModelName: String? var promptName: String? var transcriptionDuration: TimeInterval? var enhancementDuration: TimeInterval? var aiRequestSystemMessage: String? var aiRequestUserMessage: String? var powerModeName: String? var powerModeEmoji: String? var transcriptionStatus: String? init(text: String, duration: TimeInterval, enhancedText: String? = nil, audioFileURL: String? = nil, transcriptionModelName: String? = nil, aiEnhancementModelName: String? = nil, promptName: String? = nil, transcriptionDuration: TimeInterval? = nil, enhancementDuration: TimeInterval? = nil, aiRequestSystemMessage: String? = nil, aiRequestUserMessage: String? = nil, powerModeName: String? = nil, powerModeEmoji: String? = nil, transcriptionStatus: TranscriptionStatus = .pending) { self.id = UUID() self.text = text self.enhancedText = enhancedText self.timestamp = Date() self.duration = duration self.audioFileURL = audioFileURL self.transcriptionModelName = transcriptionModelName self.aiEnhancementModelName = aiEnhancementModelName self.promptName = promptName self.transcriptionDuration = transcriptionDuration self.enhancementDuration = enhancementDuration self.aiRequestSystemMessage = aiRequestSystemMessage self.aiRequestUserMessage = aiRequestUserMessage self.powerModeName = powerModeName self.powerModeEmoji = powerModeEmoji self.transcriptionStatus = transcriptionStatus.rawValue } }