1use std::path::PathBuf;
4
5pub type ClipResult<T> = Result<T, ClipError>;
7
8#[derive(Debug, thiserror::Error)]
10pub enum ClipError {
11 #[cfg(not(target_arch = "wasm32"))]
13 #[error("Database error: {0}")]
14 Database(#[from] sqlx::Error),
15
16 #[error("Clip not found: {0}")]
18 ClipNotFound(String),
19
20 #[error("Bin not found: {0}")]
22 BinNotFound(String),
23
24 #[error("Folder not found: {0}")]
26 FolderNotFound(String),
27
28 #[error("Collection not found: {0}")]
30 CollectionNotFound(String),
31
32 #[error("Marker not found: {0}")]
34 MarkerNotFound(String),
35
36 #[error("Note not found: {0}")]
38 NoteNotFound(String),
39
40 #[error("Take not found: {0}")]
42 TakeNotFound(String),
43
44 #[error("Invalid timecode: {0}")]
46 InvalidTimecode(String),
47
48 #[error("Invalid rating: {0}")]
50 InvalidRating(i32),
51
52 #[error("Invalid proxy quality: {0}")]
54 InvalidProxyQuality(String),
55
56 #[error("File not found: {0}")]
58 FileNotFound(PathBuf),
59
60 #[error("I/O error: {0}")]
62 Io(#[from] std::io::Error),
63
64 #[error("Serialization error: {0}")]
66 Serialization(String),
67
68 #[error("Invalid smart collection rule: {0}")]
70 InvalidSmartRule(String),
71
72 #[error("Export error: {0}")]
74 Export(String),
75
76 #[error("Import error: {0}")]
78 Import(String),
79}