summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author魏曹先生 <1992414357@qq.com>2025-12-26 08:20:35 +0800
committer魏曹先生 <1992414357@qq.com>2025-12-26 08:20:35 +0800
commit945804db3ae6cd298ca14d2db1ea5e1bcca17496 (patch)
tree380176e8c27de3bf7c44987f6e78320f3d888f32
parent0c030daa10120a53c9cc7283c6d5b08fd1623bae (diff)
Fix share name generation by removing file suffix
The share ID generation no longer includes the sheet file suffix. This simplifies share names to just "sharer@random" format.
-rw-r--r--crates/vcs_data/src/data/vault/sheet_share.rs12
-rw-r--r--crates/vcs_data/vcs_data_test/src/test_sheet_share_creation_and_management.rs15
2 files changed, 8 insertions, 19 deletions
diff --git a/crates/vcs_data/src/data/vault/sheet_share.rs b/crates/vcs_data/src/data/vault/sheet_share.rs
index 703d935..b62c74b 100644
--- a/crates/vcs_data/src/data/vault/sheet_share.rs
+++ b/crates/vcs_data/src/data/vault/sheet_share.rs
@@ -7,10 +7,7 @@ use string_proc::{format_path, snake_case};
use tokio::fs;
use crate::{
- constants::{
- SERVER_FILE_SHEET_SHARE, SERVER_PATH_SHARES, SERVER_SUFFIX_SHEET_FILE,
- SERVER_SUFFIX_SHEET_FILE_NO_DOT,
- },
+ constants::{SERVER_FILE_SHEET_SHARE, SERVER_PATH_SHARES, SERVER_SUFFIX_SHEET_FILE_NO_DOT},
data::{
member::MemberId,
sheet::{Sheet, SheetMappingMetadata, SheetName, SheetPathBuf},
@@ -77,7 +74,7 @@ impl Vault {
/// Get the path of a share item in a sheet
pub fn share_file_path(&self, sheet_name: &SheetName, share_id: &SheetShareId) -> PathBuf {
let sheet_name = snake_case!(sheet_name.clone());
- let share_id = snake_case!(share_id.clone());
+ let share_id = share_id.clone();
// Format the path to remove "./" prefix and normalize it
let path_str = SERVER_FILE_SHEET_SHARE
@@ -376,10 +373,7 @@ impl Share {
.take(8)
.map(char::from)
.collect();
- format!(
- "{}@{}{}",
- sharer_snake, random_part, SERVER_SUFFIX_SHEET_FILE
- )
+ format!("{}@{}", sharer_snake, random_part)
}
/// Delete a share (reject or remove the share item)
diff --git a/crates/vcs_data/vcs_data_test/src/test_sheet_share_creation_and_management.rs b/crates/vcs_data/vcs_data_test/src/test_sheet_share_creation_and_management.rs
index d5ccbc2..89891d6 100644
--- a/crates/vcs_data/vcs_data_test/src/test_sheet_share_creation_and_management.rs
+++ b/crates/vcs_data/vcs_data_test/src/test_sheet_share_creation_and_management.rs
@@ -2,7 +2,7 @@ use std::io::Error;
use cfg_file::config::ConfigFile;
use vcs_data::{
- constants::{SERVER_FILE_VAULT, SERVER_SUFFIX_SHEET_FILE},
+ constants::SERVER_FILE_VAULT,
data::{
member::{Member, MemberId},
sheet::{SheetName, SheetPathBuf},
@@ -622,15 +622,10 @@ async fn test_share_id_generation() -> Result<(), std::io::Error> {
assert_ne!(id1, id3);
assert_ne!(id2, id3);
- // IDs should contain sharer name and file suffix
- assert!(id1.contains("test_sharer"));
- assert!(id1.ends_with(SERVER_SUFFIX_SHEET_FILE));
-
- assert!(id2.contains("test_sharer"));
- assert!(id2.ends_with(SERVER_SUFFIX_SHEET_FILE));
-
- assert!(id3.contains("test_sharer"));
- assert!(id3.ends_with(SERVER_SUFFIX_SHEET_FILE));
+ // IDs should start with sharer name
+ assert!(id1.starts_with(&format!("test_sharer@")));
+ assert!(id2.starts_with(&format!("test_sharer@")));
+ assert!(id3.starts_with(&format!("test_sharer@")));
Ok(())
}