diff options
author | Vordimous <gsoi7vzireeyokoprf@thrott.com> | 2018-02-07 09:17:18 -0500 |
---|---|---|
committer | George Goldberg <george@gberg.me> | 2018-02-07 14:17:18 +0000 |
commit | 7bd298ceaa24c0721e0acd65692cb2d1ca4983f3 (patch) | |
tree | 870013c04c31b293e64404a8e74e16c2b1a94c33 /cmd/platform/channel.go | |
parent | d3e934d07ac0a58a24a435ea7c5b3bd222ef509a (diff) | |
download | chat-7bd298ceaa24c0721e0acd65692cb2d1ca4983f3.tar.gz chat-7bd298ceaa24c0721e0acd65692cb2d1ca4983f3.tar.bz2 chat-7bd298ceaa24c0721e0acd65692cb2d1ca4983f3.zip |
PLT-7537: Move channel CLI command posts system message to channel. (#8161)
* [PTL-7537] implement feature and test
* [PTL-7537] Update feature to post the the room requiring a username flag to be used
* [PTL-7537] update tests with username
* update test to remove changes to the test helper struct
* use the basic team and user
Diffstat (limited to 'cmd/platform/channel.go')
-rw-r--r-- | cmd/platform/channel.go | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/cmd/platform/channel.go b/cmd/platform/channel.go index 98bdcebb8..5d86ad9da 100644 --- a/cmd/platform/channel.go +++ b/cmd/platform/channel.go @@ -106,6 +106,8 @@ func init() { channelCreateCmd.Flags().String("purpose", "", "Channel purpose") channelCreateCmd.Flags().Bool("private", false, "Create a private channel.") + moveChannelsCmd.Flags().String("username", "", "Required. Username who is moving the channel.") + deleteChannelsCmd.Flags().Bool("confirm", false, "Confirm you really want to delete the channels.") modifyChannelCmd.Flags().Bool("private", false, "Convert the channel to a private channel") @@ -319,26 +321,33 @@ func moveChannelsCmdF(cmd *cobra.Command, args []string) error { return errors.New("Unable to find destination team '" + args[0] + "'") } + username, erru := cmd.Flags().GetString("username") + if erru != nil || username == "" { + return errors.New("Username is required") + } + user := getUserFromUserArg(a, username) + channels := getChannelsFromChannelArgs(a, args[1:]) for i, channel := range channels { if channel == nil { CommandPrintErrorln("Unable to find channel '" + args[i] + "'") continue } - if err := moveChannel(a, team, channel); err != nil { + originTeamID := channel.TeamId + if err := moveChannel(a, team, channel, user); err != nil { CommandPrintErrorln("Unable to move channel '" + channel.Name + "' error: " + err.Error()) } else { - CommandPrettyPrintln("Moved channel '" + channel.Name + "'") + CommandPrettyPrintln("Moved channel '" + channel.Name + "' to " + team.Name + "(" + team.Id + ") from " + originTeamID + ".") } } return nil } -func moveChannel(a *app.App, team *model.Team, channel *model.Channel) *model.AppError { +func moveChannel(a *app.App, team *model.Team, channel *model.Channel, user *model.User) *model.AppError { oldTeamId := channel.TeamId - if err := a.MoveChannel(team, channel); err != nil { + if err := a.MoveChannel(team, channel, user); err != nil { return err } |