api

package
v3.6.5 Latest Latest
Warning

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

Go to latest
Published: Mar 22, 2017 License: AGPL-3.0, Apache-2.0 Imports: 59 Imported by: 0

Documentation

Index

Constants

View Source
const (
	USER_PASSWORD              = "passwd"
	CHANNEL_TYPE               = model.CHANNEL_OPEN
	FUZZ_USER_EMAIL_PREFIX_LEN = 10
	BTEST_TEAM_DISPLAY_NAME    = "TestTeam"
	BTEST_TEAM_NAME            = "z-z-testdomaina"
	BTEST_TEAM_EMAIL           = "test@nowhere.com"
	BTEST_TEAM_TYPE            = model.TEAM_OPEN
	BTEST_USER_NAME            = "Mr. Testing Tester"
	BTEST_USER_EMAIL           = "success+ttester@simulator.amazonses.com"
	BTEST_USER_PASSWORD        = "passwd"
)
View Source
const (
	CMD_EXPAND   = "expand"
	CMD_COLLAPSE = "collapse"
)
View Source
const (
	MaxEmojiFileSize = 1000 * 1024 // 1 MB
	MaxEmojiWidth    = 128
	MaxEmojiHeight   = 128
)
View Source
const (
	/*
	  EXIF Image Orientations
	  1        2       3      4         5            6           7          8

	  888888  888888      88  88      8888888888  88                  88  8888888888
	  88          88      88  88      88  88      88  88          88  88      88  88
	  8888      8888    8888  8888    88          8888888888  8888888888          88
	  88          88      88  88
	  88          88  888888  888888
	*/
	Upright            = 1
	UprightMirrored    = 2
	UpsideDown         = 3
	UpsideDownMirrored = 4
	RotatedCWMirrored  = 5
	RotatedCCW         = 6
	RotatedCCWMirrored = 7
	RotatedCW          = 8

	MaxImageSize = 6048 * 4032 // 24 megapixels, roughly 36MB as a raw image
)
View Source
const (
	EXPIRED_LICENSE_ERROR = "api.license.add_license.expired.app_error"
	INVALID_LICENSE_ERROR = "api.license.add_license.invalid.app_error"
)
View Source
const (
	TRIGGERWORDS_FULL       = 0
	TRIGGERWORDS_STARTSWITH = 1
)
View Source
const (
	WRITE_WAIT                = 30 * time.Second
	PONG_WAIT                 = 100 * time.Second
	PING_PERIOD               = (PONG_WAIT * 6) / 10
	AUTH_TIMEOUT              = 5 * time.Second
	WEBCONN_MEMBER_CACHE_TIME = 1000 * 60 * 30 // 30 minutes
)
View Source
const (
	CMD_AWAY = "away"
)
View Source
const (
	CMD_ECHO = "echo"
)
View Source
const (
	CMD_INVITE_PEOPLE = "invite_people"
)
View Source
const (
	CMD_JOIN = "join"
)
View Source
const (
	CMD_LOADTEST = "loadtest"
)
View Source
const (
	CMD_LOGOUT = "logout"
)
View Source
const (
	CMD_ME = "me"
)
View Source
const (
	CMD_MSG = "msg"
)
View Source
const (
	CMD_OFFLINE = "offline"
)
View Source
const (
	CMD_ONLINE = "online"
)
View Source
const (
	CMD_SHORTCUTS = "shortcuts"
)
View Source
const (
	CMD_SHRUG = "shrug"
)
View Source
const (
	EMAIL_BATCHING_TASK_NAME = "Email Batching"
)
View Source
const (
	SOCKET_MAX_MESSAGE_SIZE_KB = 8 * 1024 // 8KB
)
View Source
const TIME_TO_WAIT_FOR_CONNECTIONS_TO_CLOSE_ON_SERVER_SHUTDOWN = time.Second

Variables

View Source
var (
	TEAM_NAME_LEN            = utils.Range{10, 20}
	TEAM_DOMAIN_NAME_LEN     = utils.Range{10, 20}
	TEAM_EMAIL_LEN           = utils.Range{15, 30}
	USER_NAME_LEN            = utils.Range{5, 20}
	USER_EMAIL_LEN           = utils.Range{15, 30}
	CHANNEL_DISPLAY_NAME_LEN = utils.Range{10, 20}
	CHANNEL_NAME_LEN         = utils.Range{5, 20}
	POST_MESSAGE_LEN         = utils.Range{100, 400}
	POST_HASHTAGS_NUM        = utils.Range{5, 10}
	POST_MENTIONS_NUM        = utils.Range{0, 3}
	TEST_IMAGE_FILENAMES     = []string{"test.png", "testjpg.jpg", "testgif.gif"}
)

Functions

func ActivateMfa

func ActivateMfa(userId, token string) *model.AppError

func AddNotificationEmailToBatch added in v3.4.0

func AddNotificationEmailToBatch(user *model.User, post *model.Post, team *model.Team) *model.AppError

func AddSessionToCache

func AddSessionToCache(session *model.Session)

func AddStatusCache added in v3.3.0

func AddStatusCache(status *model.Status)

func AddStatusCacheSkipClusterSend added in v3.5.0

func AddStatusCacheSkipClusterSend(status *model.Status)

func AddUserToChannel

func AddUserToChannel(user *model.User, channel *model.Channel) (*model.ChannelMember, *model.AppError)

func ApiAdminSystemRequired

func ApiAdminSystemRequired(h func(*Context, http.ResponseWriter, *http.Request)) http.Handler

func ApiAdminSystemRequiredTrustRequester added in v3.5.0

func ApiAdminSystemRequiredTrustRequester(h func(*Context, http.ResponseWriter, *http.Request)) http.Handler

func ApiAppHandler

func ApiAppHandler(h func(*Context, http.ResponseWriter, *http.Request)) http.Handler

func ApiAppHandlerTrustRequester

