diff options
author | Yusuke Nemoto <kaakaa@users.noreply.github.com> | 2016-12-10 13:35:16 +0900 |
---|---|---|
committer | Joram Wilander <jwawilander@gmail.com> | 2016-12-09 23:35:16 -0500 |
commit | ddacfa58ba25002a7c3c35a1fe89898bb6e78c0a (patch) | |
tree | ab2855d58eba639a6cefef6ff6299eee3d0f802d /model | |
parent | cb870c83d1f3135b2b339f3444cfa7c632c4d5bd (diff) | |
download | chat-ddacfa58ba25002a7c3c35a1fe89898bb6e78c0a.tar.gz chat-ddacfa58ba25002a7c3c35a1fe89898bb6e78c0a.tar.bz2 chat-ddacfa58ba25002a7c3c35a1fe89898bb6e78c0a.zip |
PLT-1598 Slash command works in RHS (#4367)
* PLT-1598 Slash command works in RHS
* fix UserProfile in the reply for Slash Command
* fix some problem about the system messages in RHS
* system message in RHS isn't displayed as comment for root message
* remove status indicator for system message in RHS
* system message in RHS is colored to grey
* system messages don't count as commented post
* fix bug about cleaning draft in RHS
* remove unnecessary function
* implement new model for executing command
Diffstat (limited to 'model')
-rw-r--r-- | model/client.go | 9 | ||||
-rw-r--r-- | model/command_args.go | 36 |
2 files changed, 39 insertions, 6 deletions
diff --git a/model/client.go b/model/client.go index 510ba461f..951b3388a 100644 --- a/model/client.go +++ b/model/client.go @@ -826,12 +826,9 @@ func (c *Client) EmailToLDAP(m map[string]string) (*Result, *AppError) { } } -func (c *Client) Command(channelId string, command string, suggest bool) (*Result, *AppError) { - m := make(map[string]string) - m["command"] = command - m["channelId"] = channelId - m["suggest"] = strconv.FormatBool(suggest) - if r, err := c.DoApiPost(c.GetTeamRoute()+"/commands/execute", MapToJson(m)); err != nil { +func (c *Client) Command(channelId string, command string) (*Result, *AppError) { + args := &CommandArgs{ChannelId: channelId, Command: command} + if r, err := c.DoApiPost(c.GetTeamRoute()+"/commands/execute", args.ToJson()); err != nil { return nil, err } else { defer closeBody(r) diff --git a/model/command_args.go b/model/command_args.go new file mode 100644 index 000000000..4da5dc760 --- /dev/null +++ b/model/command_args.go @@ -0,0 +1,36 @@ +// Copyright (c) 2016 Mattermost, Inc. All Rights Reserved. +// See License.txt for license information. + +package model + +import ( + "encoding/json" + "io" +) + +type CommandArgs struct { + ChannelId string `json:"channel_id"` + RootId string `json:"root_id"` + ParentId string `json:"parent_id"` + Command string `json:"command"` +} + +func (o *CommandArgs) ToJson() string { + b, err := json.Marshal(o) + if err != nil { + return "" + } else { + return string(b) + } +} + +func CommandArgsFromJson(data io.Reader) *CommandArgs { + decoder := json.NewDecoder(data) + var o CommandArgs + err := decoder.Decode(&o) + if err == nil { + return &o + } else { + return nil + } +} |