gorocket

package module
v0.0.0-...-ee81353 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 28, 2022 License: MIT Imports: 10 Imported by: 0

README

Golang Rocket Chat REST API client

This is a quick fork from github.com/badkaktus/gorocket to support the tmid parameter for threads and chat.sendMessage (instead of chat.postMessage) which has some slight differences to how multiple messages visually appear.

How to use

Just import

import (
	"github.com/AndrewChau/gorocket"
)

Create client

client := gorocket.NewClient("https://your-rocket-chat.com")

// login as the main admin user
login := gorocket.LoginPayload{
    User:     "admin-login",
    Password: "admin-password",
}

lg, err := client.Login(&login)

if err != nil {
    fmt.Printf("Error: %+v", err)
}
fmt.Printf("I'm %s", lg.Data.Me.Username)

or

client := gorocket.NewWithOptions("https://your-rocket-chat.com", 
    gorocket.WithUserID("my-user-id"),
    gorocket.WithToken("my-bot-token"),
    gorocket.WithTimeout(1 * time.Second),
)

Manage user

str := gorocket.NewUser{
    Email:                 "test@email.com",
    Name:                  "John Doe",
    Password:              "simplepassword",
    Username:              "johndoe",
    Active:                true,
}

me, err := client.UsersCreate(&str)
if err != nil {
    fmt.Printf("Error: %+v", err)
}
fmt.Printf("User was created %t", me.Success)

Post a message

// create a new channel
str := gorocket.CreateChannelRequest{
    Name:     "newchannel",
}

channel, err := client.CreateChannel(&str)
if err != nil {
    fmt.Printf("Error: %+v", err)
}
fmt.Printf("Channel was created %t", channel.Success)
// post a message
str := gorocket.Message{
    Channel:     "somechannel",
    Text:        "Hey! This is new message from Golang REST Client",
}

msg, err := client.PostMessage(&str)
if err != nil {
    fmt.Printf("Error: %+v", err)
}
fmt.Printf("Message was posted %t", msg.Success)

Send a message

// create a new channel
str := gorocket.CreateChannelRequest{
    Name:     "newchannel",
}

channel, err := client.CreateChannel(&str)
if err != nil {
    fmt.Printf("Error: %+v", err)
}
fmt.Printf("Channel was created %t", channel.Success)
// send a message
str := gorocket.FocusedMessage{
    RoomID:     "(enter room ID)",
    TmID:       "(optional, enter thread ID)",
    Text:       "Hey! This is new message from Golang REST Client",
}

msg, err := client.PostMessage(&str)
if err != nil {
    fmt.Printf("Error: %+v", err)
}
fmt.Printf("Message was posted %t", msg.Success)

Pagination

If endpoint support pagination, you can use that like this:

// sort field in map. 1 - asc, -1 - desc
srt := map[string]int{"_updatedAt": 1, "name": -1}

client.Count(10).Offset(10).Sort(srt).ChannelList()

PS

Feel free to create issue for add new endpoint to this client

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AddAllRequest

type AddAllRequest struct {
	RoomId          string `json:"roomId"`
	ActiveUsersOnly bool   `json:"activeUsersOnly,omitempty"`
}

type AddAllResponse

type AddAllResponse struct {
	Channel Channel `json:"channel"`
	Success bool    `json:"success"`
}

type AddGroupPermissionRequest

type AddGroupPermissionRequest struct {
	RoomId string `json:"roomId"`
	UserId string `json:"userId"`
}

type Apps

type Apps struct {
	EngineVersion  string `json:"engineVersion"`
	Enabled        bool   `json:"enabled"`
	TotalInstalled int    `json:"totalInstalled"`
	TotalActive    int    `json:"totalActive"`
}

type AttachField

type AttachField struct {
	Short bool   `json:"short,omitempty"`
	Title string `json:"title,omitempty"`
	Value string `json:"value,omitempty"`
}

type Attachment

type Attachment struct {
	AudioURL          string        `json:"audio_url,omitempty"`
	AuthorIcon        string        `json:"author_icon,omitempty"`
	AuthorLink        string        `json:"author_link,omitempty"`
	AuthorName        string        `json:"author_name,omitempty"`
	Collapsed         bool          `json:"collapsed,omitempty"`
	Color             string        `json:"color,omitempty"`
	Fields            []AttachField `json:"fields,omitempty"`
	ImageURL          string        `json:"image_url,omitempty"`
	MessageLink       string        `json:"message_link,omitempty"`
	Text              string        `json:"text,omitempty"`
	ThumbURL          string        `json:"thumb_url,omitempty"`
	Title             string        `json:"title,omitempty"`
	TitleLink         string        `json:"title_link,omitempty"`
	TitleLinkDownload bool          `json:"title_link_download,omitempty"`
	Ts                time.Time     `json:"ts,omitempty"`
	VideoURL          string        `json:"video_url,omitempty"`
}

type Build

type Build struct {
	Date        time.Time `json:"date"`
	NodeVersion string    `json:"nodeVersion"`
	Arch        string    `json:"arch"`
	Platform    string    `json:"platform"`
	OsRelease   string    `json:"osRelease"`
	TotalMemory int64     `json:"totalMemory"`
	FreeMemory  int       `json:"freeMemory"`
	Cpus        int       `json:"cpus"`
}

type Channel

type Channel struct {
	ID        string    `json:"_id"`
	Name      string    `json:"name"`
	T         string    `json:"t"`
	Usernames []string  `json:"usernames"`
	Msgs      int       `json:"msgs"`
	U         U         `json:"u"`
	Ts        time.Time `json:"ts"`
}

type ChannelCountersRequest

type ChannelCountersRequest struct {
	RoomId   string
	RoomName string
	UserId   string
}

type ChannelCountersResponse

type ChannelCountersResponse struct {
	Joined       bool      `json:"joined"`
	Members      int       `json:"members"`
	Unreads      int       `json:"unreads"`
	UnreadsFrom  time.Time `json:"unreadsFrom"`
	Msgs         int       `json:"msgs"`
	Latest       time.Time `json:"latest"`
	UserMentions int       `json:"userMentions"`
	Success      bool      `json:"success"`
}

type ChannelHistoryRequest

type ChannelHistoryRequest struct {
	RoomId    string
	Latest    time.Time
	Oldest    time.Time
	Inclusive bool
	Offset    int
	Count     int
	Unreads   bool
}

type ChannelInfo