func ApiAppHandlerTrustRequester(h func(*Context, http.ResponseWriter, *http.Request)) http.Handler

func ApiAppHandlerTrustRequesterIndependent

func ApiAppHandlerTrustRequesterIndependent(h func(*Context, http.ResponseWriter, *http.Request)) http.Handler

func ApiUserRequired

func ApiUserRequired(h func(*Context, http.ResponseWriter, *http.Request)) http.Handler

func ApiUserRequiredActivity

func ApiUserRequiredActivity(h func(*Context, http.ResponseWriter, *http.Request), isUserActivity bool) http.Handler

func ApiUserRequiredMfa added in v3.6.0

func ApiUserRequiredMfa(h func(*Context, http.ResponseWriter, *http.Request)) http.Handler

func ApiUserRequiredTrustRequester

func ApiUserRequiredTrustRequester(h func(*Context, http.ResponseWriter, *http.Request)) http.Handler

func ApiWebSocketHandler added in v3.3.0

func ApiWebSocketHandler(wh func(*model.WebSocketRequest) (map[string]interface{}, *model.AppError)) *webSocketHandler

func AppHandler

func AppHandler(h func(*Context, http.ResponseWriter, *http.Request)) http.Handler

func AppHandlerIndependent

func AppHandlerIndependent(h func(*Context, http.ResponseWriter, *http.Request)) http.Handler

func AppHandlerTrustRequester added in v3.3.0

func AppHandlerTrustRequester(h func(*Context, http.ResponseWriter, *http.Request)) http.Handler

func AuthorizeOAuthUser

func AuthorizeOAuthUser(service, code, state, redirectUri string) (io.ReadCloser, string, map[string]string, *model.AppError)

func CanManageChannel added in v3.2.0

func CanManageChannel(c *Context, channel *model.Channel) bool

func CheckIfRolesGrantPermission added in v3.5.0

func CheckIfRolesGrantPermission(roles []string, permissionId string) bool

func CheckUserDomain

func CheckUserDomain(user *model.User, domains string) bool

Check that a user's email domain matches a list of space-delimited domains as a string.

func ClearStatusCache added in v3.6.0

func ClearStatusCache()

func CompleteSwitchWithOAuth

func CompleteSwitchWithOAuth(c *Context, w http.ResponseWriter, r *http.Request, service string, userData io.ReadCloser, email string)

func CreateBasicUser

func CreateBasicUser(client *model.Client) *model.AppError

Basic test team and user so you always know one

func CreateChannel

func CreateChannel(c *Context, channel *model.Channel, addMember bool) (*model.Channel, *model.AppError)

func CreateCommandPost added in v3.6.0

func CreateCommandPost(c *Context, post *model.Post, response *model.CommandResponse)

func CreateDefaultChannels

func CreateDefaultChannels(c *Context, teamId string) ([]*model.Channel, *model.AppError)

func CreateDirectChannel

func CreateDirectChannel(userId string, otherUserId string) (*model.Channel, *model.AppError)

func CreateOAuthUser

func CreateOAuthUser(c *Context, w http.ResponseWriter, r *http.Request, service string, userData io.Reader, teamId string) *model.User

func CreatePost

func CreatePost(c *Context, post *model.Post, triggerWebhooks bool) (*model.Post, *model.AppError)

func CreateTeam

func CreateTeam(c *Context, team *model.Team) *model.Team

func CreateUser

func CreateUser(user *model.User) (*model.User, *model.AppError)

func CreateWebhookPost

func CreateWebhookPost(c *Context, channelId, text, overrideUsername, overrideIconUrl string, props model.StringInterface, postType string) (*model.Post, *model.AppError)

func DeactivateMfa

func DeactivateMfa(userId string) *model.AppError

func DeleteFlaggedPost added in v3.4.0

func DeleteFlaggedPost(userId string, post *model.Post)

func DeletePostFiles added in v3.1.0

func DeletePostFiles(post *model.Post)

func DoesStatusAllowPushNotification added in v3.4.0

func DoesStatusAllowPushNotification(user *model.User, status *model.Status, channelId string) bool

func FindTeamByName

func FindTeamByName(name string) bool

func GetAllStatuses added in v3.3.0

func GetAllStatuses() map[string]*model.Status

func GetAllTeamListings

func GetAllTeamListings(c *Context, w http.ResponseWriter, r *http.Request)

func GetAuthData

func GetAuthData(code string) *model.AuthData

func GetAuthorizationCode

func GetAuthorizationCode(c *Context, service string, props map[string]string, loginHint string) (string, *model.AppError)

func GetIpAddress

func GetIpAddress(r *http.Request) string

func GetLogs added in v3.3.0

func GetLogs() ([]string, *model.AppError)

func GetProtocol

func GetProtocol(r *http.Request) string

func GetSession

func GetSession(token string) *model.Session

func GetStatus added in v3.3.0

func GetStatus(userId string) (*model.Status, *model.AppError)

func GetStatusFromCache added in v3.6.0

func GetStatusFromCache(userId string) *model.Status

func GetStatusesByIds added in v3.5.0

func GetStatusesByIds(userIds []string) (map[string]interface{}, *model.AppError)

func Handle404

func Handle404(w http.ResponseWriter, r *http.Request)

func HandleEtag

func HandleEtag(etag string, routeName string, w http.ResponseWriter, r *http.Request) bool

func HasPermissionTo added in v3.5.0

func HasPermissionTo(user *model.User, permission *model.Permission) bool

func HasPermissionToChannel added in v3.5.0

func HasPermissionToChannel(user *model.User, teamMember *model.TeamMember, channelMember *model.ChannelMember, permission *model.Permission) bool

func HasPermissionToChannelByPostContext added in v3.5.0

func HasPermissionToChannelByPostContext(c *Context, postId string, permission *model.Permission) bool

func HasPermissionToChannelContext added in v3.5.0

