diff options
Diffstat (limited to 'crates/vcs/src/data')
| -rw-r--r-- | crates/vcs/src/data/sheet.rs | 9 | ||||
| -rw-r--r-- | crates/vcs/src/data/vault/sheets.rs | 18 |
2 files changed, 23 insertions, 4 deletions
diff --git a/crates/vcs/src/data/sheet.rs b/crates/vcs/src/data/sheet.rs index a6765c0..95599ff 100644 --- a/crates/vcs/src/data/sheet.rs +++ b/crates/vcs/src/data/sheet.rs @@ -71,6 +71,15 @@ impl<'a> Sheet<'a> { &self.data.inputs } + /// Get the names of the inputs of this sheet + pub fn input_names(&self) -> Vec<String> { + self.data + .inputs + .iter() + .map(|input| input.name.clone()) + .collect() + } + /// Get the mapping of this sheet pub fn mapping(&self) -> &HashMap<SheetPathBuf, VirtualFileId> { &self.data.mapping diff --git a/crates/vcs/src/data/vault/sheets.rs b/crates/vcs/src/data/vault/sheets.rs index 082c076..0bba4f5 100644 --- a/crates/vcs/src/data/vault/sheets.rs +++ b/crates/vcs/src/data/vault/sheets.rs @@ -154,6 +154,9 @@ impl Vault { /// and will not be used in the future. /// /// For a safer deletion method, consider using `delete_sheet_safety`. + /// + /// Note: This function is intended for server-side use only and should not be + /// arbitrarily called by other members to prevent unauthorized data deletion. pub async fn delete_sheet(&self, sheet_name: &SheetName) -> Result<(), std::io::Error> { let sheet_name = snake_case!(sheet_name.clone()); @@ -174,11 +177,18 @@ impl Vault { /// Safely delete the sheet /// - /// The sheet will be moved to the trash directory, ensuring it does not appear in the results of `sheets` and `sheet_names` methods. - /// However, if the sheet's holder attempts to access the sheet through the `sheet` method, the system will automatically restore it from the trash directory. - /// This means: the sheet will only permanently remain in the trash directory, waiting for manual cleanup by an administrator, when it is truly no longer in use. + /// The sheet will be moved to the trash directory, ensuring it does not appear in the + /// results of `sheets` and `sheet_names` methods. + /// However, if the sheet's holder attempts to access the sheet through the `sheet` method, + /// the system will automatically restore it from the trash directory. + /// This means: the sheet will only permanently remain in the trash directory, + /// waiting for manual cleanup by an administrator, when it is truly no longer in use. + /// + /// This is a safer deletion method because it provides the possibility of recovery, + /// avoiding irreversible data loss caused by accidental deletion. /// - /// This is a safer deletion method because it provides the possibility of recovery, avoiding irreversible data loss caused by accidental deletion. + /// Note: This function is intended for server-side use only and should not be + /// arbitrarily called by other members to prevent unauthorized data deletion. pub async fn delete_sheet_safely(&self, sheet_name: &SheetName) -> Result<(), std::io::Error> { let sheet_name = snake_case!(sheet_name.clone()); |
