rusnap_build/
snap.rs

1use anyhow::Result;
2use serde_json::Value;
3
4use crate::SnapConfig;
5
6pub(crate) fn build_snap_manifest(s: &str, config: &SnapConfig) -> Result<String> {
7    let mut v: Value = serde_json::from_str(s)?;
8
9    let pss = &mut v["initialPermissions"];
10
11    if let Some(permission) = &config.permissions {
12        permission.build_json(pss);
13    }
14
15    Ok(serde_json::to_string_pretty(&v)?)
16}