func HasPermissionToChannelContext(c *Context, channelId string, permission *model.Permission) bool

func HasPermissionToContext added in v3.5.0

func HasPermissionToContext(c *Context, permission *model.Permission) bool

func HasPermissionToCurrentTeamContext added in v3.5.0

func HasPermissionToCurrentTeamContext(c *Context, permission *model.Permission) bool

func HasPermissionToTeam added in v3.5.0

func HasPermissionToTeam(user *model.User, teamMember *model.TeamMember, permission *model.Permission) bool

func HasPermissionToTeamContext added in v3.5.0

func HasPermissionToTeamContext(c *Context, teamId string, permission *model.Permission) bool

func HasPermissionToUser added in v3.5.0

func HasPermissionToUser(c *Context, userId string) bool

func HubRegister added in v3.5.0

func HubRegister(webConn *WebConn)

func HubStart added in v3.5.0

func HubStart()

func HubStop added in v3.5.0

func HubStop()

func HubUnregister added in v3.5.0

func HubUnregister(webConn *WebConn)

func ImportChannel

func ImportChannel(channel *model.Channel) *model.Channel

func ImportFile added in v3.5.0

func ImportFile(file io.Reader, teamId string, channelId string, userId string, fileName string) (*model.FileInfo, error)

func ImportIncomingWebhookPost added in v3.5.0

func ImportIncomingWebhookPost(post *model.Post, props model.StringInterface)

func ImportPost

func ImportPost(post *model.Post)

func ImportUser

func ImportUser(team *model.Team, user *model.User) *model.User

func InitAdmin

func InitAdmin()

func InitApi

func InitApi()

func InitChannel

func InitChannel()

func InitCommand

func InitCommand()

func InitDeprecated added in v3.6.0

func InitDeprecated()

func InitEmailBatching added in v3.4.0

func InitEmailBatching()

func InitEmoji added in v3.2.0

func InitEmoji()

func InitFile

func InitFile()

func InitGeneral added in v3.1.0

func InitGeneral()

func InitLicense

func InitLicense()

func InitOAuth

func InitOAuth()

func InitPost

func InitPost()

func InitPreference

func InitPreference()

func InitReaction added in v3.6.0

func InitReaction()

func InitRouter added in v3.6.0

func InitRouter()

func InitStatus added in v3.3.0

func InitStatus()

func InitStores added in v3.6.0

func InitStores()

func InitTeam

func InitTeam()

func InitUser

func InitUser()

func InitWebSocket

func InitWebSocket()

func InitWebhook

func InitWebhook()

func InitWebrtc added in v3.5.0

func InitWebrtc()

func InvalidateAllCaches added in v3.6.0

func InvalidateAllCaches()

func InvalidateCacheForChannel

func InvalidateCacheForChannel(channel *model.Channel)

func InvalidateCacheForChannelByNameSkipClusterSend added in v3.6.2

func InvalidateCacheForChannelByNameSkipClusterSend(teamId, name string)

func InvalidateCacheForChannelMembers added in v3.6.2

func InvalidateCacheForChannelMembers(channelId string)

func InvalidateCacheForChannelMembersSkipClusterSend added in v3.6.2

func InvalidateCacheForChannelMembersSkipClusterSend(channelId string)

func InvalidateCacheForChannelPosts added in v3.6.0

func InvalidateCacheForChannelPosts(channelId string)

func InvalidateCacheForChannelPostsSkipClusterSend added in v3.6.0

func InvalidateCacheForChannelPostsSkipClusterSend(channelId string)

func InvalidateCacheForChannelSkipClusterSend added in v3.6.0

func InvalidateCacheForChannelSkipClusterSend(channelId string)

func InvalidateCacheForUser

func InvalidateCacheForUser(userId string)

func InvalidateCacheForUserSkipClusterSend added in v3.5.0

func InvalidateCacheForUserSkipClusterSend(userId string)

func InvalidateCacheForWebhook added in v3.6.2

func InvalidateCacheForWebhook(webhookId string)

func InvalidateCacheForWebhookSkipClusterSend added in v3.6.2

func InvalidateCacheForWebhookSkipClusterSend(webhookId string)

func InvalidateWebConnSessionCacheForUser added in v3.6.0

func InvalidateWebConnSessionCacheForUser(userId string)

func InviteMembers

func InviteMembers(team *model.Team, senderName string, invites []string, siteURL string)

func IsApiCall

func IsApiCall(r *http.Request) bool

func IsUserAway added in v3.3.0

func IsUserAway(lastActivityAt int64) bool

func IsUsernameTaken

func IsUsernameTaken(name string) bool

Check if the username is already used by another user. Return false if the username is invalid.

func IsVerifyHashRequired

func IsVerifyHashRequired(user *model.User, team *model.Team, hash string) bool

func JoinChannelById

func JoinChannelById(c *Context, userId string, channelId string) (*model.AppError, *model.Channel)

func JoinChannelByName

func JoinChannelByName(c *Context, userId string, teamId string, channelName string) (*model.AppError, *model.Channel)

func JoinDefaultChannels

func JoinDefaultChannels(teamId string, user *model.User, channelRole string) *model.AppError

func JoinUserToTeam

func JoinUserToTeam(team *model.Team, user *model.User) *model.AppError

func JoinUserToTeamById added in v3.1.0

func JoinUserToTeamById(teamId string, user *model.User) *model.AppError

func LeaveTeam added in v3.2.0

func LeaveTeam(team *model.Team, user *model.User) *model.AppError

func LinkUserToTeam

func LinkUserToTeam(user *model.User, team *model.Team)

func LoadLicense

func LoadLicense()

func LoginByOAuth

func LoginByOAuth(c *Context, w http.ResponseWriter, r *http.Request, service string, userData io.Reader) *model.User

func Logout

func Logout(c *Context, w http.ResponseWriter, r *http.Request)

