Documentation ¶
Overview ¶
Package rest provides a RocketChat rest client.
Index ¶
- Variables
- type ChannelMembersResponse
- type ChannelMessagesResponse
- type ChannelResponse
- type ChannelsResponse
- type Client
- func (c *Client) AddOwnerGroup(group *models.InviteGroupRequest) (*models.Group, error)
- func (c *Client) CreateGroup(group *models.CreateGroupRequest) (*models.Group, error)
- func (c *Client) CreateToken(userID, username string) (*models.UserCredentials, error)
- func (c *Client) CreateUser(req *models.CreateUserRequest) (*CreateUserResponse, error)
- func (c *Client) DeleteGroup(group *models.Group) error
- func (c *Client) Get(api string, params url.Values, response Response) error
- func (c *Client) GetChannelInfo(channel *models.Channel) (*models.Channel, error)
- func (c *Client) GetDirectory(params url.Values) (*models.Directory, error)
- func (c *Client) GetGroupInfo(group *models.Group) (*models.Group, error)
- func (c *Client) GetJoinedChannels(params url.Values) (*ChannelsResponse, error)
- func (c *Client) GetMessages(channel *models.Channel, page *models.Pagination) ([]models.Message, error)
- func (c *Client) GetPublicChannels() (*ChannelsResponse, error)
- func (c *Client) GetServerInfo() (*models.Info, error)
- func (c *Client) GetSpotlight(params url.Values) (*models.Spotlight, error)
- func (c *Client) GetStatistics() (*models.StatisticsInfo, error)
- func (c *Client) GetStatisticsList(params url.Values) (*models.StatisticsList, error)
- func (c *Client) GetUserInfo(user *models.User) (*models.User, error)
- func (c *Client) HistoryGroup(group *models.Group) ([]models.Message, error)
- func (c *Client) InviteGroup(group *models.InviteGroupRequest) (*models.Group, error)
- func (c *Client) KickGroup(group *models.InviteGroupRequest) (*models.Group, error)
- func (c *Client) LeaveChannel(channel *models.Channel) error
- func (c *Client) LeaveGroup(group *models.Group) error
- func (c *Client) ListGroup() ([]models.Group, error)
- func (c *Client) Login(credentials *models.UserCredentials) error
- func (c *Client) Logout() (string, error)
- func (c *Client) MembersGroup(group *models.Group) ([]models.User, error)
- func (c *Client) MessagesGroup(group *models.Group) ([]models.Message, error)
- func (c *Client) Post(api string, body io.Reader, response Response) error
- func (c *Client) PostForm(api string, params url.Values, response Response) error
- func (c *Client) PostMessage(msg *models.PostMessage) (*MessageResponse, error)
- func (c *Client) RemoveOwnerGroup(group *models.InviteGroupRequest) (*models.Group, error)
- func (c *Client) Send(channel *models.Channel, msg string) error
- func (c *Client) SetAnnouncementGroup(groupID, announcement string) error
- func (c *Client) SetUserAvatar(userID, username, avatarURL string) (*Status, error)
- func (c *Client) UpdatePermissions(req *UpdatePermissionsRequest) (*UpdatePermissionsResponse, error)
- func (c *Client) UpdateUser(req *models.UpdateUserRequest) (*CreateUserResponse, error)
- type CreateUserResponse
- type DirectoryResponse
- type GroupMembersResponse
- type GroupMessagesResponse
- type GroupResponse
- type GroupsResponse
- type InfoResponse
- type MessageResponse
- type MessagesResponse
- type Response
- type SpotlightResponse
- type StatisticsListResponse
- type StatisticsResponse
- type Status
- type StatusResponse
- type UpdatePermissionsRequest
- type UpdatePermissionsResponse
- type UserResponse
Constants ¶
This section is empty.
Variables ¶
var (
ErrResponse = fmt.Errorf("got false response")
)
Functions ¶
This section is empty.
Types ¶
type ChannelMembersResponse ¶
type ChannelMembersResponse struct { Status models.Pagination Members []models.User `json:"members"` }
type ChannelMessagesResponse ¶
type ChannelMessagesResponse struct { Status models.Pagination Messages []models.Message `json:"messages"` }
type ChannelResponse ¶
type ChannelsResponse ¶
type ChannelsResponse struct { Status models.Pagination Channels []models.Channel `json:"channels"` }
type Client ¶
type Client struct { Protocol string Host string Path string Port string Version string // Use this switch to see all network communication. Debug bool // contains filtered or unexported fields }
func (*Client) AddOwnerGroup ¶
AddOwnerGroup gives the role of owner for a user in the current group.
https://docs.rocket.chat/api/rest-api/methods/groups/addowner
func (*Client) CreateGroup ¶
CreateGroup Creates a new private group, optionally including specified users. The group creator is always included.
func (*Client) CreateToken ¶
func (c *Client) CreateToken(userID, username string) (*models.UserCredentials, error)
CreateToken creates an access token for a user
https://rocket.chat/docs/developer-guides/rest-api/users/createtoken/
func (*Client) CreateUser ¶
func (c *Client) CreateUser(req *models.CreateUserRequest) (*CreateUserResponse, error)
CreateUser being logged in with a user that has permission to do so.
https://rocket.chat/docs/developer-guides/rest-api/users/create
func (*Client) DeleteGroup ¶
DeleteGroup remove a private channel.
func (*Client) GetChannelInfo ¶
GetChannelInfo get information about a channel. That might be useful to update the usernames.
https://rocket.chat/docs/developer-guides/rest-api/channels/info
func (*Client) GetDirectory ¶
GetDirectory a method, that searches by users or channels on all users and channels available on server. It supports the Offset, Count, and Sort Query Parameters along with Query and Fields Query Parameters.
https://rocket.chat/docs/developer-guides/rest-api/miscellaneous/directory
func (*Client) GetGroupInfo ¶
GetGroupInfo retrieves the information about the private group, only if you're part of the group.
func (*Client) GetJoinedChannels ¶
func (c *Client) GetJoinedChannels(params url.Values) (*ChannelsResponse, error)
GetJoinedChannels returns all channels that the user has joined.
https://rocket.chat/docs/developer-guides/rest-api/channels/list-joined
func (*Client) GetMessages ¶
func (c *Client) GetMessages(channel *models.Channel, page *models.Pagination) ([]models.Message, error)
Get messages from a channel. The channel id has to be not nil. Optionally a count can be specified to limit the size of the returned messages.
https://rocket.chat/docs/developer-guides/rest-api/channels/history
func (*Client) GetPublicChannels ¶
func (c *Client) GetPublicChannels() (*ChannelsResponse, error)
GetPublicChannels returns all channels that can be seen by the logged in user.
https://rocket.chat/docs/developer-guides/rest-api/channels/list
func (*Client) GetServerInfo ¶
GetServerInfo a simple method, requires no authentication, that returns information about the server including version information.
https://rocket.chat/docs/developer-guides/rest-api/miscellaneous/info
func (*Client) GetSpotlight ¶
GetSpotlight searches for users or rooms that are visible to the user. WARNING: It will only return rooms that user didn’t join yet.
https://rocket.chat/docs/developer-guides/rest-api/miscellaneous/spotlight
func (*Client) GetStatistics ¶
func (c *Client) GetStatistics() (*models.StatisticsInfo, error)
GetStatistics Statistics about the Rocket.Chat server.
https://rocket.chat/docs/developer-guides/rest-api/miscellaneous/statistics
func (*Client) GetStatisticsList ¶
GetStatisticsList Selectable statistics about the Rocket.Chat server. It supports the Offset, Count and Sort Query Parameters along with just the Fields and Query Parameters.
https://rocket.chat/docs/developer-guides/rest-api/miscellaneous/statistics.list
func (*Client) GetUserInfo ¶ added in v0.0.3
GetUserInfo get information about a channel. That might be useful to update the usernames.
https://rocket.chat/docs/developer-guides/rest-api/channels/info
func (*Client) HistoryGroup ¶
HistoryGroup retrieves the messages from a private group, only if you're part of the group.
https://docs.rocket.chat/api/rest-api/methods/groups/history
func (*Client) InviteGroup ¶
InviteGroup Adds a user to the private group.
func (*Client) LeaveChannel ¶
LeaveChannel leaves a channel. The id of the channel has to be not nil.
https://rocket.chat/docs/developer-guides/rest-api/channels/leave
func (*Client) LeaveGroup ¶
LeaveGroup remove a private channel.
func (*Client) Login ¶
func (c *Client) Login(credentials *models.UserCredentials) error
Login a user. The Email and the Password are mandatory. The auth token of the user is stored in the Client instance.
https://rocket.chat/docs/developer-guides/rest-api/authentication/login
func (*Client) Logout ¶
Logout a user. The function returns the response message of the server.
https://rocket.chat/docs/developer-guides/rest-api/authentication/logout
func (*Client) MembersGroup ¶
MembersGroup lists the users of participants of a private group.
https://docs.rocket.chat/api/rest-api/methods/groups/members
func (*Client) MessagesGroup ¶
MessagesGroup Lists all of the specific group messages on the server. It supports the Offset, Count, and Sort Query Parameters along with Query and Fields Query Parameters.
https://docs.rocket.chat/api/rest-api/methods/groups/messages
func (*Client) PostMessage ¶
func (c *Client) PostMessage(msg *models.PostMessage) (*MessageResponse, error)
PostMessage send a message to a channel. The channel or roomID has to be not nil. The message will be json encode.
https://rocket.chat/docs/developer-guides/rest-api/chat/postmessage
func (*Client) RemoveOwnerGroup ¶
RemoveOwnerGroup removes the role of owner from a user in the current Group.
https://docs.rocket.chat/api/rest-api/methods/groups/removeowner
func (*Client) Send ¶
Sends a message to a channel. The name of the channel has to be not nil. The message will be html escaped.
https://rocket.chat/docs/developer-guides/rest-api/chat/postmessage
func (*Client) SetAnnouncementGroup ¶
SetAnnouncementGroup remove a private channel.
https://docs.rocket.chat/api/rest-api/methods/groups/setannouncement
func (*Client) SetUserAvatar ¶
SetUserAvatar updates a user's avatar being logged in with a user that has permission to do so. Currently only passing an URL is possible.
https://rocket.chat/docs/developer-guides/rest-api/users/setavatar/
func (*Client) UpdatePermissions ¶
func (c *Client) UpdatePermissions(req *UpdatePermissionsRequest) (*UpdatePermissionsResponse, error)
UpdatePermissions updates permissions
https://rocket.chat/docs/developer-guides/rest-api/permissions/update/
func (*Client) UpdateUser ¶
func (c *Client) UpdateUser(req *models.UpdateUserRequest) (*CreateUserResponse, error)
UpdateUser updates a user's data being logged in with a user that has permission to do so.
https://rocket.chat/docs/developer-guides/rest-api/users/update/
type CreateUserResponse ¶
type CreateUserResponse struct { Status User struct { ID string `json:"_id"` CreatedAt time.Time `json:"createdAt"` Services struct { Password struct { Bcrypt string `json:"bcrypt"` } `json:"password"` } `json:"services"` Username string `json:"username"` Emails []struct { Address string `json:"address"` Verified bool `json:"verified"` } `json:"emails"` Type string `json:"type"` Status string `json:"status"` Active bool `json:"active"` Roles []string `json:"roles"` UpdatedAt time.Time `json:"_updatedAt"` Name string `json:"name"` CustomFields map[string]string `json:"customFields"` } `json:"user"` }
type DirectoryResponse ¶
type GroupMembersResponse ¶
type GroupMembersResponse = ChannelMembersResponse
type GroupMessagesResponse ¶
type GroupMessagesResponse = ChannelMessagesResponse
type GroupResponse ¶
type GroupsResponse ¶
type GroupsResponse struct { Status models.Pagination Groups []models.Group `json:"groups"` }
type InfoResponse ¶
type MessageResponse ¶
type MessagesResponse ¶
type SpotlightResponse ¶
type StatisticsListResponse ¶
type StatisticsListResponse struct { Status models.StatisticsList }
type StatisticsResponse ¶
type StatisticsResponse struct { Status models.StatisticsInfo }
type Status ¶
type StatusResponse ¶
StatusResponse The base for the most of the json responses.
type UpdatePermissionsRequest ¶
type UpdatePermissionsRequest struct {
Permissions []models.Permission `json:"permissions"`
}
type UpdatePermissionsResponse ¶
type UpdatePermissionsResponse struct { Status Permissions []models.Permission `json:"permissions"` }