cli: error on no id update
If `rad id` is called with no arguments, or just `--title` and `--description`, then it will fail because there were no changes made to the identity. Check if the `proposal` document is the same the `current` document, and if so supply a hint and a better error. Signed-off-by: Fintan Halpenny <fintan.halpenny@gmail.com> X-Clacks-Overhead: GNU Terry Pratchett
This commit is contained in:
parent
864ca656c0
commit
18fc41c53f
|
|
@ -147,3 +147,11 @@ $ rad id update --title "Add Eve" --description "Add Eve as a delegate" --delega
|
||||||
✗ Error: missing delegate z6MkedT…47fovFn in local storage
|
✗ Error: missing delegate z6MkedT…47fovFn in local storage
|
||||||
✗ Error: fatal: refusing to update identity document
|
✗ Error: fatal: refusing to update identity document
|
||||||
```
|
```
|
||||||
|
|
||||||
|
If no updates are specified then the update will fail:
|
||||||
|
|
||||||
|
``` (fail)
|
||||||
|
$ rad id update --title "Update canonical branch" --description "Update the canonical branch to `main`"
|
||||||
|
✗ Error: no update specified
|
||||||
|
✗ Hint: an update to the identity must be specified, run `rad id update -h` to see the available options
|
||||||
|
```
|
||||||
|
|
|
||||||
|
|
@ -380,6 +380,12 @@ pub fn run(options: Options, ctx: impl term::Context) -> anyhow::Result<()> {
|
||||||
}
|
}
|
||||||
proposal
|
proposal
|
||||||
};
|
};
|
||||||
|
if proposal == current.doc {
|
||||||
|
return Err(Error::WithHint {
|
||||||
|
err: anyhow!("no update specified"),
|
||||||
|
hint: "an update to the identity must be specified, run `rad id update -h` to see the available options"
|
||||||
|
}.into());
|
||||||
|
}
|
||||||
let revision = update(title, description, proposal, &mut identity, &signer)?;
|
let revision = update(title, description, proposal, &mut identity, &signer)?;
|
||||||
|
|
||||||
if revision.is_accepted() && revision.parent == Some(current.id) {
|
if revision.is_accepted() && revision.parent == Some(current.id) {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue