diff --git a/.changes/default-permissions-doc.md b/.changes/default-permissions-doc.md new file mode 100644 index 000000000..4e8bc57ba --- /dev/null +++ b/.changes/default-permissions-doc.md @@ -0,0 +1,5 @@ +--- +tauri-utils: "minor:bug" +--- + +Only write `This default permission set includes the following` to the reference if the default permission set is not empty diff --git a/crates/tauri-utils/src/acl/build.rs b/crates/tauri-utils/src/acl/build.rs index 9b339e2a1..266b15e46 100644 --- a/crates/tauri-utils/src/acl/build.rs +++ b/crates/tauri-utils/src/acl/build.rs @@ -326,11 +326,9 @@ pub fn generate_docs( out_dir: &Path, plugin_identifier: &str, ) -> Result<(), Error> { + let mut default_permission = "".to_owned(); let mut permission_table = "".to_string(); - let mut default_permission = "## Default Permission\n\n".to_string(); - let mut contains_default = false; - fn docs_from(id: &str, description: Option<&str>, plugin_identifier: &str) -> String { let mut docs = format!("\n\n\n\n`{plugin_identifier}:{id}`\n\n\n"); if let Some(d) = description { @@ -351,15 +349,16 @@ pub fn generate_docs( } if let Some(default) = &permission.default { - contains_default = true; - - default_permission.push_str(default.description.as_deref().unwrap_or_default()); + default_permission.push_str("## Default Permission\n\n"); + default_permission.push_str(default.description.as_deref().unwrap_or_default().trim()); default_permission.push('\n'); default_permission.push('\n'); - default_permission.push_str("#### This default permission set includes the following:\n"); - default_permission.push('\n'); - for permission in &default.permissions { - default_permission.push_str(&format!("- `{permission}`\n")); + if !default.permissions.is_empty() { + default_permission.push_str("#### This default permission set includes the following:\n\n"); + for permission in &default.permissions { + default_permission.push_str(&format!("- `{permission}`\n")); + } + default_permission.push('\n'); } } @@ -373,12 +372,7 @@ pub fn generate_docs( } } - if !contains_default { - default_permission = "".to_string(); - } - - let docs = - format!("{default_permission}\n{PERMISSION_TABLE_HEADER}\n{permission_table}\n"); + let docs = format!("{default_permission}{PERMISSION_TABLE_HEADER}\n{permission_table}\n"); let reference_path = out_dir.join(PERMISSION_DOCS_FILE_NAME); write_if_changed(&reference_path, docs).map_err(|e| Error::WriteFile(e, reference_path))?; diff --git a/examples/api/src-tauri/tauri-plugin-sample/permissions/autogenerated/reference.md b/examples/api/src-tauri/tauri-plugin-sample/permissions/autogenerated/reference.md index f6c599938..7e67267d2 100644 --- a/examples/api/src-tauri/tauri-plugin-sample/permissions/autogenerated/reference.md +++ b/examples/api/src-tauri/tauri-plugin-sample/permissions/autogenerated/reference.md @@ -1,4 +1,3 @@ - ## Permission Table