初步集成消息通道,支持Telegram + Lark机器人
This commit is contained in:
39
src-tauri/src/chat_channel/error.rs
Normal file
39
src-tauri/src/chat_channel/error.rs
Normal file
@@ -0,0 +1,39 @@
|
||||
use crate::app_error::AppCommandError;
|
||||
|
||||
#[derive(Debug, thiserror::Error)]
|
||||
pub enum ChatChannelError {
|
||||
#[error("connection failed: {0}")]
|
||||
ConnectionFailed(String),
|
||||
#[error("send failed: {0}")]
|
||||
SendFailed(String),
|
||||
#[error("authentication failed: {0}")]
|
||||
AuthenticationFailed(String),
|
||||
#[error("configuration invalid: {0}")]
|
||||
ConfigurationInvalid(String),
|
||||
#[error("not connected")]
|
||||
NotConnected,
|
||||
#[error("already connected")]
|
||||
AlreadyConnected,
|
||||
#[error("channel not found: {0}")]
|
||||
NotFound(i32),
|
||||
#[error("{0}")]
|
||||
Other(String),
|
||||
}
|
||||
|
||||
impl From<ChatChannelError> for AppCommandError {
|
||||
fn from(err: ChatChannelError) -> Self {
|
||||
match &err {
|
||||
ChatChannelError::NotFound(_) => AppCommandError::not_found(err.to_string()),
|
||||
ChatChannelError::AuthenticationFailed(_) => {
|
||||
AppCommandError::authentication_failed(err.to_string())
|
||||
}
|
||||
ChatChannelError::ConfigurationInvalid(_) => {
|
||||
AppCommandError::configuration_invalid(err.to_string())
|
||||
}
|
||||
ChatChannelError::ConnectionFailed(_) | ChatChannelError::SendFailed(_) => {
|
||||
AppCommandError::network(err.to_string())
|
||||
}
|
||||
_ => AppCommandError::task_execution_failed(err.to_string()),
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user