api

package
v0.0.0-...-94d5a79 Latest Latest
Warning

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

Go to latest
Published: Apr 20, 2016 License: AGPL-3.0, Apache-2.0 Imports: 49 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 (
	EXPORT_PATH                   = "export/"
	EXPORT_FILENAME               = "MattermostExport.zip"
	EXPORT_OPTIONS_FILE           = "options.json"
	EXPORT_TEAMS_FOLDER           = "teams"
	EXPORT_CHANNELS_FOLDER        = "channels"
	EXPORT_CHANNEL_MEMBERS_FOLDER = "members"
	EXPORT_POSTS_FOLDER           = "posts"
	EXPORT_USERS_FOLDER           = "users"
	EXPORT_LOCAL_STORAGE_FOLDER   = "files"
)
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 (
	WRITE_WAIT  = 10 * time.Second
	PONG_WAIT   = 60 * time.Second
	PING_PERIOD = (PONG_WAIT * 9) / 10
	MAX_SIZE    = 512
	REDIS_WAIT  = 60 * time.Second
)
View Source
const (
	CMD_ECHO = "echo"
)
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_SHRUG = "shrug"
)

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 AddSessionToCache

func AddSessionToCache(session *model.Session)

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 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 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 ApiUserRequiredTrustRequester

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

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 AuthorizeOAuthUser

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

func CheckUserDomain

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

func CompleteSwitchWithOAuth

func CompleteSwitchWithOAuth(c *Context, w http.ResponseWriter, r *http.Request, service string, userData io.ReadCloser, team *model.Team, 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 CreateDefaultChannels

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

func CreateDirectChannel

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

func CreateOAuthUser

func CreateOAuthUser(c *Context, w http.ResponseWriter, r *http.Request, service string, userData io.Reader, team *model.Team) *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(team *model.Team, 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 DeletePostFilesAndForget

func DeletePostFilesAndForget(teamId string, post *model.Post)

func ExportChannels

func ExportChannels(writer ExportWriter, options *ExportOptions, teamId string) *model.AppError

func ExportLocalStorage

func ExportLocalStorage(writer ExportWriter, options *ExportOptions, teamId string) *model.AppError

func ExportPosts

func ExportPosts(writer ExportWriter, options *ExportOptions, channelId string) *model.AppError

func ExportTeams

func ExportTeams(writer ExportWriter, options *ExportOptions) *model.AppError

func ExportToFile

func ExportToFile(options *ExportOptions) (link string, err *model.AppError)

func ExportToWriter

func ExportToWriter(w io.Writer, options *ExportOptions) *model.AppError

func ExportUsers

func ExportUsers(writer ExportWriter, options *ExportOptions, teamId string) *model.AppError

func FindTeamByName

func FindTeamByName(c *Context, name string, all string) bool

func GetAuthData

func GetAuthData(code string) *model.AuthData

func GetAuthorizationCode

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

func GetIpAddress

func GetIpAddress(r *http.Request) string

func GetProtocol

func GetProtocol(r *http.Request) string

func GetSession

func GetSession(token string) *model.Session

func Handle404

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

func HandleEtag

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

func ImportChannel

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

func ImportPost

func ImportPost(post *model.Post)

func ImportUser

func ImportUser(user *model.User) *model.User

func InitAdmin

func InitAdmin(r *mux.Router)

func InitApi

func InitApi()

func InitChannel

func InitChannel(r *mux.Router)

func InitCommand

func InitCommand(r *mux.Router)

func InitFile

func InitFile(r *mux.Router)

func InitLicense

func InitLicense(r *mux.Router)

func InitOAuth

func InitOAuth(r *mux.Router)

func InitPost

func InitPost(r *mux.Router)

func InitPreference

func InitPreference(r *mux.Router)

func InitTeam

func InitTeam(r *mux.Router)

func InitUser

func InitUser(r *mux.Router)

func InitWebSocket

func InitWebSocket(r *mux.Router)

func InitWebhook

func InitWebhook(r *mux.Router)

func InviteMembers

func InviteMembers(c *Context, team *model.Team, user *model.User, invites []string)

func IsBetaDomain

func IsBetaDomain(r *http.Request) bool

func IsPrivateIpAddress

func IsPrivateIpAddress(ipAddress string) bool

func IsTestDomain

func IsTestDomain(r *http.Request) bool

func IsUsernameTaken

func IsUsernameTaken(name string, teamId string) bool

func IsVerifyHashRequired

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

func JoinChannel

func JoinChannel(c *Context, channelId string, role string)

func JoinDefaultChannels

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

func LoadLicense

func LoadLicense()

func Login

func Login(c *Context, w http.ResponseWriter, r *http.Request, user *model.User, deviceId string)

User MUST be validated before calling Login

func LoginByEmail

func LoginByEmail(c *Context, w http.ResponseWriter, r *http.Request, email, name, password, mfaToken, deviceId string) *model.User

func LoginById

func LoginById(c *Context, w http.ResponseWriter, r *http.Request, userId, password, mfaToken, deviceId string) *model.User

func LoginByOAuth

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

func LoginByUsername

func LoginByUsername(c *Context, w http.ResponseWriter, r *http.Request, username, name, password, mfaToken, deviceId string) *model.User

func Logout

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

func NewServer

func NewServer()

func PermanentDeleteTeam

func PermanentDeleteTeam(c *Context, team *model.Team) *model.AppError

func PermanentDeleteUser

func PermanentDeleteUser(c *Context, user *model.User) *model.AppError

func PostUpdateChannelHeaderMessageAndForget

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

func PostUserAddRemoveMessageAndForget

func PostUserAddRemoveMessageAndForget(c *Context, channelId string, message string)

func PublishAndForget

func PublishAndForget(message *model.Message)

func ReadFile

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

func RegisterCommandProvider

func RegisterCommandProvider(newProvider CommandProvider)

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 RevokeAccessToken

func RevokeAccessToken(token string) *model.AppError

func RevokeAllSession

func RevokeAllSession(c *Context, userId string)

func RevokeSessionById

func RevokeSessionById(c *Context, sessionId string)

func SendEmailChangeVerifyEmailAndForget

func SendEmailChangeVerifyEmailAndForget(c *Context, userId, newUserEmail, teamName, teamDisplayName, siteURL, teamURL string)

func SendEphemeralPost

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

func SendVerifyEmailAndForget

func SendVerifyEmailAndForget(c *Context, userId, userEmail, teamName, teamDisplayName, siteURL, teamURL string)

func ShouldSendEvent

func ShouldSendEvent(webCon *WebConn, msg *model.Message) bool

func SlackAddChannels

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

func SlackAddPosts

func SlackAddPosts(channel *model.Channel, posts []SlackPost, users map[string]*model.User)

func SlackAddUsers

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

func SlackConvertChannelName

func SlackConvertChannelName(channelName string) string

func SlackConvertTimeStamp

func SlackConvertTimeStamp(ts string) int64

func SlackImport

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

func StartServer

func StartServer()

func StopServer

func StopServer()

func UpdateActive

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

func UpdateChannelAccessCache

func UpdateChannelAccessCache(teamId, userId, channelId string)

func UpdateChannelAccessCacheAndForget

func UpdateChannelAccessCacheAndForget(teamId, userId, channelId string)

func UpdateRoles

func UpdateRoles(c *Context, user *model.User, roles string) *model.User

func UserRequired

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

func WriteFile

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

func WriteFileLocally

func WriteFileLocally(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, teamID string) *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, teamID string) *AutoUserCreator

func (*AutoUserCreator) CreateTestUsers

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

type CommandProvider

type CommandProvider interface {
	GetTrigger() string
	GetCommand(c *Context) *model.Command
	DoCommand(c *Context, channelId string, 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
	// contains filtered or unexported fields
}

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) HasPermissionsToChannel

func (c *Context) HasPermissionsToChannel(sc store.StoreChannel, where string) bool

func (*Context) HasPermissionsToTeam

func (c *Context) HasPermissionsToTeam(teamId string, where string) bool

func (*Context) HasPermissionsToUser

func (c *Context) HasPermissionsToUser(userId string, where string) bool

func (*Context) HasSystemAdminPermissions

func (c *Context) HasSystemAdminPermissions(where string) bool

func (*Context) IsSystemAdmin

func (c *Context) IsSystemAdmin() bool

func (*Context) IsTeamAdmin

func (c *Context) IsTeamAdmin() bool

func (*Context) LogAudit

func (c *Context) LogAudit(extraInfo string)

func (*Context) LogAuditWithUserId

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

func (*Context) LogError

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

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) 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, channelId string, message string) *model.CommandResponse