type ChannelInfo struct {
	ID           string `json:"_id"`
	Name         string `json:"name"`
	Fname        string `json:"fname"`
	T            string `json:"t"`
	Msgs         int    `json:"msgs"`
	UsersCount   int    `json:"usersCount"`
	U            UChat  `json:"u"`
	CustomFields struct {
	} `json:"customFields"`
	Broadcast bool      `json:"broadcast"`
	Encrypted bool      `json:"encrypted"`
	Ts        time.Time `json:"ts"`
	Ro        bool      `json:"ro"`
	Default   bool      `json:"default"`
	SysMes    bool      `json:"sysMes"`
	UpdatedAt time.Time `json:"_updatedAt"`
}

type ChannelInfoResponse

type ChannelInfoResponse struct {
	Channel ChannelInfo `json:"channel"`
	Success bool        `json:"success"`
}

type ChannelList

type ChannelList struct {
	ID        string    `json:"_id"`
	Name      string    `json:"name"`
	T         string    `json:"t"`
	Usernames []string  `json:"usernames"`
	Msgs      int       `json:"msgs"`
	U         UChat     `json:"u"`
	Ts        time.Time `json:"ts"`
	Ro        bool      `json:"ro"`
	SysMes    bool      `json:"sysMes"`
	UpdatedAt time.Time `json:"_updatedAt"`
}

type ChannelListResponse

type ChannelListResponse struct {
	Channels []ChannelList `json:"channels"`
	Offset   int           `json:"offset"`
	Count    int           `json:"count"`
	Total    int           `json:"total"`
	Success  bool          `json:"success"`
}

type ChannelMembersResponse

type ChannelMembersResponse struct {
	Members []Member `json:"members"`
	Count   int      `json:"count"`
	Offset  int      `json:"offset"`
	Total   int      `json:"total"`
	Success bool     `json:"success"`
}

type Client

type Client struct {
	HTTPClient *http.Client
	// contains filtered or unexported fields
}

func NewClient

func NewClient(url string) *Client

NewClient creates new rocket.chat client with given API key

func NewWithOptions

func NewWithOptions(url string, opts ...Option) *Client

NewWithOptions creates new rocket.chat client with options

func (*Client) AddAllToChannel

func (c *Client) AddAllToChannel(params *AddAllRequest) (*AddAllResponse, error)

Adds all of the users on the server to a channel.

func (*Client) AddLeaderGroup

func (c *Client) AddLeaderGroup(param *AddGroupPermissionRequest) (*SimpleSuccessResponse, error)

Add leader for the group.

func (*Client) AddOwnerGroup

func (c *Client) AddOwnerGroup(param *AddGroupPermissionRequest) (*SimpleSuccessResponse, error)

Add owner for the group.

func (*Client) ArchiveChannel

func (c *Client) ArchiveChannel(param *SimpleChannelId) (*SimpleSuccessResponse, error)

Archives a channel.

func (*Client) ArchiveGroup

func (c *Client) ArchiveGroup(param *SimpleGroupId) (*SimpleSuccessResponse, error)

Archives a group.

func (*Client) ChannelCounters

func (c *Client) ChannelCounters(param *ChannelCountersRequest) (*ChannelCountersResponse, error)

Gets channel counters.

func (*Client) ChannelInfo

func (c *Client) ChannelInfo(param *SimpleChannelRequest) (*ChannelInfoResponse, error)

Get channel info.

func (*Client) ChannelInvite

func (c *Client) ChannelInvite(param *InviteChannelRequest) (*InviteChannelResponse, error)

Adds a user to the channel.

func (*Client) ChannelKick

func (c *Client) ChannelKick(param *InviteChannelRequest) (*InviteChannelResponse, error)

Kick a user from the channel.

func (*Client) ChannelList

func (c *Client) ChannelList() (*ChannelListResponse, error)

Get channels list

func (*Client) ChannelMembers

func (c *Client) ChannelMembers(param *SimpleChannelRequest) (*ChannelMembersResponse, error)

Gets channel members

func (*Client) CloseChannel

func (c *Client) CloseChannel(param *SimpleChannelId) (*SimpleSuccessResponse, error)

Removes the channel from the user's list of channels.

func (*Client) CloseGroup

func (c *Client) CloseGroup(param *SimpleGroupId) (*SimpleSuccessResponse, error)

Removes the group from the user's list of groups.

func (*Client) Count

func (c *Client) Count(val int) *Client

func (*Client) CreateChannel

func (c *Client) CreateChannel(param *CreateChannelRequest) (*CreateChannelResponse, error)

Creates a new channel.

func (*Client) CreateGroup

func (c *Client) CreateGroup(param *CreateGroupRequest) (*CreateGroupResponse, error)

Creates a new group.

func (*Client) DeleteChannel

func (c *Client) DeleteChannel(param *SimpleChannelRequest) (*SimpleSuccessResponse, error)

Delete channel.

func (*Client) DeleteGroup

func (c *Client) DeleteGroup(param *SimpleGroupId) (*SimpleSuccessResponse, error)

Delete group.

func (*Client) DeleteMessage

func (c *Client) DeleteMessage(param *DeleteMessageRequest) (*DeleteMessageResponse, error)

Chat Message Delete

func (*Client) Directory

func (c *Client) Directory() (*RespDirectory, error)

func (*Client) GetMessage

func (c *Client) GetMessage(param *SingleMessageId) (*GetMessageResponse, error)

Retrieves a single chat message by the provided id. Callee must have permission to access the room where the message resides.

func (*Client) GetPinnedMessages

func (c *Client) GetPinnedMessages(param *GetPinnedMsgRequest) (*GetPinnedMsgResponse, error)

Callee must have permission to access the room where the message resides.

func (*Client) GetSupportedLanguage

func (c *Client) GetSupportedLanguage(query string) (*SupportedLanguageResp, error)

func (*Client) GroupCounters

func (c *Client) GroupCounters(param *GroupCountersRequest) (*GroupCountersResponse, error)

Gets group counters.

func (*Client) GroupInfo

func (c *Client) GroupInfo(param *SimpleGroupRequest) (*GroupInfoResponse, error)

Get group info.

func (*Client) GroupInvite

func (c *Client) GroupInvite(param *InviteGroupRequest) (*InviteGroupResponse, error)

Adds a user to the group.

func (*Client) GroupKick

func (c *Client) GroupKick(param *InviteGroupRequest) (*InviteGroupResponse, error)

Kick a user from the group.

func (*Client) GroupList

func (c *Client) GroupList() (*GroupListResponse, error)

Get groups list

func (*Client) GroupMembers

func (c *Client) GroupMembers(param *SimpleGroupRequest) (*GroupMembersResponse, error)

Gets group members

func (*Client) GroupMessages

func (c *Client) GroupMessages(param *SimpleGroupRequest) (*GroupMessagesResponse, error)

Gets group messages

func (*Client) Hooks

