From 11cbb597471127c1b29e78e6cad0a1a4d93ea24c Mon Sep 17 00:00:00 2001 From: Christopher Speller Date: Thu, 17 May 2018 12:40:40 -0700 Subject: Renaming platform binary to mattermost. (#8801) --- cmd/mattermost/commands/command.go | 69 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 69 insertions(+) create mode 100644 cmd/mattermost/commands/command.go (limited to 'cmd/mattermost/commands/command.go') diff --git a/cmd/mattermost/commands/command.go b/cmd/mattermost/commands/command.go new file mode 100644 index 000000000..147cd823c --- /dev/null +++ b/cmd/mattermost/commands/command.go @@ -0,0 +1,69 @@ +// Copyright (c) 2017-present Mattermost, Inc. All Rights Reserved. +// See License.txt for license information. + +package commands + +import ( + "errors" + + "github.com/mattermost/mattermost-server/app" + "github.com/mattermost/mattermost-server/model" + "github.com/spf13/cobra" +) + +var CommandCmd = &cobra.Command{ + Use: "command", + Short: "Management of slash commands", +} + +var CommandMoveCmd = &cobra.Command{ + Use: "move", + Short: "Move a slash command to a different team", + Long: `Move a slash command to a different team. Commands can be specified by [team]:[command-trigger-word]. ie. myteam:trigger or by command ID.`, + Example: ` command move newteam oldteam:command`, + RunE: moveCommandCmdF, +} + +func init() { + CommandCmd.AddCommand( + CommandMoveCmd, + ) + RootCmd.AddCommand(CommandCmd) +} + +func moveCommandCmdF(command *cobra.Command, args []string) error { + a, err := InitDBCommandContextCobra(command) + if err != nil { + return err + } + defer a.Shutdown() + + if len(args) < 2 { + return errors.New("Enter the destination team and at least one comamnd to move.") + } + + team := getTeamFromTeamArg(a, args[0]) + if team == nil { + return errors.New("Unable to find destination team '" + args[0] + "'") + } + + commands := getCommandsFromCommandArgs(a, args[1:]) + CommandPrintErrorln(commands) + for i, command := range commands { + if command == nil { + CommandPrintErrorln("Unable to find command '" + args[i+1] + "'") + continue + } + if err := moveCommand(a, team, command); err != nil { + CommandPrintErrorln("Unable to move command '" + command.Trigger + "' error: " + err.Error()) + } else { + CommandPrettyPrintln("Moved command '" + command.Trigger + "'") + } + } + + return nil +} + +func moveCommand(a *app.App, team *model.Team, command *model.Command) *model.AppError { + return a.MoveCommand(team, command) +} -- cgit v1.2.3-1-g7c22