From 12156fa5d039b64f0cc1d9fcc311bc601830b758 Mon Sep 17 00:00:00 2001 From: Alberto Ricart Date: Thu, 30 May 2024 16:38:07 -0500 Subject: [PATCH] [FIX] relaxed requirement for the operator key when deleting an user if --revoke was not specified. (#653) * [FIX] relaxed requirement for the operator key when deleting an user if --revoke was not specified. Fixes #652 --- cmd/deleteuser.go | 6 ++++-- cmd/deleteuser_test.go | 21 +++++++++++++++++++++ 2 files changed, 25 insertions(+), 2 deletions(-) diff --git a/cmd/deleteuser.go b/cmd/deleteuser.go index 8fd50be3..3e5c6df4 100644 --- a/cmd/deleteuser.go +++ b/cmd/deleteuser.go @@ -166,8 +166,10 @@ func (p *DeleteUserParams) Validate(ctx ActionCtx) error { } } - if err := p.SignerParams.Resolve(ctx); err != nil { - return err + if p.revoke { + if err := p.SignerParams.Resolve(ctx); err != nil { + return err + } } return nil diff --git a/cmd/deleteuser_test.go b/cmd/deleteuser_test.go index e947d05e..f73f0f9f 100644 --- a/cmd/deleteuser_test.go +++ b/cmd/deleteuser_test.go @@ -159,3 +159,24 @@ func Test_DeleteUserFromDiffAccountInteractive(t *testing.T) { _, err = os.Stat(ts.KeyStore.GetUserCredsPath("A", "a")) require.True(t, os.IsNotExist(err)) } + +//func Test_RevokeUserRequiresOperatorKey(t *testing.T) { +// ts := NewTestStore(t, "O") +// defer ts.Done(t) +// +// ts.AddAccount(t, "A") +// ts.AddUser(t, "A", "U") +// +// _, err := ts.Store.ReadUserClaim("A", "U") +// require.NoError(t, err) +// +// opk, err := ts.Store.GetRootPublicKey() +// require.NoError(t, err) +// require.NoError(t, ts.KeyStore.Remove(opk)) +// +// _, _, err = ExecuteCmd(createDeleteUserCmd(), "--name", "U", "--revoke") +// require.Error(t, err) +// +// _, _, err = ExecuteCmd(createDeleteUserCmd(), "--name", "U") +// require.NoError(t, err) +//}