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: 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
|
||||
};
|
||||
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)?;
|
||||
|
||||
if revision.is_accepted() && revision.parent == Some(current.id) {
|
||||
|
|
|
|||
Loading…
Reference in New Issue