(ctx context.Context, rep repo.DirectRepositoryWriter)
| 23 | } |
| 24 | |
| 25 | func (c *commandRepositoryChangePassword) run(ctx context.Context, rep repo.DirectRepositoryWriter) error { |
| 26 | var newPass string |
| 27 | |
| 28 | if c.newPassword == "" { |
| 29 | n, err := askForChangedRepositoryPassword(c.svc.stdout()) |
| 30 | if err != nil { |
| 31 | return err |
| 32 | } |
| 33 | |
| 34 | newPass = n |
| 35 | } else { |
| 36 | newPass = c.newPassword |
| 37 | } |
| 38 | |
| 39 | if err := rep.FormatManager().ChangePassword(ctx, newPass); err != nil { |
| 40 | return errors.Wrap(err, "unable to change password") |
| 41 | } |
| 42 | |
| 43 | log(ctx).Infof(`NOTE: Repository password has been changed.`) |
| 44 | |
| 45 | if err := c.svc.passwordPersistenceStrategy().PersistPassword(ctx, c.svc.repositoryConfigFileName(), newPass); err != nil { |
| 46 | return errors.Wrap(err, "unable to persist password") |
| 47 | } |
| 48 | |
| 49 | return nil |
| 50 | } |
nothing calls this directly
no test coverage detected