func (*EchoProvider) GetCommand

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

func (*EchoProvider) GetTrigger

func (me *EchoProvider) GetTrigger() string

type ExportOptions

type ExportOptions struct {
	TeamsToExport      []string `json:"teams"`
	ChannelsToExport   []string `json:"channels"`
	UsersToExport      []string `json:"users"`
	ExportLocalStorage bool     `json:"export_local_storage"`
}

func ExportOptionsFromJson

func ExportOptionsFromJson(data io.Reader) *ExportOptions

func (*ExportOptions) ToJson

func (options *ExportOptions) ToJson() string

type ExportWriter

type ExportWriter interface {
	Create(name string) (io.Writer, error)
}

type Hub

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

func (*Hub) Broadcast

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

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 ImageGetResult

type ImageGetResult struct {
	Error     error
	ImageData []byte
}

type JoinProvider

type JoinProvider struct {
}

func (*JoinProvider) DoCommand

func (me *JoinProvider) DoCommand(c *Context, channelId string, 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, channelId string, 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, channelId string, 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, channelId string, message string) *model.CommandResponse

func (*MeProvider) GetCommand

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

func (*MeProvider) GetTrigger

func (me *MeProvider) GetTrigger() string

type Server

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

type ShrugProvider

type ShrugProvider struct {
}

func (*ShrugProvider) DoCommand

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

func (*ShrugProvider) GetCommand

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

func (*ShrugProvider) GetTrigger

func (me *ShrugProvider) GetTrigger() string

type SlackChannel

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

func SlackParseChannels

func SlackParseChannels(data io.Reader) []SlackChannel

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     map[string]string `json:"comment"`
}

func SlackParsePosts

func SlackParsePosts(data io.Reader) []SlackPost

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

type TeamEnvironment

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

func CreateTestEnvironmentInTeam

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

type TeamHub

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

func NewTeamHub

func NewTeamHub(teamId string) *TeamHub

func (*TeamHub) Register

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

func (*TeamHub) Start

func (h *TeamHub) Start()

func (*TeamHub) Stop

func (h *TeamHub) Stop()

func (*TeamHub) Unregister

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

func (*TeamHub) UpdateChannelAccessCache

func (h *TeamHub) UpdateChannelAccessCache(userId string, channelId string)

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 WebConn

type WebConn struct {
	WebSocket          *websocket.Conn
	Send               chan *model.Message
	TeamId             string
	UserId             string
	ChannelAccessCache map[string]bool
}

func NewWebConn

func NewWebConn(ws *websocket.Conn, teamId string, userId string, sessionId string) *WebConn

Jump to

Keyboard shortcuts

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