func (c *Client) Hooks(msg *HookMessage, token string) (*HookResponse, error)

func (*Client) Info

func (c *Client) Info() (*RespInfo, error)

func (*Client) Login

func (c *Client) Login(login *LoginPayload) (*LoginResponse, error)

func (*Client) Logout

func (c *Client) Logout() (*LogoutResponse, error)

func (*Client) Me

func (c *Client) Me() (*MeResponse, error)

func (*Client) Offset

func (c *Client) Offset(val int) *Client

func (*Client) OpenChannel

func (c *Client) OpenChannel(param *SimpleChannelId) (*SimpleSuccessResponse, error)

Adds the channel back to the user's list of channels.

func (*Client) OpenGroup

func (c *Client) OpenGroup(param *SimpleGroupId) (*SimpleSuccessResponse, error)

Adds the group back to the user's list of groups.

func (*Client) PinMessage

func (c *Client) PinMessage(param *SingleMessageId) (*PinMessageResponse, error)

Pins a chat message to the message's channel.

func (*Client) PostMessage

func (c *Client) PostMessage(msg *Message) (*RespPostMessage, error)

Posts a new chat message.

func (*Client) RenameChannel

func (c *Client) RenameChannel(param *RenameChannelRequest) (*RenameChannelResponse, error)

Changes a channel's name.

func (*Client) RenameGroup

func (c *Client) RenameGroup(param *RenameGroupRequest) (*RenameGroupResponse, error)

Changes a group's name.

func (*Client) SendMessage

func (c *Client) SendMessage(msg *FocusedMessage) (*RespPostMessage, error)

Sends a new chat message.

func (*Client) SetAnnouncementChannel

func (c *Client) SetAnnouncementChannel(param *SetAnnouncementRequest) (*SetAnnouncementResponse, error)

Sets the announcement for the channel.

func (*Client) SetAnnouncementGroup

func (c *Client) SetAnnouncementGroup(param *SetAnnouncementRequest) (*SetAnnouncementResponse, error)

Sets the announcement for the group.

func (*Client) SetDescriptionChannel

func (c *Client) SetDescriptionChannel(param *SetDescriptionRequest) (*SetDescriptionResponse, error)

Sets the Description for the channel.

func (*Client) SetDescriptionGroup

func (c *Client) SetDescriptionGroup(param *SetDescriptionRequest) (*SetDescriptionResponse, error)

Sets the Description for the group.

func (*Client) SetTopicChannel

func (c *Client) SetTopicChannel(param *SetTopicRequest) (*SetTopicResponse, error)

Sets the topic for the channel.

func (*Client) SetTopicGroup

func (c *Client) SetTopicGroup(param *SetTopicRequest) (*SetTopicResponse, error)

Sets the topic for the group.

func (*Client) Sort

func (c *Client) Sort(val map[string]int) *Client

func (*Client) Spotlight

func (c *Client) Spotlight(query string) (*RespSpotlight, error)

func (*Client) Statistics

func (c *Client) Statistics() (*RespStatistics, error)

func (*Client) StatisticsList

func (c *Client) StatisticsList() (*RespStatisticsList, error)

func (*Client) UnarchiveChannel

func (c *Client) UnarchiveChannel(param *SimpleChannelId) (*SimpleSuccessResponse, error)

Unarchive a channel.

func (*Client) UnarchiveGroup

func (c *Client) UnarchiveGroup(param *SimpleGroupId) (*SimpleSuccessResponse, error)

Unarchive a group.

func (*Client) UnpinMessage

func (c *Client) UnpinMessage(param *SingleMessageId) (*SimpleSuccessResponse, error)

Unpins a chat message to the message's channel.

func (*Client) UsersCreate

func (c *Client) UsersCreate(user *NewUser) (*UserCreateResponse, error)

Create a new user. Requires create-user permission.

func (*Client) UsersCreateToken

func (c *Client) UsersCreateToken(user *SimpleUserRequest) (*CreateTokenResponse, error)

Create a user authentication token.

func (*Client) UsersDeactivateIdle

func (c *Client) UsersDeactivateIdle(params *DeactivateRequest) (*DeactivateResponse, error)

Deactivate Idle users. Requires edit-other-user-active-status permission.

func (*Client) UsersDelete

func (c *Client) UsersDelete(user *UsersDelete) (*SimpleSuccessResponse, error)

Deletes an existing user. Requires delete-user permission.

func (*Client) UsersDeleteOwnAccount

func (c *Client) UsersDeleteOwnAccount(pass string) (*SimpleSuccessResponse, error)

Deletes your own user. Requires Allow Users to Delete Own Account enabled. Accessible from Administration -> Accounts.

func (*Client) UsersForgotPassword

func (c *Client) UsersForgotPassword(email string) (*SimpleSuccessResponse, error)

Send email to reset your password.

func (*Client) UsersGeneratePersonalAccessToken

func (c *Client) UsersGeneratePersonalAccessToken(params *GetNewToken) (*NewTokenResponse, error)

Generate Personal Access Token. Requires create-personal-access-tokens permission.

func (*Client) UsersGetStatus

func (c *Client) UsersGetStatus(user *SimpleUserRequest) (*GetStatusResponse, error)

Gets a user's Status if the query string userId or username is provided, otherwise it gets the callee's.

func (*Client) UsersInfo

func (c *Client) UsersInfo(user *SimpleUserRequest) (*UsersInfoResponse, error)

Retrieves information about a user, the result is only limited to what the callee has access to view.

func (*Client) UsersPresence

func (c *Client) UsersPresence(query string) (*UsersPresenceResponse, error)

Gets all connected users presence

func (*Client) UsersRegister

func (c *Client) UsersRegister(user *UserRegisterRequest) (*UsersInfoResponse, error)

Register a new user.

func (*Client) UsersSetStatus

func (c *Client) UsersSetStatus(status *SetStatus) (*SimpleSuccessResponse, error)

Sets a user Status when the status message and state is given.

func (*Client) UsersUpdate

func (c *Client) UsersUpdate(user *UserUpdateRequest) (*UserUpdateResponse, error)

Update an existing user.

type Commit

type Commit struct {
	Hash    string `json:"hash"`
	Date    string `json:"date"`
	Author  string `json:"author"`
	Subject string `json:"subject"`
	Tag     string `json:"tag"`
	Branch  string `json:"branch"`
}

type Cpus

type Cpus struct {
	Model string `json:"model"`
	Speed int    `json:"speed"`
	Times Times  `json:"times"`
}

type CreateChannelRequest

type CreateChannelRequest struct {
	Name     string   `json:"name"`
	Members  []string `json:"members,omitempty"`
	ReadOnly bool     `json:"readOnly,omitempty"`
}