func MakeUserChannelAdmin added in v3.6.0

func MakeUserChannelAdmin(user *model.User, channel *model.Channel)

func MakeUserChannelUser added in v3.6.0

func MakeUserChannelUser(user *model.User, channel *model.Channel)

func MoveFile

func MoveFile(oldPath, newPath string) *model.AppError

func NewInvalidParamError

func NewInvalidParamError(where string, name string) *model.AppError

func NewInvalidWebSocketParamError added in v3.3.0

func NewInvalidWebSocketParamError(action string, name string) *model.AppError

func NewServer

func NewServer()

func PermanentDeleteAllUsers

func PermanentDeleteAllUsers() *model.AppError

func PermanentDeleteTeam

func PermanentDeleteTeam(team *model.Team) *model.AppError

func PermanentDeleteUser

func PermanentDeleteUser(user *model.User) *model.AppError

func PostUpdateChannelDisplayNameMessage added in v3.6.0

func PostUpdateChannelDisplayNameMessage(c *Context, channelId string, oldChannelDisplayName, newChannelDisplayName string)

func PostUpdateChannelHeaderMessage added in v3.1.0

func PostUpdateChannelHeaderMessage(c *Context, channelId string, oldChannelHeader, newChannelHeader string)

func PostUserAddRemoveMessage added in v3.1.0

func PostUserAddRemoveMessage(c *Context, channelId string, message, postType string)

func Publish added in v3.1.0

func Publish(message *model.WebSocketEvent)

func PublishSkipClusterSend added in v3.3.0

func PublishSkipClusterSend(message *model.WebSocketEvent)

func ReadFile

func ReadFile(path string) ([]byte, *model.AppError)

func RegisterCommandProvider

func RegisterCommandProvider(newProvider CommandProvider)

func RemoveAllSessionsForUserId

func RemoveAllSessionsForUserId(userId string)

func RemoveAllSessionsForUserIdSkipClusterSend added in v3.5.0

func RemoveAllSessionsForUserIdSkipClusterSend(userId string)

func RemoveLicense

func RemoveLicense() *model.AppError

func RemoveUserFromChannel

func RemoveUserFromChannel(userIdToRemove string, removerUserId string, channel *model.Channel) *model.AppError

func RenderWebError

func RenderWebError(err *model.AppError, w http.ResponseWriter, r *http.Request)

func ResetPassword

func ResetPassword(c *Context, userId, newPassword string) *model.AppError

func ReturnStatusOK added in v3.1.0

func ReturnStatusOK(w http.ResponseWriter)

func RevokeAccessToken

func RevokeAccessToken(token string) *model.AppError

func RevokeAllSession

func RevokeAllSession(c *Context, userId string)

IF YOU UPDATE THIS PLEASE UPDATE BELOW

func RevokeAllSessionsNoContext added in v3.1.0

func RevokeAllSessionsNoContext(userId string) *model.AppError

UGH... If you update this please update above

func RevokeSessionById

func RevokeSessionById(c *Context, sessionId string)

func RevokeWebrtcToken added in v3.5.0

func RevokeWebrtcToken(sessionId string)

func SaveLicense

func SaveLicense(licenseBytes []byte) (*model.License, *model.AppError)

func SendEmailChangeVerifyEmail added in v3.1.0

func SendEmailChangeVerifyEmail(c *Context, userId, newUserEmail, siteURL string)

func SendEphemeralPost

func SendEphemeralPost(teamId, userId string, post *model.Post)

func SendVerifyEmail added in v3.1.0

func SendVerifyEmail(c *Context, userId, userEmail, siteURL string)

func SetActiveChannel added in v3.4.0

func SetActiveChannel(userId string, channelId string) *model.AppError

func SetStatusAwayIfNeeded added in v3.3.0

func SetStatusAwayIfNeeded(userId string, manual bool)

func SetStatusOffline added in v3.3.0

func SetStatusOffline(userId string, manual bool)

func SetStatusOnline added in v3.3.0

func SetStatusOnline(userId string, sessionId string, manual bool)

func SlackAddBotUser added in v3.5.0

func SlackAddBotUser(teamId string, log *bytes.Buffer) *model.User

func SlackAddChannels

func SlackAddChannels(teamId string, slackchannels []SlackChannel, posts map[string][]SlackPost, users map[string]*model.User, uploads map[string]*zip.File, botUser *model.User, log *bytes.Buffer) map[string]*model.Channel

func SlackAddPosts

func SlackAddPosts(teamId string, channel *model.Channel, posts []SlackPost, users map[string]*model.User, uploads map[string]*zip.File, botUser *model.User)

func SlackAddUsers

func SlackAddUsers(teamId string, slackusers []SlackUser, log *bytes.Buffer) map[string]*model.User

func SlackConvertChannelMentions added in v3.5.0

func SlackConvertChannelMentions(channels []SlackChannel, posts map[string][]SlackPost) map[string][]SlackPost

func SlackConvertChannelName

func SlackConvertChannelName(channelName string) string

func SlackConvertPostsMarkup added in v3.6.0

func SlackConvertPostsMarkup(posts map[string][]SlackPost) map[string][]SlackPost

func SlackConvertTimeStamp

func SlackConvertTimeStamp(ts string) int64

func SlackConvertUserMentions added in v3.4.0

func SlackConvertUserMentions(users []SlackUser, posts map[string][]SlackPost) map[string][]SlackPost

func SlackImport

func SlackImport(fileData multipart.File, fileSize int64, teamID string) (*model.AppError, *bytes.Buffer)

func SlackSanitiseChannelProperties added in v3.5.0

func SlackSanitiseChannelProperties(channel model.Channel) model.Channel

func SlackUploadFile added in v3.5.0

func SlackUploadFile(sPost SlackPost, uploads map[string]*zip.File, teamId string, channelId string, userId string) (*model.FileInfo, bool)

func StartServer

