diff options
Diffstat (limited to 'vendor/github.com/matterbridge/Rocket.Chat.Go.SDK')
-rw-r--r-- | vendor/github.com/matterbridge/Rocket.Chat.Go.SDK/models/message.go | 18 | ||||
-rw-r--r-- | vendor/github.com/matterbridge/Rocket.Chat.Go.SDK/rest/channels.go | 41 |
2 files changed, 50 insertions, 9 deletions
diff --git a/vendor/github.com/matterbridge/Rocket.Chat.Go.SDK/models/message.go b/vendor/github.com/matterbridge/Rocket.Chat.Go.SDK/models/message.go index f3dc1c6f..6a82cdd1 100644 --- a/vendor/github.com/matterbridge/Rocket.Chat.Go.SDK/models/message.go +++ b/vendor/github.com/matterbridge/Rocket.Chat.Go.SDK/models/message.go @@ -77,8 +77,8 @@ type Attachment struct { // https://rocket.chat/docs/developer-guides/rest-api/chat/postmessage/ type AttachmentField struct { Short bool `json:"short"` - Title string `json:"title"` - Value string `json:"value"` + Title string `json:"title,omitempty"` + Value string `json:"value,omitempty"` } type AttachmentActionType string @@ -89,15 +89,15 @@ const ( // AttachmentAction are action buttons on message attachments type AttachmentAction struct { - Type AttachmentActionType `json:"type"` - Text string `json:"text"` - Url string `json:"url"` - ImageURL string `json:"image_url"` + Type AttachmentActionType `json:"type,omitempty"` + Text string `json:"text,omitempty"` + Url string `json:"url,omitempty"` + ImageURL string `json:"image_url,omitempty"` IsWebView bool `json:"is_webview"` - WebviewHeightRatio string `json:"webview_height_ratio"` - Msg string `json:"msg"` + WebviewHeightRatio string `json:"webview_height_ratio,omitempty"` + Msg string `json:"msg,omitempty"` MsgInChatWindow bool `json:"msg_in_chat_window"` - MsgProcessingType MessageProcessingType `json:"msg_processing_type"` + MsgProcessingType MessageProcessingType `json:"msg_processing_type,omitempty"` } // AttachmentActionButtonAlignment configures how the actions buttons will be aligned diff --git a/vendor/github.com/matterbridge/Rocket.Chat.Go.SDK/rest/channels.go b/vendor/github.com/matterbridge/Rocket.Chat.Go.SDK/rest/channels.go index d5c8fa85..473f957d 100644 --- a/vendor/github.com/matterbridge/Rocket.Chat.Go.SDK/rest/channels.go +++ b/vendor/github.com/matterbridge/Rocket.Chat.Go.SDK/rest/channels.go @@ -19,6 +19,17 @@ type ChannelResponse struct { Channel models.Channel `json:"channel"` } +type GroupsResponse struct { + Status + models.Pagination + Groups []models.Channel `json:"groups"` +} + +type GroupResponse struct { + Status + Group models.Channel `json:"group"` +} + // GetPublicChannels returns all channels that can be seen by the logged in user. // // https://rocket.chat/docs/developer-guides/rest-api/channels/list @@ -31,6 +42,19 @@ func (c *Client) GetPublicChannels() (*ChannelsResponse, error) { return response, nil } +// GetPrivateGroups returns all channels that can be seen by the logged in user. +// +// https://rocket.chat/docs/developer-guides/rest-api/groups/list +func (c *Client) GetPrivateGroups() (*GroupsResponse, error) { + response := new(GroupsResponse) + if err := c.Get("groups.list", nil, response); err != nil { + return nil, err + } + + return response, nil +} + + // GetJoinedChannels returns all channels that the user has joined. // // https://rocket.chat/docs/developer-guides/rest-api/channels/list-joined @@ -70,3 +94,20 @@ func (c *Client) GetChannelInfo(channel *models.Channel) (*models.Channel, error return &response.Channel, nil } +// GetGroupInfo get information about a group. That might be useful to update the usernames. +// +// https://rocket.chat/docs/developer-guides/rest-api/groups/info +func (c *Client) GetGroupInfo(channel *models.Channel) (*models.Channel, error) { + response := new(GroupResponse) + switch { + case channel.Name != "" && channel.ID == "": + if err := c.Get("groups.info", url.Values{"roomName": []string{channel.Name}}, response); err != nil { + return nil, err + } + default: + if err := c.Get("groups.info", url.Values{"roomId": []string{channel.ID}}, response); err != nil { + return nil, err + } + } + return &response.Group, nil +} |