type CreateChannelResponse

type CreateChannelResponse struct {
	Channel Channel `json:"channel"`
	Success bool    `json:"success"`
}

type CreateGroupRequest

type CreateGroupRequest struct {
	Name     string   `json:"name"`
	Members  []string `json:"members,omitempty"`
	ReadOnly bool     `json:"readOnly,omitempty"`
}

type CreateGroupResponse

type CreateGroupResponse struct {
	Group   Channel `json:"group"`
	Success bool    `json:"success"`
}

type CreateTokenResponse

type CreateTokenResponse struct {
	Data struct {
		UserID    string `json:"userId"`
		AuthToken string `json:"authToken"`
	} `json:"data"`
	Success bool `json:"success"`
}

type DataLogin

type DataLogin struct {
	UserID    string `json:"userId"`
	AuthToken string `json:"authToken"`
	Me        Me     `json:"me"`
}

type DeactivateRequest

type DeactivateRequest struct {
	DaysIdle string `json:"daysIdle"`
	Role     string `json:"role,omitempty"`
}

type DeactivateResponse

type DeactivateResponse struct {
	Count   int  `json:"count"`
	Success bool `json:"success"`
}

type DeleteMessageRequest

type DeleteMessageRequest struct {
	RoomID string `json:"roomId"`
	MsgID  string `json:"msgId"`
	AsUser bool   `json:"asUser,omitempty"`
}

type DeleteMessageResponse

type DeleteMessageResponse struct {
	ID      string `json:"_id"`
	Ts      int64  `json:"ts"`
	Success bool   `json:"success"`
}

type Deploy

type Deploy struct {
	Method   string `json:"method"`
	Platform string `json:"platform"`
}

type DontAskAgainList

type DontAskAgainList struct {
	Action string `json:"action"`
	Label  string `json:"label"`
}

type Email

type Email struct {
	Address  string `json:"address"`
	Verified bool   `json:"verified"`
}

type FocusedMessage

type FocusedMessage struct {
	ID          string       `json:"_id,omitempty"`
	Alias       string       `json:"alias,omitempty"`
	Emoji       string       `json:"emoji,omitempty"`
	Avatar      string       `json:"avatar,omitempty"`
	RoomID      string       `json:"rid"`
	TmID        string       `json:"tmid,omitempty"`
	Text        string       `json:"msg"`
	TShow       bool         `json:"tshow,omitempty"`
	Attachments []Attachment `json:"attachments"`
}

type GetMessageResponse

type GetMessageResponse struct {
	Message MessageResp `json:"message"`
	Success bool        `json:"success"`
}

type GetNewToken

type GetNewToken struct {
	Token     string `json:"tokenName"`
	TwoFactor bool   `json:"bypassTwoFactor,omitempty"`
}

type GetPinnedMsgRequest

type GetPinnedMsgRequest struct {
	RoomId string
	Count  int
	Offset int
}

type GetPinnedMsgResponse

type GetPinnedMsgResponse struct {
	Messages []PinnedMessage `json:"messages"`
	Count    int             `json:"count"`
	Offset   int             `json:"offset"`
	Total    int             `json:"total"`
	Success  bool            `json:"success"`
}

type GetStatusResponse

type GetStatusResponse struct {
	Message          string `json:"message"`
	ConnectionStatus string `json:"connectionStatus"`
	Status           string `json:"status"`
	Success          bool   `json:"success"`
}

type GroupCountersRequest

type GroupCountersRequest struct {
	RoomId   string
	RoomName string
	UserId   string
}

type GroupCountersResponse

type GroupCountersResponse struct {
	Joined       bool      `json:"joined"`
	Members      int       `json:"members"`
	Unreads      int       `json:"unreads"`
	UnreadsFrom  time.Time `json:"unreadsFrom"`
	Msgs         int       `json:"msgs"`
	Latest       time.Time `json:"latest"`
	UserMentions int       `json:"userMentions"`
	Success      bool      `json:"success"`
}

type GroupInfoResponse

type GroupInfoResponse struct {
	Group   groupInfo `json:"group"`
	Success bool      `json:"success"`
}

type GroupListResponse

type GroupListResponse struct {
	Groups  []groupList `json:"groups"`
	Offset  int         `json:"offset"`
	Count   int         `json:"count"`
	Total   int         `json:"total"`
	Success bool        `json:"success"`
}

type GroupMembersResponse

type GroupMembersResponse struct {
	Members []Member `json:"members"`
	Count   int      `json:"count"`
	Offset  int      `json:"offset"`
	Total   int      `json:"total"`
	Success bool     `json:"success"`
}

type GroupMessage

type GroupMessage struct {
	ID        string        `json:"_id"`
	Rid       string        `json:"rid"`
	Msg       string        `json:"msg"`
	Ts        time.Time     `json:"ts"`
	U         U             `json:"u"`
	UpdatedAt time.Time     `json:"_updatedAt"`
	Reactions []interface{} `json:"reactions"`
	Mentions  []U           `json:"mentions"`
	Channels  []interface{} `json:"channels"`
	Starred   []interface{} `json:"starred"`
}

type GroupMessagesResponse

type GroupMessagesResponse struct {
	Messages []GroupMessage `json:"messages"`
	Count    int            `json:"count"`
	Offset   int            `json:"offset"`
	Total    int            `json:"total"`
	Success  bool           `json:"success"`
}

type HookAttachment

type HookAttachment struct {
	Title     string `json:"title"`
	TitleLink string `json:"title_link"`
	Text      string `json:"text"`
	ImageURL  string `json:"image_url"`
	Color     string `json:"color"`
}

type HookMessage

type HookMessage struct {
	Text        string           `json:"text"`
	Attachments []HookAttachment `json:"attachments"`
}

type HookResponse

type HookResponse struct {
	Success bool `json:"success"`
}

type Integrations

type Integrations struct {
	TotalIntegrations      int `json:"totalIntegrations"`
	TotalIncoming          int `json:"totalIncoming"`
	TotalIncomingActive    int `json:"totalIncomingActive"`
	TotalOutgoing          int `json:"totalOutgoing"`
	TotalOutgoingActive    int `json:"totalOutgoingActive"`
	TotalWithScriptEnabled int `json:"totalWithScriptEnabled"`
}

type InviteChannelRequest

type InviteChannelRequest struct {
	RoomId string `json:"roomId"`
	UserId string `json:"userId"`
}

type InviteChannelResponse