func StartServer()

func StopServer

func StopServer()

func TearDown

func TearDown()

func TotalWebsocketConnections added in v3.5.0

func TotalWebsocketConnections() int

func UpdateActive

func UpdateActive(user *model.User, active bool) (*model.User, *model.AppError)

func UpdateUserRoles

func UpdateUserRoles(user *model.User, newRoles string) (*model.User, *model.AppError)

func UpdateUserToNonTeamAdmin added in v3.6.3

func UpdateUserToNonTeamAdmin(user *model.User, team *model.Team)

func UpdateUserToTeamAdmin

func UpdateUserToTeamAdmin(user *model.User, team *model.Team)

func UserRequired

func UserRequired(h func(*Context, http.ResponseWriter, *http.Request)) http.Handler

func WaitForChannelMembership added in v3.6.3

func WaitForChannelMembership(channelId string, userId string)

func WriteFile

func WriteFile(f []byte, path string) *model.AppError

Types

type AutoChannelCreator

type AutoChannelCreator struct {
	Fuzzy              bool
	DisplayNameLen     utils.Range
	DisplayNameCharset string
	NameLen            utils.Range
	NameCharset        string
	ChannelType        string
	// contains filtered or unexported fields
}

func NewAutoChannelCreator

func NewAutoChannelCreator(client *model.Client, team *model.Team) *AutoChannelCreator

func (*AutoChannelCreator) CreateTestChannels

func (cfg *AutoChannelCreator) CreateTestChannels(num utils.Range) ([]*model.Channel, bool)

type AutoPostCreator

type AutoPostCreator struct {
	Fuzzy          bool
	TextLength     utils.Range
	HasImage       bool
	ImageFilenames []string
	Users          []string
	Mentions       utils.Range
	Tags           utils.Range
	// contains filtered or unexported fields
}

func NewAutoPostCreator

func NewAutoPostCreator(client *model.Client, channelid string) *AutoPostCreator

Automatic poster used for testing

func (*AutoPostCreator) CreateRandomPost

func (cfg *AutoPostCreator) CreateRandomPost() (*model.Post, bool)

func (*AutoPostCreator) CreateTestPosts

func (cfg *AutoPostCreator) CreateTestPosts(rangePosts utils.Range) ([]*model.Post, bool)

func (*AutoPostCreator) UploadTestFile

func (cfg *AutoPostCreator) UploadTestFile() ([]string, bool)

type AutoTeamCreator

type AutoTeamCreator struct {
	Fuzzy         bool
	NameLength    utils.Range
	NameCharset   string
	DomainLength  utils.Range
	DomainCharset string
	EmailLength   utils.Range
	EmailCharset  string
	// contains filtered or unexported fields
}

func NewAutoTeamCreator

func NewAutoTeamCreator(client *model.Client) *AutoTeamCreator

func (*AutoTeamCreator) CreateTestTeams

func (cfg *AutoTeamCreator) CreateTestTeams(num utils.Range) ([]*model.Team, bool)

type AutoUserCreator

type AutoUserCreator struct {
	EmailLength  utils.Range
	EmailCharset string
	NameLength   utils.Range
	NameCharset  string
	Fuzzy        bool
	// contains filtered or unexported fields
}

func NewAutoUserCreator

func NewAutoUserCreator(client *model.Client, team *model.Team) *AutoUserCreator

func (*AutoUserCreator) CreateTestUsers

func (cfg *AutoUserCreator) CreateTestUsers(num utils.Range) ([]*model.User, bool)

type AwayProvider added in v3.4.0

type AwayProvider struct {
}

func (*AwayProvider) DoCommand added in v3.4.0

func (me *AwayProvider) DoCommand(c *Context, args *model.CommandArgs, message string) *model.CommandResponse

func (*AwayProvider) GetCommand added in v3.4.0

func (me *AwayProvider) GetCommand(c *Context) *model.Command

func (*AwayProvider) GetTrigger added in v3.4.0

func (me *AwayProvider) GetTrigger() string

type CollapseProvider added in v3.1.0

type CollapseProvider struct {
}

func (*CollapseProvider) DoCommand added in v3.1.0

func (me *CollapseProvider) DoCommand(c *Context, args *model.CommandArgs, message string) *model.CommandResponse

func (*CollapseProvider) GetCommand added in v3.1.0

func (me *CollapseProvider) GetCommand(c *Context) *model.Command

func (*CollapseProvider) GetTrigger added in v3.1.0

func (me *CollapseProvider) GetTrigger() string

type CommandProvider

type CommandProvider interface {
	GetTrigger() string
	GetCommand(c *Context) *model.Command
	DoCommand(c *Context, args *model.CommandArgs, message string) *model.CommandResponse
}

func GetCommandProvider

func GetCommandProvider(name string) CommandProvider

type Context

type Context struct {
	Session   model.Session
	RequestId string
	IpAddress string
	Path      string
	Err       *model.AppError

	T      goi18n.TranslateFunc
	Locale string
	TeamId string
	// contains filtered or unexported fields
}

func (*Context) CheckTeamId added in v3.6.0

func (c *Context) CheckTeamId()

func (*Context) GetCurrentTeamMember added in v3.5.0

func (c *Context) GetCurrentTeamMember() *model.TeamMember

func (*Context) GetSiteURL

func (c *Context) GetSiteURL() string

func (*Context) GetTeamURL

func (c *Context) GetTeamURL() string

func (*Context) GetTeamURLFromTeam

func (c *Context) GetTeamURLFromTeam(team *model.Team) string

func (*Context) LogAudit

func (c *Context) LogAudit(extraInfo string)

func (*Context) LogAuditWithUserId

func (c *Context) LogAuditWithUserId(userId, extraInfo string)

func (*Context) LogDebug added in v3.2.0

func (c *Context) LogDebug(err *model.AppError)

func (*Context) LogError

func (c *Context) LogError(err *model.AppError)

