[MM-21466] delete users cmd return err (#31191)
* refactored error managment for deleteUsersCmdF * updated tests related to deleteUsersCmdF * updated user_e2e_test to reflect changes made to the deleteUsersCmdF function * Empty-Commit to retrigger workflow * applied gofmt formating reqs to user_test.go * added suggested changes to the deleteUsersCmdF regarding error gathering * added requested changes regarding error aggragation on deleteUsersCmdF * style(mmctl): removing trailing whitespace * feat(mmctl): returning errors in deleteUserCmdF on err * fix(mmctl): returns when err parsing args * test(mmctl): updated tests to expect err instead of reading printer * style: updating returned errs * tests: updated test to reflect error change * tests(mmctl): updated e2e DeleteUserCmd test * Update server/cmd/mmctl/commands/user.go Co-authored-by: Ben Schumacher <ben.schumacher@mattermost.com> * refactor: changing error to return username instead of email * refactor: changing email to username for errors --------- Co-authored-by: Arnaud Wanet <andrewwanet9@gmail.com> Co-authored-by: Antonis Stamatiou <stamatiou.antonis@gmail.com> Co-authored-by: Ben Schumacher <ben.schumacher@mattermost.com>
Этот коммит содержится в:
@@ -738,24 +738,30 @@ func deleteUsersCmdF(c client.Client, cmd *cobra.Command, args []string) error {
|
||||
|
||||
users, err := getUsersFromArgs(c, args)
|
||||
if err != nil {
|
||||
printer.PrintError(err.Error())
|
||||
return err
|
||||
}
|
||||
|
||||
var errs *multierror.Error
|
||||
for i, user := range users {
|
||||
if user == nil {
|
||||
printer.PrintError("Unable to find user '" + args[i] + "'")
|
||||
continue
|
||||
}
|
||||
if res, err := c.PermanentDeleteUser(context.TODO(), user.Id); err != nil {
|
||||
printer.PrintError("Unable to delete user '" + user.Username + "' error: " + err.Error())
|
||||
errs = multierror.Append(errs,
|
||||
fmt.Errorf("unable to delete user %s error: %w", user.Username, err))
|
||||
} else {
|
||||
// res.StatusCode is checked for 202 to identify issues with file deletion.
|
||||
if res.StatusCode == http.StatusAccepted {
|
||||
printer.PrintError("There were issues with deleting profile image of the user. Please delete it manually. Id: " + user.Id)
|
||||
errs = multierror.Append(errs,
|
||||
fmt.Errorf("unable to delete the profile image of the user, please delete it manually, id:%s", user.Username))
|
||||
continue
|
||||
}
|
||||
printer.PrintT("Deleted user '{{.Username}}'", user)
|
||||
}
|
||||
}
|
||||
return nil
|
||||
|
||||
return errs.ErrorOrNil()
|
||||
}
|
||||
|
||||
func deleteAllUsersCmdF(c client.Client, cmd *cobra.Command, args []string) error {
|
||||
|
||||
Ссылка в новой задаче
Block a user