type InviteChannelResponse struct {
	Channel struct {
		ID        string    `json:"_id"`
		Ts        time.Time `json:"ts"`
		T         string    `json:"t"`
		Name      string    `json:"name"`
		Usernames []string  `json:"usernames"`
		Msgs      int       `json:"msgs"`
		UpdatedAt time.Time `json:"_updatedAt"`
		Lm        time.Time `json:"lm"`
	} `json:"channel"`
	Success bool `json:"success"`
}

type InviteGroupRequest

type InviteGroupRequest struct {
	RoomId string `json:"roomId"`
	UserId string `json:"userId"`
}

type InviteGroupResponse

type InviteGroupResponse struct {
	Group struct {
		ID        string    `json:"_id"`
		Ts        time.Time `json:"ts"`
		T         string    `json:"t"`
		Name      string    `json:"name"`
		Usernames []string  `json:"usernames"`
		Msgs      int       `json:"msgs"`
		UpdatedAt time.Time `json:"_updatedAt"`
		Lm        time.Time `json:"lm"`
	} `json:"group"`
	Success bool `json:"success"`
}

type LastMessage

type LastMessage struct {
	ID          string        `json:"_id"`
	Alias       string        `json:"alias"`
	Msg         string        `json:"msg"`
	Attachments []interface{} `json:"attachments"`
	ParseUrls   bool          `json:"parseUrls"`
	Groupable   bool          `json:"groupable"`
	Ts          time.Time     `json:"ts"`
	U           U             `json:"u"`
	Rid         string        `json:"rid"`
	UpdatedAt   time.Time     `json:"_updatedAt"`
	Mentions    []interface{} `json:"mentions"`
	Channels    []interface{} `json:"channels"`
}

type LoginPayload

type LoginPayload struct {
	User     string `json:"user"`
	Password string `json:"password"`
	Resume   string `json:"resume,omitempty"`
}

type LoginResponse

type LoginResponse struct {
	Status  string    `json:"status"`
	Data    DataLogin `json:"data"`
	Message string    `json:"message,omitempty"`
}

type LogoutResponse

type LogoutResponse struct {
	Status string `json:"status"`
	Data   struct {
		Message string `json:"message"`
	} `json:"data"`
}

type Me

type Me struct {
	ID                    string    `json:"_id"`
	Services              Services  `json:"services"`
	Emails                []Email   `json:"emails"`
	Status                string    `json:"status"`
	Active                bool      `json:"active"`
	UpdatedAt             time.Time `json:"_updatedAt"`
	Roles                 []string  `json:"roles"`
	Name                  string    `json:"name"`
	StatusConnection      string    `json:"statusConnection"`
	Username              string    `json:"username"`
	UtcOffset             int       `json:"utcOffset"`
	StatusText            string    `json:"statusText"`
	Settings              Settings  `json:"settings"`
	AvatarOrigin          string    `json:"avatarOrigin"`
	RequirePasswordChange bool      `json:"requirePasswordChange"`
	Language              string    `json:"language"`
	Email                 string    `json:"email"`
	AvatarURL             string    `json:"avatarUrl"`
}

type MeResponse

type MeResponse struct {
	ID                    string    `json:"_id"`
	Services              Services  `json:"services"`
	Emails                []Email   `json:"emails"`
	Status                string    `json:"status"`
	Active                bool      `json:"active"`
	UpdatedAt             time.Time `json:"_updatedAt"`
	Roles                 []string  `json:"roles"`
	Name                  string    `json:"name"`
	StatusConnection      string    `json:"statusConnection"`
	Username              string    `json:"username"`
	UtcOffset             int       `json:"utcOffset"`
	StatusText            string    `json:"statusText"`
	Settings              Settings  `json:"settings"`
	AvatarOrigin          string    `json:"avatarOrigin"`
	RequirePasswordChange bool      `json:"requirePasswordChange"`
	Language              string    `json:"language"`
	Email                 string    `json:"email"`
	AvatarURL             string    `json:"avatarUrl"`
	Success               bool      `json:"success"`
}

type Member

type Member struct {
	ID       string `json:"_id"`
	Username string `json:"username"`
	Name     string `json:"name"`
	Status   string `json:"status"`
}

type Message

type Message struct {
	Alias       string       `json:"alias,omitempty"`
	Avatar      string       `json:"avatar,omitempty"`
	Channel     string       `json:"channel,omitempty"`
	Emoji       string       `json:"emoji,omitempty"`
	RoomID      string       `json:"roomId,omitempty"`
	TmID        string       `json:"tmid,omitempty"`
	Text        string       `json:"text"`
	Attachments []Attachment `json:"attachments"`
}

type MessageResp

type MessageResp struct {
	ID  string    `json:"_id"`
	Rid string    `json:"rid"`
	Msg string    `json:"msg"`
	Ts  time.Time `json:"ts"`
	U   struct {
		ID       string `json:"_id"`
		Username string `json:"username"`
	} `json:"u"`
}

type Migration

type Migration struct {
	ID      string `json:"_id"`
	Locked  bool   `json:"locked"`
	Version int    `json:"version"`
}

type NewTokenResponse

type NewTokenResponse struct {
	Token   string `json:"token"`
	Success bool   `json:"success"`
}

type NewUser

type NewUser struct {
	Email                 string   `json:"email"`
	Name                  string   `json:"name"`
	Password              string   `json:"password"`
	Username              string   `json:"username"`
	Active                bool     `json:"active,omitempty"`
	Roles                 []string `json:"roles,omitempty"`
	JoinDefaultChannels   bool     `json:"joinDefaultChannels,omitempty"`
	RequirePasswordChange bool     `json:"requirePasswordChange,omitempty"`
	SendWelcomeEmail      bool     `json:"sendWelcomeEmail,omitempty"`
	Verified              bool     `json:"verified,omitempty"`
	CustomFields          string   `json:"customFields,omitempty"`
}

type Option

type Option func(*Client)

func WithTimeout

func WithTimeout(d time.Duration) Option

func WithUserID

func WithUserID(userID string) Option

func WithXToken

func WithXToken(xtoken string) Option

type Os

type Os struct {
	Type     string    `json:"type"`
	Platform string    `json:"platform"`
	Arch     string    `json:"arch"`
	Release  string    `json:"release"`
	Uptime   int       `json:"uptime"`
	Loadavg  []float64 `json:"loadavg"`
	Totalmem int64     `json:"totalmem"`
	Freemem  int       `json:"freemem"`
	Cpus     []Cpus    `json:"cpus"`
}

type PaginationStruct

type PaginationStruct struct {
	Count  int    `url:"count,omitempty"`
	Offset int    `url:"offset,omitempty"`
	Sort   string `url:"sort,omitempty"`
}

type Password

type Password struct {
	Bcrypt string `json:"bcrypt"`
}

type PinMessageResponse

