Add CLI command to search for users based on username, email, or user ID (#5918)

Этот коммит содержится в:
Simon Soriano
2017-04-05 10:42:21 -05:00
коммит произвёл Joram Wilander
родитель 5264d22d9c
Коммит 51608b583a

Просмотреть файл

@@ -119,6 +119,14 @@ var verifyUserCmd = &cobra.Command{
RunE: verifyUserCmdF, RunE: verifyUserCmdF,
} }
var searchUserCmd = &cobra.Command{
Use: "search [users]",
Short: "Search for users",
Long: "Search for users based on username, email, or user ID.",
Example: " user search user1@mail.com user2@mail.com",
RunE: searchUserCmdF,
}
func init() { func init() {
userCreateCmd.Flags().String("username", "", "Username") userCreateCmd.Flags().String("username", "", "Username")
userCreateCmd.Flags().String("email", "", "Email") userCreateCmd.Flags().String("email", "", "Email")
@@ -144,6 +152,7 @@ func init() {
deleteAllUsersCmd, deleteAllUsersCmd,
migrateAuthCmd, migrateAuthCmd,
verifyUserCmd, verifyUserCmd,
searchUserCmd,
) )
} }
@@ -431,3 +440,33 @@ func verifyUserCmdF(cmd *cobra.Command, args []string) error {
return nil return nil
} }
func searchUserCmdF(cmd *cobra.Command, args []string) error {
initDBCommandContextCobra(cmd)
if len(args) < 1 {
return errors.New("Enter at least one query.")
}
users := getUsersFromUserArgs(args)
for i, user := range users {
if i > 0 {
CommandPrettyPrintln("------------------------------")
}
if user == nil {
CommandPrintErrorln("Unable to find user '" + args[i] + "'")
continue
}
CommandPrettyPrintln("id: " + user.Id)
CommandPrettyPrintln("username: " + user.Username)
CommandPrettyPrintln("nickname: " + user.Nickname)
CommandPrettyPrintln("position: " + user.Position)
CommandPrettyPrintln("first_name: " + user.FirstName)
CommandPrettyPrintln("last_name: " + user.LastName)
CommandPrettyPrintln("email: " + user.Email)
CommandPrettyPrintln("auth_service: " + user.AuthService)
}
return nil
}