Radish alpha
h
Radicle Heartwood Protocol & Stack
Radicle
Git (anonymous pull)
Log in to clone via SSH
cli: verification of project for json errors only
Fintan Halpenny committed 1 year ago
commit c6d975799ac875b200da804febd982e462544ab6
parent f9c3523183efb8f789f3deaeac2babd23bfc536d
2 files changed +6 -6
modified radicle-cli/examples/rad-id-update-delete-field.md
@@ -74,5 +74,5 @@ Note that we cannot delete mandatory fields:

``` (fails)
$ rad id update --title "Delete default branch" --payload xyz.radicle.project defaultBranch null
-
✗ Error: failed to verify `xyz.radicle.project`, json: missing field `defaultBranch`
+
✗ Error: failed to verify `xyz.radicle.project`, missing field `defaultBranch`
```
modified radicle-cli/src/commands/id.rs
@@ -460,13 +460,13 @@ pub fn run(options: Options, ctx: impl term::Context) -> anyhow::Result<()> {
                        anyhow::bail!("payload `{id}` not found in identity document");
                    }
                }
-
                // Verify that the project payload can still be parsed into the
-
                // `Project` type.
-
                if let Err(e) = proposal.project() {
-
                    anyhow::bail!("failed to verify `xyz.radicle.project`, {e}");
-
                }
                proposal
            };
+
            // Verify that the project payload can still be parsed into the
+
            // `Project` type.
+
            if let Err(PayloadError::Json(e)) = proposal.project() {
+
                anyhow::bail!("failed to verify `xyz.radicle.project`, {e}");
+
            }
            let proposal = proposal.verified()?;
            if proposal == current.doc {
                if !options.quiet {