type PinMessageResponse struct {
	Message struct {
		T   string    `json:"t"`
		Rid string    `json:"rid"`
		Ts  time.Time `json:"ts"`
		Msg string    `json:"msg"`
		U   struct {
			ID       string `json:"_id"`
			Username string `json:"username"`
		} `json:"u"`
		Groupable   bool `json:"groupable"`
		Attachments []struct {
			Text       string    `json:"text"`
			AuthorName string    `json:"author_name"`
			AuthorIcon string    `json:"author_icon"`
			Ts         time.Time `json:"ts"`
		} `json:"attachments"`
		UpdatedAt time.Time `json:"_updatedAt"`
		ID        string    `json:"_id"`
	} `json:"message"`
	Success bool `json:"success"`
}

type PinnedMessage

type PinnedMessage struct {
	ID  string    `json:"_id"`
	Rid string    `json:"rid"`
	Msg string    `json:"msg"`
	Ts  time.Time `json:"ts"`
	U   struct {
		ID       string `json:"_id"`
		Username string `json:"username"`
		Name     string `json:"name"`
	} `json:"u"`
	Mentions  []interface{} `json:"mentions"`
	Channels  []interface{} `json:"channels"`
	UpdatedAt time.Time     `json:"_updatedAt"`
	Pinned    bool          `json:"pinned"`
	PinnedAt  time.Time     `json:"pinnedAt"`
	PinnedBy  struct {
		ID       string `json:"_id"`
		Username string `json:"username"`
	} `json:"pinnedBy"`
}

type Preferences

type Preferences struct {
	EnableAutoAway                        bool               `json:"enableAutoAway"`
	IdleTimeLimit                         int                `json:"idleTimeLimit"`
	AudioNotifications                    string             `json:"audioNotifications"`
	DesktopNotifications                  string             `json:"desktopNotifications"`
	MobileNotifications                   string             `json:"mobileNotifications"`
	UnreadAlert                           bool               `json:"unreadAlert"`
	UseEmojis                             bool               `json:"useEmojis"`
	ConvertASCIIEmoji                     bool               `json:"convertAsciiEmoji"`
	AutoImageLoad                         bool               `json:"autoImageLoad"`
	SaveMobileBandwidth                   bool               `json:"saveMobileBandwidth"`
	CollapseMediaByDefault                bool               `json:"collapseMediaByDefault"`
	HideUsernames                         bool               `json:"hideUsernames"`
	HideRoles                             bool               `json:"hideRoles"`
	HideFlexTab                           bool               `json:"hideFlexTab"`
	HideAvatars                           bool               `json:"hideAvatars"`
	SidebarGroupByType                    bool               `json:"sidebarGroupByType"`
	SidebarViewMode                       string             `json:"sidebarViewMode"`
	SidebarHideAvatar                     bool               `json:"sidebarHideAvatar"`
	SidebarShowUnread                     bool               `json:"sidebarShowUnread"`
	SidebarShowFavorites                  bool               `json:"sidebarShowFavorites"`
	SendOnEnter                           string             `json:"sendOnEnter"`
	MessageViewMode                       int                `json:"messageViewMode"`
	EmailNotificationMode                 string             `json:"emailNotificationMode"`
	NewRoomNotification                   string             `json:"newRoomNotification"`
	NewMessageNotification                string             `json:"newMessageNotification"`
	MuteFocusedConversations              bool               `json:"muteFocusedConversations"`
	NotificationsSoundVolume              int                `json:"notificationsSoundVolume"`
	SidebarShowDiscussion                 bool               `json:"sidebarShowDiscussion"`
	DesktopNotificationRequireInteraction bool               `json:"desktopNotificationRequireInteraction"`
	SidebarSortby                         string             `json:"sidebarSortby"`
	DesktopNotificationDuration           int                `json:"desktopNotificationDuration"`
	DontAskAgainList                      []DontAskAgainList `json:"dontAskAgainList"`
	Highlights                            []interface{}      `json:"highlights"`
	Language                              string             `json:"language"`
}

type Process

type Process struct {
	NodeVersion string  `json:"nodeVersion"`
	Pid         int     `json:"pid"`
	Uptime      float64 `json:"uptime"`
}

type RenameChannelRequest

type RenameChannelRequest struct {
	RoomId  string `json:"roomId"`
	NewName string `json:"name"`
}

type RenameChannelResponse

type RenameChannelResponse struct {
	Channel ChannelList `json:"channel"`
	Success bool        `json:"success"`
}

type RenameGroupRequest

type RenameGroupRequest struct {
	RoomId  string `json:"roomId"`
	NewName string `json:"name"`
}

type RenameGroupResponse

type RenameGroupResponse struct {
	Group   groupList `json:"group"`
	Success bool      `json:"success"`
}

type RespDirectory

type RespDirectory struct {
	Result  []Result `json:"result"`
	Count   int      `json:"count"`
	Offset  int      `json:"offset"`
	Total   int      `json:"total"`
	Success bool     `json:"success"`
}

type RespInfo

type RespInfo struct {
	Info struct {
		Version               string `json:"version"`
		Build                 Build  `json:"build"`
		Commit                Commit `json:"commit"`
		MarketplaceAPIVersion string `json:"marketplaceApiVersion"`
	} `json:"info"`
	Success bool `json:"success"`
}

type RespMessageData

type RespMessageData struct {
	Alias     string    `json:"alias,omitempty"`
	Msg       string    `json:"msg,omitempty"`
	ParseUrls bool      `json:"parseUrls,omitempty"`
	Groupable bool      `json:"groupable,omitempty"`
	Ts        time.Time `json:"ts,omitempty"`
	U         UChat     `json:"u,omitempty"`
	Rid       string    `json:"rid,omitempty"`
	UpdatedAt time.Time `json:"_updatedAt,omitempty"`
	ID        string    `json:"_id,omitempty"`
}

type RespPostMessage

type RespPostMessage struct {
	Ts        int64           `json:"ts"`
	Channel   string          `json:"channel"`
	Message   RespMessageData `json:"message"`
	Success   bool            `json:"success"`
	Error     string          `json:"error,omitempty"`
	ErrorType string          `json:"errorType,omitempty"`
}

type RespSpotlight

type RespSpotlight struct {
	Users   []UsersInfo `json:"users"`
	Rooms   []RoomsInfo `json:"rooms"`
	Success bool        `json:"success"`
	Error   string      `json:"error,omitempty"`
}

type RespStatistics