func (*Context) MfaRequired added in v3.6.0

func (c *Context) MfaRequired()

func (*Context) RemoveSessionCookie

func (c *Context) RemoveSessionCookie(w http.ResponseWriter, r *http.Request)

func (*Context) SetInvalidParam

func (c *Context) SetInvalidParam(where string, name string)

func (*Context) SetSiteURL added in v3.2.0

func (c *Context) SetSiteURL(url string)

func (*Context) SetTeamURLFromSession

func (c *Context) SetTeamURLFromSession()

func (*Context) SetUnknownError

func (c *Context) SetUnknownError(where string, details string)

func (*Context) SystemAdminRequired

func (c *Context) SystemAdminRequired()

func (*Context) UserRequired

func (c *Context) UserRequired()

type CorsWrapper

type CorsWrapper struct {
	// contains filtered or unexported fields
}

func (*CorsWrapper) ServeHTTP

func (cw *CorsWrapper) ServeHTTP(w http.ResponseWriter, r *http.Request)

type EchoProvider

type EchoProvider struct {
}

func (*EchoProvider) DoCommand

func (me *EchoProvider) DoCommand(c *Context, args *model.CommandArgs, message string) *model.CommandResponse

func (*EchoProvider) GetCommand

func (me *EchoProvider) GetCommand(c *Context) *model.Command

func (*EchoProvider) GetTrigger

func (me *EchoProvider) GetTrigger() string

type EmailBatchingJob added in v3.4.0

type EmailBatchingJob struct {
	// contains filtered or unexported fields
}

func MakeEmailBatchingJob added in v3.4.0

func MakeEmailBatchingJob(bufferSize int) *EmailBatchingJob

func (*EmailBatchingJob) Add added in v3.4.0

func (job *EmailBatchingJob) Add(user *model.User, post *model.Post, team *model.Team) bool

func (*EmailBatchingJob) CheckPendingEmails added in v3.4.0

func (job *EmailBatchingJob) CheckPendingEmails()

func (*EmailBatchingJob) Start added in v3.4.0

func (job *EmailBatchingJob) Start()

type ExpandProvider added in v3.1.0

type ExpandProvider struct {
}

func (*ExpandProvider) DoCommand added in v3.1.0

func (me *ExpandProvider) DoCommand(c *Context, args *model.CommandArgs, message string) *model.CommandResponse

func (*ExpandProvider) GetCommand added in v3.1.0

func (me *ExpandProvider) GetCommand(c *Context) *model.Command

func (*ExpandProvider) GetTrigger added in v3.1.0

func (me *ExpandProvider) GetTrigger() string

type Hub

type Hub struct {
	ExplicitStop bool
	// contains filtered or unexported fields
}

func GetHubForUserId added in v3.5.0

func GetHubForUserId(userId string) *Hub

func NewWebHub added in v3.5.0

func NewWebHub() *Hub

func (*Hub) Broadcast

func (h *Hub) Broadcast(message *model.WebSocketEvent)

func (*Hub) InvalidateUser added in v3.5.0

func (h *Hub) InvalidateUser(userId string)

func (*Hub) Register

func (h *Hub) Register(webConn *WebConn)

func (*Hub) Start

func (h *Hub) Start()

func (*Hub) Stop

func (h *Hub) Stop()

func (*Hub) Unregister

func (h *Hub) Unregister(webConn *WebConn)

type InvitePeopleProvider added in v3.1.0

type InvitePeopleProvider struct {
}

func (*InvitePeopleProvider) DoCommand added in v3.1.0

func (me *InvitePeopleProvider) DoCommand(c *Context, args *model.CommandArgs, message string) *model.CommandResponse

func (*InvitePeopleProvider) GetCommand added in v3.1.0

func (me *InvitePeopleProvider) GetCommand(c *Context) *model.Command

func (*InvitePeopleProvider) GetTrigger added in v3.1.0

func (me *InvitePeopleProvider) GetTrigger() string

type JoinProvider

type JoinProvider struct {
}

func (*JoinProvider) DoCommand

func (me *JoinProvider) DoCommand(c *Context, args *model.CommandArgs, message string) *model.CommandResponse

func (*JoinProvider) GetCommand

func (me *JoinProvider) GetCommand(c *Context) *model.Command

func (*JoinProvider) GetTrigger

func (me *JoinProvider) GetTrigger() string

type LoadTestProvider

type LoadTestProvider struct {
}

func (*LoadTestProvider) ChannelsCommand

func (me *LoadTestProvider) ChannelsCommand(c *Context, channelId string, message string) *model.CommandResponse

func (*LoadTestProvider) DoCommand

func (me *LoadTestProvider) DoCommand(c *Context, args *model.CommandArgs, message string) *model.CommandResponse

func (*LoadTestProvider) GetCommand

func (me *LoadTestProvider) GetCommand(c *Context) *model.Command

func (*LoadTestProvider) GetTrigger

func (me *LoadTestProvider) GetTrigger() string

func (*LoadTestProvider) HelpCommand

func (me *LoadTestProvider) HelpCommand(c *Context, channelId string, message string) *model.CommandResponse

func (*LoadTestProvider) JsonCommand

func (me *LoadTestProvider) JsonCommand(c *Context, channelId string, message string) *model.CommandResponse

func (*LoadTestProvider) PostsCommand

func (me *LoadTestProvider) PostsCommand(c *Context, channelId string, message string) *model.CommandResponse

func (*LoadTestProvider) SetupCommand

func (me *LoadTestProvider) SetupCommand(c *Context, channelId string, message string) *model.CommandResponse

func (*LoadTestProvider) UrlCommand

func (me *LoadTestProvider) UrlCommand(c *Context, channelId string, message string) *model.CommandResponse

func (*LoadTestProvider) UsersCommand

func (me *LoadTestProvider) UsersCommand(c *Context, channelId string, message string) *model.CommandResponse

