summaryrefslogtreecommitdiff
path: root/crates/env/src/member
diff options
context:
space:
mode:
author魏曹先生 <1992414357@qq.com>2025-09-22 16:49:51 +0800
committer魏曹先生 <1992414357@qq.com>2025-09-22 16:49:51 +0800
commitb0ae3b3b5c8b005b3f7cb2b26b17ae521a38c669 (patch)
treeecb8883f1c53ea1602d50c8a57d59d8d3b2a177c /crates/env/src/member
parent23f09dabe279233a960786d5048266de7f216c12 (diff)
Modify the file structure
Diffstat (limited to 'crates/env/src/member')
-rw-r--r--crates/env/src/member/manager.rs105
1 files changed, 0 insertions, 105 deletions
diff --git a/crates/env/src/member/manager.rs b/crates/env/src/member/manager.rs
deleted file mode 100644
index a6a2b50..0000000
--- a/crates/env/src/member/manager.rs
+++ /dev/null
@@ -1,105 +0,0 @@
-use std::{
- fs,
- io::{Error, ErrorKind},
- path::PathBuf,
-};
-
-use cfg_file::config::ConfigFile;
-
-use crate::{
- constants::{SERVER_FILE_MEMBER_INFO, SERVER_FILE_MEMBER_PUB},
- current::current_vault_path,
- member::Member,
- vault::config::MemberUuid,
-};
-
-pub struct VaultMemberManager;
-
-const UUID_PARAM: &str = "{member_uuid}";
-
-impl VaultMemberManager {
- /// Read member from configuration file
- pub async fn member(uuid: MemberUuid) -> Result<Member, std::io::Error> {
- if let Some(cfg_file) = Self::member_cfg(uuid)? {
- let member = Member::read_from(cfg_file).await?;
- return Ok(member);
- }
-
- Err(Error::new(ErrorKind::NotFound, "Member not found!"))
- }
-
- /// Register a member to vault
- pub async fn register_member_to_vault(member: Member) -> Result<(), std::io::Error> {
- // Ensure member not exist
- if let Some(_) = Self::member_cfg(member.uuid())? {
- return Err(Error::new(
- ErrorKind::DirectoryNotEmpty,
- format!("Member `{}` already registered!", member.id()),
- ));
- }
-
- // Wrtie config file to member dir
- let member_cfg_path = Self::member_cfg_path(member.uuid())?;
- Member::write_to(&member, member_cfg_path).await?;
-
- Ok(())
- }
-
- /// Remove member from vault
- pub fn remove_member_from_vault(uuid: MemberUuid) -> Result<(), std::io::Error> {
- // Ensure member exist
- if let Some(member_cfg_path) = Self::member_cfg(uuid)? {
- fs::remove_file(member_cfg_path)?;
- }
-
- Ok(())
- }
-
- /// Try to get the member's configuration file to determine if the member exists
- pub fn member_cfg(uuid: MemberUuid) -> Result<Option<PathBuf>, std::io::Error> {
- let cfg_file = Self::member_cfg_path(uuid)?;
- if cfg_file.exists() {
- Ok(Some(cfg_file))
- } else {
- Ok(None)
- }
- }
-
- /// Try to get the member's public key file to determine if the member has login permission
- pub fn member_key(uuid: MemberUuid) -> Result<Option<PathBuf>, std::io::Error> {
- let key_file = Self::member_key_path(uuid)?;
- if key_file.exists() {
- Ok(Some(key_file))
- } else {
- Ok(None)
- }
- }
-
- /// Get the member's configuration file path, but do not check if the file exists
- pub fn member_cfg_path(uuid: MemberUuid) -> Result<PathBuf, std::io::Error> {
- // Has vault
- let Some(vault) = current_vault_path() else {
- return Err(Error::new(ErrorKind::NotFound, "Vault not found!"));
- };
-
- let path =
- vault.join(SERVER_FILE_MEMBER_INFO.replace(UUID_PARAM, uuid.to_string().as_str()));
- Ok(path)
- }
-
- /// Get the member's public key file path, but do not check if the file exists
- pub fn member_key_path(uuid: MemberUuid) -> Result<PathBuf, std::io::Error> {
- // Has vault
- let Some(vault) = current_vault_path() else {
- return Err(Error::new(ErrorKind::NotFound, "Vault not found!"));
- };
-
- let path =
- vault.join(SERVER_FILE_MEMBER_PUB.replace(UUID_PARAM, uuid.to_string().as_str()));
- Ok(path)
- }
-}
-
-pub struct UserMemberManager;
-
-impl UserMemberManager {}