mirror of
https://github.com/kopia/kopia.git
synced 2025-12-23 22:57:50 -05:00
Remove unused-parameter exclusion for `ctx` in revive linter. --------- Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com> Co-authored-by: Matthieu MOREL <matthieu.morel35@gmail.com>
53 lines
1.4 KiB
Go
53 lines
1.4 KiB
Go
package cli
|
|
|
|
import (
|
|
"context"
|
|
|
|
"github.com/pkg/errors"
|
|
|
|
"github.com/kopia/kopia/internal/user"
|
|
"github.com/kopia/kopia/repo"
|
|
)
|
|
|
|
type commandServerUserHashPassword struct {
|
|
password string
|
|
|
|
out textOutput
|
|
}
|
|
|
|
func (c *commandServerUserHashPassword) setup(svc appServices, parent commandParent) {
|
|
cmd := parent.Command("hash-password", "Hash a user password that can be passed to the 'server user add/set' command").Alias("hash")
|
|
|
|
cmd.Flag("user-password", "Password").StringVar(&c.password)
|
|
|
|
cmd.Action(svc.repositoryWriterAction(c.runServerUserHashPassword))
|
|
|
|
c.out.setup(svc)
|
|
}
|
|
|
|
// The current implementation does not require a connected repository, thus the
|
|
// RepositoryWriter parameter is not used. Future implementations will need a
|
|
// connected repository. To avoid a future incompatible change where the
|
|
// 'hash-password' command stops working without a connected repository,
|
|
// a connected repository is required now.
|
|
func (c *commandServerUserHashPassword) runServerUserHashPassword(_ context.Context, _ repo.RepositoryWriter) error {
|
|
if c.password == "" {
|
|
// when password hash is empty, ask for password
|
|
pwd, err := askConfirmPass(c.out.stdout(), "Enter password to hash: ")
|
|
if err != nil {
|
|
return errors.Wrap(err, "error getting password")
|
|
}
|
|
|
|
c.password = pwd
|
|
}
|
|
|
|
h, err := user.HashPassword(c.password)
|
|
if err != nil {
|
|
return errors.Wrap(err, "hashing password")
|
|
}
|
|
|
|
c.out.printStdout("%s\n", h)
|
|
|
|
return nil
|
|
}
|