Gh 19916 mmctl list deactivated users only (#26646)
Этот коммит содержится в:
@@ -8,6 +8,7 @@ import (
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"net/http"
|
||||
"net/url"
|
||||
"os"
|
||||
"sort"
|
||||
|
||||
@@ -320,6 +321,7 @@ func init() {
|
||||
ListUsersCmd.Flags().Int("per-page", DefaultPageSize, "Number of users to be fetched")
|
||||
ListUsersCmd.Flags().Bool("all", false, "Fetch all users. --page flag will be ignore if provided")
|
||||
ListUsersCmd.Flags().String("team", "", "If supplied, only users belonging to this team will be listed")
|
||||
ListUsersCmd.Flags().Bool("inactive", false, "If supplied, only users which are inactive will be fetch")
|
||||
|
||||
UserConvertCmd.Flags().Bool("bot", false, "If supplied, convert users to bots")
|
||||
UserConvertCmd.Flags().Bool("user", false, "If supplied, convert a bot to a user")
|
||||
@@ -798,6 +800,16 @@ auth_service: {{.AuthService}}`
|
||||
return nil
|
||||
}
|
||||
|
||||
func ResetListUsersCmd() *cobra.Command {
|
||||
ListUsersCmd.Flags().Set("page", "0")
|
||||
ListUsersCmd.Flags().Set("per-page", "200")
|
||||
ListUsersCmd.Flags().Set("all", "false")
|
||||
ListUsersCmd.Flags().Set("team", "")
|
||||
ListUsersCmd.Flags().Set("inactive", "false")
|
||||
|
||||
return ListUsersCmd
|
||||
}
|
||||
|
||||
func listUsersCmdF(c client.Client, command *cobra.Command, args []string) error {
|
||||
page, err := command.Flags().GetInt("page")
|
||||
if err != nil {
|
||||
@@ -815,6 +827,11 @@ func listUsersCmdF(c client.Client, command *cobra.Command, args []string) error
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
// if inactive, DeletedAt != 0
|
||||
inactive, err := command.Flags().GetBool("inactive")
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if showAll {
|
||||
page = 0
|
||||
@@ -829,21 +846,21 @@ func listUsersCmdF(c client.Client, command *cobra.Command, args []string) error
|
||||
}
|
||||
}
|
||||
|
||||
params := url.Values{}
|
||||
if inactive {
|
||||
params.Add("inactive", "true")
|
||||
}
|
||||
if team != nil {
|
||||
params.Add("in_team", team.Id)
|
||||
}
|
||||
|
||||
tpl := `{{.Id}}: {{.Username}} ({{.Email}})`
|
||||
for {
|
||||
var users []*model.User
|
||||
var err error
|
||||
if team != nil {
|
||||
users, _, err = c.GetUsersInTeam(context.TODO(), team.Id, page, perPage, "")
|
||||
if err != nil {
|
||||
return errors.Wrap(err, fmt.Sprintf("Failed to fetch users for team %s", teamName))
|
||||
}
|
||||
} else {
|
||||
users, _, err = c.GetUsers(context.TODO(), page, perPage, "")
|
||||
if err != nil {
|
||||
return errors.Wrap(err, "Failed to fetch users")
|
||||
}
|
||||
users, _, err := c.GetUsersWithCustomQueryParameters(context.TODO(), page, perPage, params.Encode(), "")
|
||||
if err != nil {
|
||||
return errors.Wrap(err, "Failed to fetch users")
|
||||
}
|
||||
|
||||
if len(users) == 0 {
|
||||
break
|
||||
}
|
||||
|
||||
Ссылка в новой задаче
Block a user