Skip to content

Commit 41d677b

Browse files
committed
refactor(errors): add all snippet's errors to error framework
1 parent 316b157 commit 41d677b

2 files changed

Lines changed: 26 additions & 0 deletions

File tree

rustmail/src/errors/dictionary.rs

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -233,6 +233,22 @@ impl DictionaryManager {
233233
("release.ticket_already_taken".to_string(), None)
234234
}
235235
CommandError::AlertSetFailed => ("alert.alert_set_failed".to_string(), None),
236+
CommandError::SnippetNotFound(snippet) => {
237+
let mut params = HashMap::new();
238+
params.insert("key".to_string(), snippet.clone());
239+
("snippet.not_found".to_string(), Some(params))
240+
}
241+
CommandError::InvalidSnippetKeyFormat => {
242+
("snippet.invalid_key_format".to_string(), None)
243+
}
244+
CommandError::SnippetContentTooLong => {
245+
("snippet.content_too_long".to_string(), None)
246+
}
247+
CommandError::SnippetAlreadyExists(snippet) => {
248+
let mut params = HashMap::new();
249+
params.insert("key".to_string(), snippet.clone());
250+
("snippet.already_exist".to_string(), Some(params))
251+
}
236252
_ => ("command.invalid_format".to_string(), None),
237253
},
238254
ModmailError::Thread(thread_err) => match thread_err {

rustmail/src/errors/types.rs

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,10 @@ pub enum CommandError {
6464
TicketAlreadyTaken,
6565
TicketAlreadyReleased,
6666
AlertSetFailed,
67+
SnippetNotFound(String),
68+
SnippetAlreadyExists(String),
69+
InvalidSnippetKeyFormat,
70+
SnippetContentTooLong,
6771
}
6872

6973
#[derive(Debug, Clone)]
@@ -172,6 +176,12 @@ impl fmt::Display for CommandError {
172176
CommandError::TicketAlreadyTaken => write!(f, "Ticket already taken"),
173177
CommandError::TicketAlreadyReleased => write!(f, "Ticket already released"),
174178
CommandError::AlertSetFailed => write!(f, "Alert set failed"),
179+
CommandError::SnippetNotFound(name) => write!(f, "Snippet not found: {}", name),
180+
CommandError::InvalidSnippetKeyFormat => write!(f, "Invalid snippet key format"),
181+
CommandError::SnippetContentTooLong => write!(f, "Snippet content is too long"),
182+
CommandError::SnippetAlreadyExists(name) => {
183+
write!(f, "Snippet already exists: {}", name)
184+
}
175185
}
176186
}
177187
}

0 commit comments

Comments
 (0)