type LogoutProvider

type LogoutProvider struct {
}

func (*LogoutProvider) DoCommand

func (me *LogoutProvider) DoCommand(c *Context, args *model.CommandArgs, message string) *model.CommandResponse

func (*LogoutProvider) GetCommand

func (me *LogoutProvider) GetCommand(c *Context) *model.Command

func (*LogoutProvider) GetTrigger

func (me *LogoutProvider) GetTrigger() string

type MeProvider

type MeProvider struct {
}

func (*MeProvider) DoCommand

func (me *MeProvider) DoCommand(c *Context, args *model.CommandArgs, message string) *model.CommandResponse

func (*MeProvider) GetCommand

func (me *MeProvider) GetCommand(c *Context) *model.Command

func (*MeProvider) GetTrigger

func (me *MeProvider) GetTrigger() string

type OfflineProvider added in v3.4.0

type OfflineProvider struct {
}

func (*OfflineProvider) DoCommand added in v3.4.0

func (me *OfflineProvider) DoCommand(c *Context, args *model.CommandArgs, message string) *model.CommandResponse

func (*OfflineProvider) GetCommand added in v3.4.0

func (me *OfflineProvider) GetCommand(c *Context) *model.Command

func (*OfflineProvider) GetTrigger added in v3.4.0

func (me *OfflineProvider) GetTrigger() string

type OnlineProvider added in v3.4.0

type OnlineProvider struct {
}

func (*OnlineProvider) DoCommand added in v3.4.0

func (me *OnlineProvider) DoCommand(c *Context, args *model.CommandArgs, message string) *model.CommandResponse

func (*OnlineProvider) GetCommand added in v3.4.0

func (me *OnlineProvider) GetCommand(c *Context) *model.Command

func (*OnlineProvider) GetTrigger added in v3.4.0

func (me *OnlineProvider) GetTrigger() string

type Routes

type Routes struct {
	Root    *mux.Router // ”
	ApiRoot *mux.Router // 'api/v3'

	Users    *mux.Router // 'api/v3/users'
	NeedUser *mux.Router // 'api/v3/users/{user_id:[A-Za-z0-9]+}'

	Teams    *mux.Router // 'api/v3/teams'
	NeedTeam *mux.Router // 'api/v3/teams/{team_id:[A-Za-z0-9]+}'

	Channels        *mux.Router // 'api/v3/teams/{team_id:[A-Za-z0-9]+}/channels'
	NeedChannel     *mux.Router // 'api/v3/teams/{team_id:[A-Za-z0-9]+}/channels/{channel_id:[A-Za-z0-9]+}'
	NeedChannelName *mux.Router // 'api/v3/teams/{team_id:[A-Za-z0-9]+}/channels/name/{channel_name:[A-Za-z0-9_-]+}'

	Posts    *mux.Router // 'api/v3/teams/{team_id:[A-Za-z0-9]+}/channels/{channel_id:[A-Za-z0-9]+}/posts'
	NeedPost *mux.Router // 'api/v3/teams/{team_id:[A-Za-z0-9]+}/channels/{channel_id:[A-Za-z0-9]+}/posts/{post_id:[A-Za-z0-9]+}'

	Commands *mux.Router // 'api/v3/teams/{team_id:[A-Za-z0-9]+}/commands'
	Hooks    *mux.Router // 'api/v3/teams/{team_id:[A-Za-z0-9]+}/hooks'

	TeamFiles *mux.Router // 'api/v3/teams/{team_id:[A-Za-z0-9]+}/files'
	Files     *mux.Router // 'api/v3/files'
	NeedFile  *mux.Router // 'api/v3/files/{file_id:[A-Za-z0-9]+}'

	OAuth *mux.Router // 'api/v3/oauth'

	Admin *mux.Router // 'api/v3/admin'

	General *mux.Router // 'api/v3/general'

	Preferences *mux.Router // 'api/v3/preferences'

	License *mux.Router // 'api/v3/license'

	Public *mux.Router // 'api/v3/public'

	Emoji *mux.Router // 'api/v3/emoji'

	Webrtc *mux.Router // 'api/v3/webrtc'

	WebSocket *WebSocketRouter // websocket api
}
var BaseRoutes *Routes

type Server

type Server struct {
	Store          store.Store
	Router         *mux.Router
	GracefulServer *graceful.Server
}
var Srv *Server

type ShortcutsProvider added in v3.1.0

type ShortcutsProvider struct {
}

func (*ShortcutsProvider) DoCommand added in v3.1.0

func (me *ShortcutsProvider) DoCommand(c *Context, args *model.CommandArgs, message string) *model.CommandResponse

func (*ShortcutsProvider) GetCommand added in v3.1.0

func (me *ShortcutsProvider) GetCommand(c *Context) *model.Command

func (*ShortcutsProvider) GetTrigger added in v3.1.0

func (me *ShortcutsProvider) GetTrigger() string

type ShrugProvider

type ShrugProvider struct {
}

func (*ShrugProvider) DoCommand

func (me *ShrugProvider) DoCommand(c *Context, args *model.CommandArgs, message string) *model.CommandResponse

func (*ShrugProvider) GetCommand

func (me *ShrugProvider) GetCommand(c *Context) *model.Command

func (*ShrugProvider) GetTrigger

func (me *ShrugProvider) GetTrigger() string

type SlackAttachment added in v3.5.0

type SlackAttachment struct {
	Id      int                      `json:"id"`
	Text    string                   `json:"text"`
	Pretext string                   `json:"pretext"`
	Fields  []map[string]interface{} `json:"fields"`
}

type SlackChannel

type SlackChannel struct {
	Id      string            `json:"id"`
	Name    string            `json:"name"`
	Members []string          `json:"members"`
	Topic   map[string]string `json:"topic"`
	Purpose map[string]string `json:"purpose"`
}

func SlackParseChannels