type RespStatistics struct {
	ID                        string       `json:"_id"`
	Wizard                    Wizard       `json:"wizard"`
	UniqueID                  string       `json:"uniqueId"`
	InstalledAt               time.Time    `json:"installedAt"`
	Version                   string       `json:"version"`
	TotalUsers                int          `json:"totalUsers"`
	ActiveUsers               int          `json:"activeUsers"`
	ActiveGuests              int          `json:"activeGuests"`
	NonActiveUsers            int          `json:"nonActiveUsers"`
	AppUsers                  int          `json:"appUsers"`
	OnlineUsers               int          `json:"onlineUsers"`
	AwayUsers                 int          `json:"awayUsers"`
	TotalConnectedUsers       int          `json:"totalConnectedUsers"`
	OfflineUsers              int          `json:"offlineUsers"`
	TotalRooms                int          `json:"totalRooms"`
	TotalChannels             int          `json:"totalChannels"`
	TotalPrivateGroups        int          `json:"totalPrivateGroups"`
	TotalDirect               int          `json:"totalDirect"`
	TotalLivechat             int          `json:"totalLivechat"`
	TotalDiscussions          int          `json:"totalDiscussions"`
	TotalThreads              int          `json:"totalThreads"`
	TotalLivechatVisitors     int          `json:"totalLivechatVisitors"`
	TotalLivechatAgents       int          `json:"totalLivechatAgents"`
	LivechatEnabled           bool         `json:"livechatEnabled"`
	TotalChannelMessages      int          `json:"totalChannelMessages"`
	TotalPrivateGroupMessages int          `json:"totalPrivateGroupMessages"`
	TotalDirectMessages       int          `json:"totalDirectMessages"`
	TotalLivechatMessages     int          `json:"totalLivechatMessages"`
	TotalMessages             int          `json:"totalMessages"`
	FederatedServers          int          `json:"federatedServers"`
	FederatedUsers            int          `json:"federatedUsers"`
	LastLogin                 time.Time    `json:"lastLogin"`
	LastMessageSentAt         time.Time    `json:"lastMessageSentAt"`
	LastSeenSubscription      time.Time    `json:"lastSeenSubscription"`
	Os                        Os           `json:"os"`
	Process                   Process      `json:"process"`
	Deploy                    Deploy       `json:"deploy"`
	EnterpriseReady           bool         `json:"enterpriseReady"`
	UploadsTotal              int          `json:"uploadsTotal"`
	UploadsTotalSize          int          `json:"uploadsTotalSize"`
	Migration                 Migration    `json:"migration"`
	InstanceCount             int          `json:"instanceCount"`
	OplogEnabled              bool         `json:"oplogEnabled"`
	MongoVersion              string       `json:"mongoVersion"`
	MongoStorageEngine        string       `json:"mongoStorageEngine"`
	UniqueUsersOfYesterday    Stats        `json:"uniqueUsersOfYesterday"`
	UniqueUsersOfLastMonth    Stats        `json:"uniqueUsersOfLastMonth"`
	UniqueDevicesOfYesterday  Stats        `json:"uniqueDevicesOfYesterday"`
	UniqueDevicesOfLastMonth  Stats        `json:"uniqueDevicesOfLastMonth"`
	UniqueOSOfYesterday       Stats        `json:"uniqueOSOfYesterday"`
	UniqueOSOfLastMonth       Stats        `json:"uniqueOSOfLastMonth"`
	Apps                      Apps         `json:"apps"`
	Integrations              Integrations `json:"integrations"`
	PushQueue                 int          `json:"pushQueue"`
	CreatedAt                 time.Time    `json:"createdAt"`
	UpdatedAt                 time.Time    `json:"_updatedAt"`
	Success                   bool         `json:"success"`
}

type RespStatisticsList

type RespStatisticsList struct {
	Statistics []struct {
		ID                        string       `json:"_id"`
		Wizard                    Wizard       `json:"wizard"`
		UniqueID                  string       `json:"uniqueId"`
		InstalledAt               time.Time    `json:"installedAt"`
		Version                   string       `json:"version"`
		TotalUsers                int          `json:"totalUsers"`
		ActiveUsers               int          `json:"activeUsers"`
		ActiveGuests              int          `json:"activeGuests"`
		NonActiveUsers            int          `json:"nonActiveUsers"`
		AppUsers                  int          `json:"appUsers"`
		OnlineUsers               int          `json:"onlineUsers"`
		AwayUsers                 int          `json:"awayUsers"`
		TotalConnectedUsers       int          `json:"totalConnectedUsers"`
		OfflineUsers              int          `json:"offlineUsers"`
		TotalRooms                int          `json:"totalRooms"`
		TotalChannels             int          `json:"totalChannels"`
		TotalPrivateGroups        int          `json:"totalPrivateGroups"`
		TotalDirect               int          `json:"totalDirect"`
		TotalLivechat             int          `json:"totalLivechat"`
		TotalDiscussions          int          `json:"totalDiscussions"`
		TotalThreads              int          `json:"totalThreads"`
		TotalLivechatVisitors     int          `json:"totalLivechatVisitors"`
		TotalLivechatAgents       int          `json:"totalLivechatAgents"`
		TotalChannelMessages      int          `json:"totalChannelMessages"`
		TotalPrivateGroupMessages int          `json:"totalPrivateGroupMessages"`
		TotalDirectMessages       int          `json:"totalDirectMessages"`
		TotalLivechatMessages     int          `json:"totalLivechatMessages"`
		TotalMessages             int          `json:"totalMessages"`
		FederatedServers          int          `json:"federatedServers"`
		FederatedUsers            int          `json:"federatedUsers"`
		Os                        Os           `json:"os"`
		Process                   Process      `json:"process"`
		Deploy                    Deploy       `json:"deploy"`
		EnterpriseReady           bool         `json:"enterpriseReady"`
		UploadsTotal              int          `json:"uploadsTotal"`
		UploadsTotalSize          int          `json:"uploadsTotalSize"`
		Migration                 Migration    `json:"migration"`
		InstanceCount             int          `json:"instanceCount"`
		OplogEnabled              bool         `json:"oplogEnabled"`
		MongoVersion              string       `json:"mongoVersion"`
		MongoStorageEngine        string       `json:"mongoStorageEngine"`
		UniqueUsersOfYesterday    Stats        `json:"uniqueUsersOfYesterday"`
		UniqueUsersOfLastMonth    Stats        `json:"uniqueUsersOfLastMonth"`
		UniqueDevicesOfYesterday  Stats        `json:"uniqueDevicesOfYesterday"`
		UniqueDevicesOfLastMonth  Stats        `json:"uniqueDevicesOfLastMonth"`
		UniqueOSOfYesterday       Stats        `json:"uniqueOSOfYesterday"`
		UniqueOSOfLastMonth       Stats        `json:"uniqueOSOfLastMonth"`
		Apps                      Apps         `json:"apps"`
		Integrations              Integrations `json:"integrations"`
		PushQueue                 int          `json:"pushQueue"`
		CreatedAt                 time.Time    `json:"createdAt"`
		UpdatedAt                 time.Time    `json:"_updatedAt"`
		LivechatEnabled           bool         `json:"livechatEnabled,omitempty"`
		LastLogin                 time.Time    `json:"lastLogin,omitempty"`
		LastMessageSentAt         time.Time    `json:"lastMessageSentAt,omitempty"`
		LastSeenSubscription      time.Time    `json:"lastSeenSubscription,omitempty"`
	} `json:"statistics"`
	Count   int  `json:"count"`
	Offset  int  `json:"offset"`
	Total   int  `json:"total"`
	Success bool `json:"success"`
}

