summaryrefslogtreecommitdiffstats
path: root/mattermost.go
diff options
context:
space:
mode:
authorKhoa LĂȘ <khoaln6@gmail.com>2016-06-01 03:16:17 +0700
committerJoram Wilander <jwawilander@gmail.com>2016-05-31 16:16:17 -0400
commit8a1da84d56eec002fb22df712b494229e3d7ee94 (patch)
treef3d62f11a364f08c6b200ef04e9e2a508bdf05a3 /mattermost.go
parent12f659372786c9b9dd3261b4663a4e840da64372 (diff)
downloadchat-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.go44
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)