func SlackParseChannels(data io.Reader) ([]SlackChannel, error)

type SlackComment added in v3.5.0

type SlackComment struct {
	User    string `json:"user"`
	Comment string `json:"comment"`
}

type SlackFile added in v3.5.0

type SlackFile struct {
	Id    string `json:"id"`
	Title string `json:"title"`
}

type SlackPost

type SlackPost struct {
	User        string            `json:"user"`
	BotId       string            `json:"bot_id"`
	BotUsername string            `json:"username"`
	Text        string            `json:"text"`
	TimeStamp   string            `json:"ts"`
	Type        string            `json:"type"`
	SubType     string            `json:"subtype"`
	Comment     *SlackComment     `json:"comment"`
	Upload      bool              `json:"upload"`
	File        *SlackFile        `json:"file"`
	Attachments []SlackAttachment `json:"attachments"`
}

func SlackParsePosts

func SlackParsePosts(data io.Reader) ([]SlackPost, error)

type SlackUser

type SlackUser struct {
	Id       string            `json:"id"`
	Username string            `json:"name"`
	Profile  map[string]string `json:"profile"`
}

func SlackParseUsers

func SlackParseUsers(data io.Reader) ([]SlackUser, error)

type TeamEnvironment

type TeamEnvironment struct {
	Users    []*model.User
	Channels []*model.Channel
}

func CreateTestEnvironmentInTeam

func CreateTestEnvironmentInTeam(client *model.Client, team *model.Team, rangeChannels utils.Range, rangeUsers utils.Range, rangePosts utils.Range, fuzzy bool) (TeamEnvironment, bool)

type TestEnvironment

type TestEnvironment struct {
	Teams        []*model.Team
	Environments []TeamEnvironment
}

func CreateTestEnvironmentWithTeams

func CreateTestEnvironmentWithTeams(client *model.Client, rangeTeams utils.Range, rangeChannels utils.Range, rangeUsers utils.Range, rangePosts utils.Range, fuzzy bool) (TestEnvironment, bool)

type TestHelper

type TestHelper struct {
	BasicClient  *model.Client
	BasicTeam    *model.Team
	BasicUser    *model.User
	BasicUser2   *model.User
	BasicChannel *model.Channel
	BasicPost    *model.Post

	SystemAdminClient  *model.Client
	SystemAdminTeam    *model.Team
	SystemAdminUser    *model.User
	SystemAdminChannel *model.Channel
}

func Setup

func Setup() *TestHelper

func SetupEnterprise

func SetupEnterprise() *TestHelper

func (*TestHelper) CreateChannel

func (me *TestHelper) CreateChannel(client *model.Client, team *model.Team) *model.Channel

func (*TestHelper) CreateClient

func (me *TestHelper) CreateClient() *model.Client

func (*TestHelper) CreatePost

func (me *TestHelper) CreatePost(client *model.Client, channel *model.Channel) *model.Post

func (*TestHelper) CreatePrivateChannel

func (me *TestHelper) CreatePrivateChannel(client *model.Client, team *model.Team) *model.Channel

func (*TestHelper) CreateTeam

func (me *TestHelper) CreateTeam(client *model.Client) *model.Team

func (*TestHelper) CreateUser

func (me *TestHelper) CreateUser(client *model.Client) *model.User

func (*TestHelper) CreateWebSocketClient added in v3.3.0

func (me *TestHelper) CreateWebSocketClient() (*model.WebSocketClient, *model.AppError)

func (*TestHelper) InitBasic

func (me *TestHelper) InitBasic() *TestHelper

func (*TestHelper) InitSystemAdmin

func (me *TestHelper) InitSystemAdmin() *TestHelper

func (*TestHelper) LoginBasic

func (me *TestHelper) LoginBasic()

func (*TestHelper) LoginBasic2

func (me *TestHelper) LoginBasic2()

func (*TestHelper) LoginSystemAdmin

func (me *TestHelper) LoginSystemAdmin()

type VaryBy added in v3.5.0

type VaryBy struct{}

func (*VaryBy) Key added in v3.5.0

func (m *VaryBy) Key(r *http.Request) string

type WebConn

type WebConn struct {
	WebSocket                 *websocket.Conn
	Send                      chan model.WebSocketMessage
	SessionToken              string
	SessionExpiresAt          int64
	Session                   *model.Session
	UserId                    string
	T                         goi18n.TranslateFunc
	Locale                    string
	AllChannelMembers         map[string]string
	LastAllChannelMembersTime int64
}

func NewWebConn

func NewWebConn(c *Context, ws *websocket.Conn) *WebConn

func (*WebConn) InvalidateCache

func (webCon *WebConn) InvalidateCache()

func (*WebConn) IsMemberOfTeam added in v3.5.0

func (webCon *WebConn) IsMemberOfTeam(teamId string) bool

func (*WebConn) SendHello added in v3.5.0

func (webCon *WebConn) SendHello()

func (*WebConn) ShouldSendEvent added in v3.5.0

func (webCon *WebConn) ShouldSendEvent(msg *model.WebSocketEvent) bool

type WebSocketRouter added in v3.3.0

type WebSocketRouter struct {
	// contains filtered or unexported fields
}

func NewWebSocketRouter added in v3.3.0

func NewWebSocketRouter() *WebSocketRouter

func (*WebSocketRouter) Handle added in v3.3.0

func (wr *WebSocketRouter) Handle(action string, handler *webSocketHandler)

func (*WebSocketRouter) ReturnWebSocketError added in v3.3.0

func (wr *WebSocketRouter) ReturnWebSocketError(conn *WebConn, r *model.WebSocketRequest, err *model.AppError)

func (*WebSocketRouter) ServeWebSocket added in v3.3.0

func (wr *WebSocketRouter) ServeWebSocket(conn *WebConn, r *model.WebSocketRequest)

Jump to

Keyboard shortcuts

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