From b1d571fd730efe257423ee1fcd00ff4121e24ebd Mon Sep 17 00:00:00 2001 From: 魏曹先生 <1992414357@qq.com> Date: Fri, 23 Jan 2026 04:10:00 +0800 Subject: Add local actions modules and ProcessActionError enum - Add local_actions module with account_manage and current_sheet submodules - Add ProcessActionError enum with authorization and registration variants - Add missing import for MemberId in error module --- actions/src/connection/error.rs | 13 +++++++++++++ actions/src/local_actions.rs | 2 ++ actions/src/local_actions/account_manage.rs | 3 +++ .../src/local_actions/account_manage/register_account.rs | 0 actions/src/local_actions/account_manage/remove_account.rs | 0 actions/src/local_actions/account_manage/switch_account.rs | 0 actions/src/local_actions/current_sheet.rs | 2 ++ actions/src/local_actions/current_sheet/exit_sheet.rs | 0 actions/src/local_actions/current_sheet/use_sheet.rs | 0 9 files changed, 20 insertions(+) create mode 100644 actions/src/local_actions/account_manage.rs create mode 100644 actions/src/local_actions/account_manage/register_account.rs create mode 100644 actions/src/local_actions/account_manage/remove_account.rs create mode 100644 actions/src/local_actions/account_manage/switch_account.rs create mode 100644 actions/src/local_actions/current_sheet.rs create mode 100644 actions/src/local_actions/current_sheet/exit_sheet.rs create mode 100644 actions/src/local_actions/current_sheet/use_sheet.rs diff --git a/actions/src/connection/error.rs b/actions/src/connection/error.rs index 241c16e..1a4e221 100644 --- a/actions/src/connection/error.rs +++ b/actions/src/connection/error.rs @@ -1,5 +1,6 @@ use std::io; use thiserror::Error; +use vcs_data::data::member::MemberId; #[derive(Error, Debug, Clone)] pub enum ConnectionError { @@ -7,6 +8,18 @@ pub enum ConnectionError { 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 for ConnectionError { fn from(error: io::Error) -> Self { ConnectionError::Io(error.to_string()) diff --git a/actions/src/local_actions.rs b/actions/src/local_actions.rs index e69de29..d6f47f9 100644 --- a/actions/src/local_actions.rs +++ b/actions/src/local_actions.rs @@ -0,0 +1,2 @@ +pub mod account_manage; +pub mod current_sheet; diff --git a/actions/src/local_actions/account_manage.rs b/actions/src/local_actions/account_manage.rs new file mode 100644 index 0000000..03a7851 --- /dev/null +++ b/actions/src/local_actions/account_manage.rs @@ -0,0 +1,3 @@ +pub mod register_account; +pub mod remove_account; +pub mod switch_account; diff --git a/actions/src/local_actions/account_manage/register_account.rs b/actions/src/local_actions/account_manage/register_account.rs new file mode 100644 index 0000000..e69de29 diff --git a/actions/src/local_actions/account_manage/remove_account.rs b/actions/src/local_actions/account_manage/remove_account.rs new file mode 100644 index 0000000..e69de29 diff --git a/actions/src/local_actions/account_manage/switch_account.rs b/actions/src/local_actions/account_manage/switch_account.rs new file mode 100644 index 0000000..e69de29 diff --git a/actions/src/local_actions/current_sheet.rs b/actions/src/local_actions/current_sheet.rs new file mode 100644 index 0000000..785d7ee --- /dev/null +++ b/actions/src/local_actions/current_sheet.rs @@ -0,0 +1,2 @@ +pub mod exit_sheet; +pub mod use_sheet; diff --git a/actions/src/local_actions/current_sheet/exit_sheet.rs b/actions/src/local_actions/current_sheet/exit_sheet.rs new file mode 100644 index 0000000..e69de29 diff --git a/actions/src/local_actions/current_sheet/use_sheet.rs b/actions/src/local_actions/current_sheet/use_sheet.rs new file mode 100644 index 0000000..e69de29 -- cgit