type Result

type Result struct {
	ID          string      `json:"_id"`
	Ts          time.Time   `json:"ts"`
	T           string      `json:"t"`
	Name        string      `json:"name"`
	UsersCount  int         `json:"usersCount"`
	Default     bool        `json:"default"`
	LastMessage LastMessage `json:"lastMessage"`
}

type RoomsInfo

type RoomsInfo struct {
	ID          string      `json:"_id"`
	Name        string      `json:"name"`
	T           string      `json:"t"`
	LastMessage LastMessage `json:"lastMessage"`
}

type SendMessageEnvelope

type SendMessageEnvelope struct {
	Message FocusedMessage `json:"message"`
}

type Services

type Services struct {
	Password Password `json:"password"`
}

type SetAnnouncementRequest

type SetAnnouncementRequest struct {
	RoomId       string `json:"roomId"`
	Announcement string `json:"announcement"`
}

type SetAnnouncementResponse

type SetAnnouncementResponse struct {
	Announcement string `json:"announcement"`
	Success      bool   `json:"success"`
}

type SetDescriptionRequest

type SetDescriptionRequest struct {
	RoomId      string `json:"roomId"`
	Description string `json:"description"`
}

type SetDescriptionResponse

type SetDescriptionResponse struct {
	Description string `json:"description"`
	Success     bool   `json:"success"`
}

type SetStatus

type SetStatus struct {
	Message string `json:"message"`
	Status  string `json:"status,omitempty"`
}

type SetTopicRequest

type SetTopicRequest struct {
	RoomId string `json:"roomId"`
	Topic  string `json:"topic"`
}

type SetTopicResponse

type SetTopicResponse struct {
	Topic   string `json:"topic"`
	Success bool   `json:"success"`
}

type Settings

type Settings struct {
	Preferences Preferences `json:"preferences"`
}

type SimpleChannelId

type SimpleChannelId struct {
	RoomId string `json:"roomId,omitempty"`
}

type SimpleChannelRequest

type SimpleChannelRequest struct {
	RoomId   string `json:"roomId,omitempty"`
	RoomName string `json:"roomName,omitempty"`
}

type SimpleGroupId

type SimpleGroupId struct {
	RoomId string `json:"roomId,omitempty"`
}

type SimpleGroupRequest

type SimpleGroupRequest struct {
	RoomId   string `json:"roomId,omitempty"`
	RoomName string `json:"roomName,omitempty"`
}

type SimpleSuccessResponse

type SimpleSuccessResponse struct {
	Success bool `json:"success"`
}

type SimpleUserRequest

type SimpleUserRequest struct {
	UserId   string `json:"userId,omitempty"`
	Username string `json:"username,omitempty"`
}

type SingleMessageId

type SingleMessageId struct {
	MessageId string `json:"messageId"`
}

type Stats

type Stats struct {
	Year  int           `json:"year"`
	Month int           `json:"month"`
	Day   int           `json:"day"`
	Data  []interface{} `json:"data"`
}

type SupportedLanguageResp

type SupportedLanguageResp struct {
	Languages []language `json:"languages"`
	Success   bool       `json:"success"`
}

type Times

type Times struct {
	User int `json:"user"`
	Nice int `json:"nice"`
	Sys  int `json:"sys"`
	Idle int `json:"idle"`
	Irq  int `json:"irq"`
}

type U

type U struct {
	ID       string `json:"_id"`
	Username string `json:"username"`
	Name     string `json:"name,omitempty"`
}

type UChat

type UChat struct {
	ID       string `json:"_id,omitempty"`
	Username string `json:"username,omitempty"`
}

type UserCreateResponse

type UserCreateResponse struct {
	User    userCreateInfo `json:"user"`
	Success bool           `json:"success"`
}

type UserRegisterRequest

type UserRegisterRequest struct {
	Username  string `json:"username"`
	Email     string `json:"email"`
	Pass      string `json:"pass"`
	Name      string `json:"name"`
	SecretURL string `json:"secret_url,omitempty"`
}

type UserUpdateData

type UserUpdateData struct {
	Email                 string   `json:"email,omitempty"`
	Name                  string   `json:"name,omitempty"`
	Password              string   `json:"password,omitempty"`
	Username              string   `json:"username,omitempty"`
	Active                bool     `json:"active,omitempty"`
	Roles                 []string `json:"roles,omitempty"`
	RequirePasswordChange bool     `json:"requirePasswordChange,omitempty"`
	SendWelcomeEmail      bool     `json:"sendWelcomeEmail,omitempty"`
	Verified              bool     `json:"verified,omitempty"`
}

type UserUpdateRequest

type UserUpdateRequest struct {
	UserId string         `json:"userId"`
	Data   UserUpdateData `json:"data,omitempty"`
}

type UserUpdateResponse

type UserUpdateResponse struct {
	User    userUpdateInfo `json:"user"`
	Success bool           `json:"success"`
}

type UsersDelete

type UsersDelete struct {
	Username string `json:"username"`
}

type UsersInfo

type UsersInfo struct {
	ID         string `json:"_id"`
	Status     string `json:"status"`
	Name       string `json:"name"`
	Username   string `json:"username"`
	StatusText string `json:"statusText"`
}

type UsersInfoResponse

type UsersInfoResponse struct {
	User    singleUserInfo `json:"user"`
	Success bool           `json:"success"`
}

type UsersPresenceResponse

type UsersPresenceResponse struct {
	Users   []user `json:"users"`
	Full    bool   `json:"full"`
	Success bool   `json:"success"`
}

type Wizard

type Wizard struct {
	OrganizationType string `json:"organizationType"`
	Industry         string `json:"industry"`
	Size             string `json:"size"`
	Country          string `json:"country"`
	Language         string `json:"language"`
	ServerType       string `json:"serverType"`
	RegisterServer   bool   `json:"registerServer"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL