Files
transcript/src-tauri/src/error.rs
T

38 lines
1.1 KiB
Rust

use serde::Serialize;
use thiserror::Error;
pub type AppResult<T> = Result<T, AppError>;
#[derive(Debug, Error, Serialize, Clone, PartialEq, Eq)]
#[serde(tag = "code", content = "message")]
pub enum AppError {
#[error("modelo offline não instalado: {0}")]
ModelNotInstalled(String),
#[error("sidecar CrispASR não configurado")]
SidecarNotConfigured,
#[error("gravação já está em andamento")]
RecordingAlreadyActive,
#[error("nenhuma gravação ativa")]
NoActiveRecording,
#[error("operação ainda não suportada neste ambiente: {0}")]
Unsupported(String),
#[error("erro de configuração: {0}")]
Configuration(String),
#[error("erro de E/S: {0}")]
Io(String),
#[error("erro de rede: {0}")]
Network(String),
#[error("modelo offline inválido: {0}")]
InvalidModel(String),
#[error("erro de áudio: {0}")]
Audio(String),
#[error("transcrição falhou: {0}")]
Transcription(String),
}
impl From<AppError> for String {
fn from(value: AppError) -> Self {
value.to_string()
}
}