summaryrefslogtreecommitdiff
path: root/legacy_actions/src/connection/error.rs
diff options
context:
space:
mode:
Diffstat (limited to 'legacy_actions/src/connection/error.rs')
-rw-r--r--legacy_actions/src/connection/error.rs27
1 files changed, 27 insertions, 0 deletions
diff --git a/legacy_actions/src/connection/error.rs b/legacy_actions/src/connection/error.rs
new file mode 100644
index 0000000..1a4e221
--- /dev/null
+++ b/legacy_actions/src/connection/error.rs
@@ -0,0 +1,27 @@
+use std::io;
+use thiserror::Error;
+use vcs_data::data::member::MemberId;
+
+#[derive(Error, Debug, Clone)]
+pub enum ConnectionError {
+ #[error("I/O error: {0}")]
+ Io(String),
+}
+
+#[derive(Error, Debug, Clone)]
+pub enum ProcessActionError {
+ #[error("Action `{0}` not registered")]
+ ActionNotRegistered(String),
+
+ #[error("Authorize `{0}` failed")]
+ AuthorizeFailed(MemberId),
+
+ #[error("Authorize host `{0}` failed")]
+ AuthorizeHostFailed(MemberId),
+}
+
+impl From<io::Error> for ConnectionError {
+ fn from(error: io::Error) -> Self {
+ ConnectionError::Io(error.to_string())
+ }
+}