func cmdJoinChannel() { if flagCmdJoinChannel { 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) } if len(flagChannelName) == 0 { fmt.Fprintln(os.Stderr, "flag needs an argument: -channel_name") flag.Usage() os.Exit(1) } if !utils.IsLicensed { fmt.Fprintln(os.Stderr, utils.T("cli.license.critical")) flag.Usage() os.Exit(1) } var team *model.Team 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(flagEmail); result.Err != nil { l4g.Error("%v", result.Err) flushLogAndExit(1) } else { user = result.Data.(*model.User) } var channel *model.Channel if result := <-api.Srv.Store.Channel().GetByName(team.Id, flagChannelName); result.Err != nil { l4g.Error("%v", result.Err) flushLogAndExit(1) } else { channel = result.Data.(*model.Channel) } _, err := api.AddUserToChannel(user, channel) if err != nil { l4g.Error("%v", err) flushLogAndExit(1) } os.Exit(0) } }
func addUserToChannel(channel *model.Channel, user *model.User, userArg string) { if user == nil { CommandPrintErrorln("Can't find user '" + userArg + "'") return } if _, err := api.AddUserToChannel(user, channel); err != nil { CommandPrintErrorln("Unable to add '" + userArg + "' from " + channel.Name + ". Error: " + err.Error()) } }