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}