diff options
author | Khoa LĂȘ <khoaln6@gmail.com> | 2016-06-01 03:16:17 +0700 |
---|---|---|
committer | Joram Wilander <jwawilander@gmail.com> | 2016-05-31 16:16:17 -0400 |
commit | 8a1da84d56eec002fb22df712b494229e3d7ee94 (patch) | |
tree | f3d62f11a364f08c6b200ef04e9e2a508bdf05a3 /mattermost.go | |
parent | 12f659372786c9b9dd3261b4663a4e840da64372 (diff) | |
download | chat-8a1da84d56eec002fb22df712b494229e3d7ee94.tar.gz chat-8a1da84d56eec002fb22df712b494229e3d7ee94.tar.bz2 chat-8a1da84d56eec002fb22df712b494229e3d7ee94.zip |
PLT-2063: Add CLI option to invite user by email (#3148)
* PLT-2063: Add CLI option to invite user by email
* fixed problem about gofmt
Diffstat (limited to 'mattermost.go')
-rw-r--r-- | mattermost.go | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/mattermost.go b/mattermost.go index 44eed457d..9929f5973 100644 --- a/mattermost.go +++ b/mattermost.go @@ -43,6 +43,7 @@ import ( var flagCmdUpdateDb30 bool var flagCmdCreateTeam bool var flagCmdCreateUser bool +var flagCmdInviteUser bool var flagCmdAssignRole bool var flagCmdJoinTeam bool var flagCmdVersion bool @@ -259,6 +260,7 @@ func parseCmds() { flag.BoolVar(&flagCmdUpdateDb30, "upgrade_db_30", false, "") flag.BoolVar(&flagCmdCreateTeam, "create_team", false, "") flag.BoolVar(&flagCmdCreateUser, "create_user", false, "") + flag.BoolVar(&flagCmdInviteUser, "invite_user", false, "") flag.BoolVar(&flagCmdAssignRole, "assign_role", false, "") flag.BoolVar(&flagCmdJoinTeam, "join_team", false, "") flag.BoolVar(&flagCmdVersion, "version", false, "") @@ -276,6 +278,7 @@ func parseCmds() { flagRunCmds = (flagCmdCreateTeam || flagCmdCreateUser || + flagCmdInviteUser || flagCmdAssignRole || flagCmdJoinTeam || flagCmdResetPassword || @@ -295,6 +298,7 @@ func runCmds() { cmdRunClientTests() cmdCreateTeam() cmdCreateUser() + cmdInviteUser() cmdAssignRole() cmdJoinTeam() cmdResetPassword() @@ -788,6 +792,46 @@ func cmdCreateUser() { } } +func cmdInviteUser() { + if flagCmdInviteUser { + if len(flagTeamName) == 0 { + fmt.Fprintln(os.Stderr, "flag needs an argument: -team_name") + flag.Usage() + os.Exit(1) + } + + if len(flagEmail) == 0 { + fmt.Fprintln(os.Stderr, "flag needs an argument: -email") + flag.Usage() + os.Exit(1) + } + + var team *model.Team + if len(flagTeamName) > 0 { + if result := <-api.Srv.Store.Team().GetByName(flagTeamName); result.Err != nil { + l4g.Error("%v", result.Err) + flushLogAndExit(1) + } else { + team = result.Data.(*model.Team) + } + } + + var user *model.User + if result := <-api.Srv.Store.User().GetByEmail(team.Email); result.Err != nil { + l4g.Error("%v", result.Err) + flushLogAndExit(1) + } else { + user = result.Data.(*model.User) + } + + invites := []string{flagEmail} + c := getMockContext() + api.InviteMembers(c, team, user, invites) + + os.Exit(0) + } +} + func cmdVersion() { if flagCmdVersion { fmt.Fprintln(os.Stderr, "Version: "+model.CurrentVersion) |