app

package
v3.10.3 Latest Latest
Warning

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

Go to latest
Published: Aug 17, 2017 License: AGPL-3.0, Apache-2.0 Imports: 64 Imported by: 0

Documentation

Index

Constants

View Source
const (
	DAY_MILLISECONDS   = 24 * 60 * 60 * 1000
	MONTH_MILLISECONDS = 31 * DAY_MILLISECONDS
)
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 (
	SEGMENT_KEY = "fwb7VPbFeQ7SKp3wHm1RzFUuXZudqVok"

	TRACK_CONFIG_SERVICE      = "config_service"
	TRACK_CONFIG_TEAM         = "config_team"
	TRACK_CONFIG_SQL          = "config_sql"
	TRACK_CONFIG_LOG          = "config_log"
	TRACK_CONFIG_FILE         = "config_file"
	TRACK_CONFIG_RATE         = "config_rate"
	TRACK_CONFIG_EMAIL        = "config_email"
	TRACK_CONFIG_PRIVACY      = "config_privacy"
	TRACK_CONFIG_OAUTH        = "config_oauth"
	TRACK_CONFIG_LDAP         = "config_ldap"
	TRACK_CONFIG_COMPLIANCE   = "config_compliance"
	TRACK_CONFIG_LOCALIZATION = "config_localization"
	TRACK_CONFIG_SAML         = "config_saml"
	TRACK_CONFIG_PASSWORD     = "config_password"
	TRACK_CONFIG_CLUSTER      = "config_cluster"
	TRACK_CONFIG_METRICS      = "config_metrics"
	TRACK_CONFIG_WEBRTC       = "config_webrtc"
	TRACK_CONFIG_SUPPORT      = "config_support"
	TRACK_CONFIG_NATIVEAPP    = "config_nativeapp"
	TRACK_CONFIG_ANALYTICS    = "config_analytics"

	TRACK_ACTIVITY = "activity"
	TRACK_LICENSE  = "license"
	TRACK_SERVER   = "server"
)
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 (
	OAUTH_COOKIE_MAX_AGE_SECONDS = 30 * 60 // 30 minutes
	COOKIE_OAUTH                 = "MMOAUTH"
)
View Source
const (
	SECURITY_URL           = "https://d7zmvsa9e04kk.cloudfront.net"
	SECURITY_UPDATE_PERIOD = 86400000 // 24 hours in milliseconds.

	PROP_SECURITY_ID                = "id"
	PROP_SECURITY_BUILD             = "b"
	PROP_SECURITY_ENTERPRISE_READY  = "be"
	PROP_SECURITY_DATABASE          = "db"
	PROP_SECURITY_OS                = "os"
	PROP_SECURITY_USER_COUNT        = "uc"
	PROP_SECURITY_TEAM_COUNT        = "tc"
	PROP_SECURITY_ACTIVE_USER_COUNT = "auc"
	PROP_SECURITY_UNIT_TESTS        = "ut"
)
View Source
const (
	TOKEN_TYPE_PASSWORD_RECOVERY = "password_recovery"
	TOKEN_TYPE_VERIFY_EMAIL      = "verify_email"
	PASSWORD_RECOVER_EXPIRY_TIME = 1000 * 60 * 60 // 1 hour
	VERIFY_EMAIL_EXPIRY_TIME     = 1000 * 60 * 60 // 1 hour
)
View Source
const (
	SEND_QUEUE_SIZE           = 256
	SEND_SLOW_WARN            = (SEND_QUEUE_SIZE * 50) / 100
	SEND_DEADLOCK_WARN        = (SEND_QUEUE_SIZE * 95) / 100
	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 (
	BROADCAST_QUEUE_SIZE = 4096
	DEADLOCK_TICKER      = 15 * time.Second                  // check every 15 seconds
	DEADLOCK_WARN        = (BROADCAST_QUEUE_SIZE * 99) / 100 // number of buffered messages before printing stack trace
)
View Source
const (
	TRIGGERWORDS_FULL       = 0
	TRIGGERWORDS_STARTSWITH = 1
)
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_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 (
	CMD_TEST = "test"
)
View Source
const (
	EMAIL_BATCHING_TASK_NAME = "Email Batching"
)
View Source
const TIME_TO_WAIT_FOR_CONNECTIONS_TO_CLOSE_ON_SERVER_SHUTDOWN = time.Second

Variables

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

Functions

func ActivateMfa

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

func AddChannelMember added in v3.8.0

func AddChannelMember(userId string, channel *model.Channel, userRequestorId string) (*model.ChannelMember, *model.AppError)

func AddDirectChannels

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

func AddNotificationEmailToBatch

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

func AddSamlIdpCertificate added in v3.8.0

func AddSamlIdpCertificate(fileData *multipart.FileHeader) *model.AppError

func AddSamlPrivateCertificate added in v3.8.0

func AddSamlPrivateCertificate(fileData *multipart.FileHeader) *model.AppError

func AddSamlPublicCertificate added in v3.8.0

func AddSamlPublicCertificate(fileData *multipart.FileHeader) *model.AppError

func AddSessionToCache

func AddSessionToCache(session *model.Session)

func AddStatusCache

func AddStatusCache(status *model.Status)

func AddStatusCacheSkipClusterSend

func AddStatusCacheSkipClusterSend(status *model.Status)

func AddTeamMember added in v3.8.0

func AddTeamMember(teamId, userId string) (*model.TeamMember, *model.AppError)

func AddTeamMemberByHash added in v3.8.0

func AddTeamMemberByHash(userId, hash, data string) (*model.TeamMember, *model.AppError)

func AddTeamMemberByInviteId added in v3.8.0

func AddTeamMemberByInviteId(inviteId, userId string) (*model.TeamMember, *model.AppError)

func AddTeamMembers added in v3.8.0

func AddTeamMembers(teamId string, userIds []string, userRequestorId string) ([]*model.TeamMember, *model.AppError)

func AddUserToChannel

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

func AddUserToTeam

func AddUserToTeam(teamId string, userId string, userRequestorId string) (*model.Team, *model.AppError)

func AddUserToTeamByHash

func AddUserToTeamByHash(userId string, hash string, data string) (*model.Team, *model.AppError)

func AddUserToTeamByInviteId

func AddUserToTeamByInviteId(inviteId string, userId string) (*model.Team, *model.AppError)

func AddUserToTeamByTeamId

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

func AllowOAuthAppAccessToUser added in v3.9.0

func AllowOAuthAppAccessToUser(userId string, authRequest *model.AuthorizeRequest) (string, *model.AppError)

func AttachDeviceId

func AttachDeviceId(sessionId string, deviceId string, expiresAt int64) *model.AppError

func AuthenticateUserForLogin

func AuthenticateUserForLogin(id, loginId, password, mfaToken, deviceId string, ldapOnly bool) (*model.User, *model.AppError)

func AuthorizeOAuthUser added in v3.9.0

func AuthorizeOAuthUser(w http.ResponseWriter, r *http.Request, service, code, state, redirectUri string) (io.ReadCloser, string, map[string]string, *model.AppError)

func AutocompleteUsersInChannel

func AutocompleteUsersInChannel(teamId string, channelId string, term string, searchOptions map[string]bool, asAdmin bool) (*model.UserAutocompleteInChannel, *model.AppError)

func AutocompleteUsersInTeam

func AutocompleteUsersInTeam(teamId string, term string, searchOptions map[string]bool, asAdmin bool) (*model.UserAutocompleteInTeam, *model.AppError)

func BroadcastStatus added in v3.9.0

func BroadcastStatus(status *model.Status)

func BulkImport

func BulkImport(fileReader io.Reader, dryRun bool, workers int) (*model.AppError, int)

func CheckIfRolesGrantPermission

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

func CheckPasswordAndAllCriteria

func CheckPasswordAndAllCriteria(user *model.User, password string, mfaToken string) *model.AppError

func CheckUserAdditionalAuthenticationCriteria

func CheckUserAdditionalAuthenticationCriteria(user *model.User, mfaToken string) *model.AppError

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 CheckUserMfa

func CheckUserMfa(user *model.User, token string) *model.AppError

func ClearPushNotification

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

func ClearSessionCacheForUser

func ClearSessionCacheForUser(userId string)

func ClearSessionCacheForUserSkipClusterSend

func ClearSessionCacheForUserSkipClusterSend(userId string)

func ClearStatusCache

func ClearStatusCache()

func CloseBody

func CloseBody(r *http.Response)

func CompleteOAuth added in v3.9.0

func CompleteOAuth(service string, body io.ReadCloser, teamId string, props map[string]string) (*model.User, *model.AppError)

func CompleteSwitchWithOAuth added in v3.9.0

func CompleteSwitchWithOAuth(service string, userData io.ReadCloser, email string) (*model.User, *model.AppError)

func CreateBasicUser added in v3.8.0

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

Basic test team and user so you always know one

func CreateChannel

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

func CreateChannelWithUser

func CreateChannelWithUser(channel *model.Channel, userId string) (*model.Channel, *model.AppError)

func CreateCommand added in v3.8.0

func CreateCommand(cmd *model.Command) (*model.Command, *model.AppError)

func CreateCommandPost

func CreateCommandPost(post *model.Post, teamId string, response *model.CommandResponse) (*model.Post, *model.AppError)

func CreateDefaultChannels

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

func CreateDirectChannel

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

func CreateEmoji added in v3.9.0

func CreateEmoji(sessionUserId string, emoji *model.Emoji, multiPartImageData *multipart.Form) (*model.Emoji, *model.AppError)

func CreateGroupChannel

func CreateGroupChannel(userIds []string, creatorId string) (*model.Channel, *model.AppError)

func CreateIncomingWebhookForChannel

func CreateIncomingWebhookForChannel(creatorId string, channel *model.Channel, hook *model.IncomingWebhook) (*model.IncomingWebhook, *model.AppError)

func CreateOAuthApp added in v3.9.0

func CreateOAuthApp(app *model.OAuthApp) (*model.OAuthApp, *model.AppError)

func CreateOAuthStateToken added in v3.9.1

func CreateOAuthStateToken(extra string) (*model.Token, *model.AppError)

func CreateOAuthUser

func CreateOAuthUser(service string, userData io.Reader, teamId string) (*model.User, *model.AppError)

func CreateOutgoingWebhook

func CreateOutgoingWebhook(hook *model.OutgoingWebhook) (*model.OutgoingWebhook, *model.AppError)

func CreatePasswordRecoveryToken added in v3.9.0

func CreatePasswordRecoveryToken(userId string) (*model.Token, *model.AppError)

func CreatePost

func CreatePost(post *model.Post, teamId string, triggerWebhooks bool) (*model.Post, *model.AppError)

func CreatePostAsUser

func CreatePostAsUser(post *model.Post) (*model.Post, *model.AppError)

func CreateProfileImage

func CreateProfileImage(username string, userId string) ([]byte, *model.AppError)

func CreateSession

func CreateSession(session *model.Session) (*model.Session, *model.AppError)

func CreateTeam

func CreateTeam(team *model.Team) (*model.Team, *model.AppError)

func CreateTeamWithUser

func CreateTeamWithUser(team *model.Team, userId string) (*model.Team, *model.AppError)

func CreateUser

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

func CreateUserAsAdmin added in v3.8.0

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

func CreateUserFromSignup

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

func CreateUserWithHash

func CreateUserWithHash(user *model.User, hash string, data string) (*model.User, *model.AppError)

func CreateUserWithInviteId

func CreateUserWithInviteId(user *model.User, inviteId string) (*model.User, *model.AppError)

func CreateVerifyEmailToken added in v3.9.0

func CreateVerifyEmailToken(userId string) (*model.Token, *model.AppError)

func CreateWebhookPost

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

func DeactivateMfa

func DeactivateMfa(userId string) *model.AppError

func DeauthorizeOAuthAppForUser added in v3.9.0

func DeauthorizeOAuthAppForUser(userId, appId string) *model.AppError

func DeleteChannel

func DeleteChannel(channel *model.Channel, userId string) *model.AppError

func DeleteCommand added in v3.8.0

func DeleteCommand(commandId string) *model.AppError

func DeleteEmoji added in v3.9.0

func DeleteEmoji(emoji *model.Emoji) *model.AppError

func DeleteFlaggedPosts

func DeleteFlaggedPosts(postId string)

func DeleteIncomingWebhook

func DeleteIncomingWebhook(hookId string) *model.AppError

func DeleteOAuthApp added in v3.9.0

func DeleteOAuthApp(appId string) *model.AppError

func DeleteOutgoingWebhook

func DeleteOutgoingWebhook(hookId string) *model.AppError

func DeletePost

func DeletePost(postId string) (*model.Post, *model.AppError)

func DeletePostFiles

func DeletePostFiles(post *model.Post)

func DeletePreferences

func DeletePreferences(userId string, preferences model.Preferences) *model.AppError

func DeleteReactionForPost added in v3.9.0

func DeleteReactionForPost(reaction *model.Reaction) *model.AppError

func DeleteToken added in v3.9.0

func DeleteToken(token *model.Token) *model.AppError

func DoLogin

func DoLogin(w http.ResponseWriter, r *http.Request, user *model.User, deviceId string) (*model.Session, *model.AppError)

func DoSecurityUpdateCheck

func DoSecurityUpdateCheck()

func DoUploadFile

func DoUploadFile(teamId string, channelId string, userId string, rawFilename string, data []byte) (*model.FileInfo, *model.AppError)

func DoesNotifyPropsAllowPushNotification

func DoesNotifyPropsAllowPushNotification(user *model.User, channelNotifyProps model.StringMap, post *model.Post, wasMentioned bool) bool

func DoesStatusAllowPushNotification

func DoesStatusAllowPushNotification(userNotifyProps model.StringMap, status *model.Status, channelId string) bool

func ExecuteCommand added in v3.8.0

func ExecuteCommand(args *model.CommandArgs) (*model.CommandResponse, *model.AppError)

func FindTeamByName

func FindTeamByName(name string) bool

func FindTeamIdForFilename

func FindTeamIdForFilename(post *model.Post, filename string) string

func GenerateMfaSecret added in v3.8.0

func GenerateMfaSecret(userId string) (*model.MfaSecret, *model.AppError)
func GeneratePublicLink(siteURL string, info *model.FileInfo) string

func GeneratePublicLinkHash

func GeneratePublicLinkHash(fileId, salt string) string

func GeneratePublicLinkV3 added in v3.8.0

func GeneratePublicLinkV3(siteURL string, info *model.FileInfo) string

func GenerateTurnPassword added in v3.9.0

func GenerateTurnPassword(username string, secret string) string

func GetAllOpenTeams

func GetAllOpenTeams() ([]*model.Team, *model.AppError)

func GetAllOpenTeamsPage

func GetAllOpenTeamsPage(offset int, limit int) ([]*model.Team, *model.AppError)

func GetAllStatuses

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

func GetAllTeams

func GetAllTeams() ([]*model.Team, *model.AppError)

func GetAllTeamsPage

func GetAllTeamsPage(offset int, limit int) ([]*model.Team, *model.AppError)

func GetAnalytics

func GetAnalytics(name string, teamId string) (model.AnalyticsRows, *model.AppError)

func GetAudits

func GetAudits(userId string, limit int) (model.Audits, *model.AppError)

func GetAuditsPage

func GetAuditsPage(userId string, page int, perPage int) (model.Audits, *model.AppError)

func GetAuthorizationCode added in v3.9.0

func GetAuthorizationCode(w http.ResponseWriter, r *http.Request, service string, props map[string]string, loginHint string) (string, *model.AppError)

func GetAuthorizedAppsForUser added in v3.9.0

func GetAuthorizedAppsForUser(userId string, page, perPage int) ([]*model.OAuthApp, *model.AppError)

func GetBrandImage

func GetBrandImage() ([]byte, *model.AppError)

func GetChannel

func GetChannel(channelId string) (*model.Channel, *model.AppError)

func GetChannelByName

func GetChannelByName(channelName, teamId string) (*model.Channel, *model.AppError)

func GetChannelByNameForTeamName

func GetChannelByNameForTeamName(channelName, teamName string) (*model.Channel, *model.AppError)

func GetChannelCounts

func GetChannelCounts(teamId string, userId string) (*model.ChannelCounts, *model.AppError)

func GetChannelMember

func GetChannelMember(channelId string, userId string) (*model.ChannelMember, *model.AppError)

func GetChannelMemberCount

func GetChannelMemberCount(channelId string) (int64, *model.AppError)

func GetChannelMembersByIds

func GetChannelMembersByIds(channelId string, userIds []string) (*model.ChannelMembers, *model.AppError)

func GetChannelMembersForUser

func GetChannelMembersForUser(teamId string, userId string) (*model.ChannelMembers, *model.AppError)

func GetChannelMembersPage

func GetChannelMembersPage(channelId string, page, perPage int) (*model.ChannelMembers, *model.AppError)

func GetChannelUnread added in v3.8.0

func GetChannelUnread(channelId, userId string) (*model.ChannelUnread, *model.AppError)

func GetChannelsForUser

func GetChannelsForUser(teamId string, userId string) (*model.ChannelList, *model.AppError)

func GetChannelsUserNotIn

func GetChannelsUserNotIn(teamId string, userId string, offset int, limit int) (*model.ChannelList, *model.AppError)

func GetClusterStatus

func GetClusterStatus() []*model.ClusterInfo

func GetCommand added in v3.8.0

func GetCommand(commandId string) (*model.Command, *model.AppError)

func GetComplianceFile

func GetComplianceFile(job *model.Compliance) ([]byte, *model.AppError)

func GetComplianceReport

func GetComplianceReport(reportId string) (*model.Compliance, *model.AppError)

func GetComplianceReports

func GetComplianceReports(page, perPage int) (model.Compliances, *model.AppError)

func GetConfig

func GetConfig() *model.Config

func GetDeletedChannels added in v3.10.0

func GetDeletedChannels(teamId string, offset int, limit int) (*model.ChannelList, *model.AppError)

func GetEmoji added in v3.9.0

func GetEmoji(emojiId string) (*model.Emoji, *model.AppError)

func GetEmojiImage added in v3.9.0

func GetEmojiImage(emojiId string) (imageByte []byte, imageType string, err *model.AppError)

func GetEmojiList added in v3.9.0

func GetEmojiList() ([]*model.Emoji, *model.AppError)

func GetExplicitMentions

func GetExplicitMentions(message string, keywords map[string][]string) (map[string]bool, []string, bool, bool, bool)

Given a message and a map mapping mention keywords to the users who use them, returns a map of mentioned users and a slice of potential mention users not in the channel and whether or not @here was mentioned.

func GetFileInfo

func GetFileInfo(fileId string) (*model.FileInfo, *model.AppError)

func GetFileInfosForPost

func GetFileInfosForPost(postId string, readFromMaster bool) ([]*model.FileInfo, *model.AppError)

func GetFlaggedPosts

func GetFlaggedPosts(userId string, offset int, limit int) (*model.PostList, *model.AppError)

func GetFlaggedPostsForChannel added in v3.9.0

func GetFlaggedPostsForChannel(userId, channelId string, offset int, limit int) (*model.PostList, *model.AppError)

func GetFlaggedPostsForTeam added in v3.8.0

func GetFlaggedPostsForTeam(userId, teamId string, offset int, limit int) (*model.PostList, *model.AppError)

func GetIncomingWebhook

func GetIncomingWebhook(hookId string) (*model.IncomingWebhook, *model.AppError)

func GetIncomingWebhooksForTeamPage

func GetIncomingWebhooksForTeamPage(teamId string, page, perPage int) ([]*model.IncomingWebhook, *model.AppError)

func GetIncomingWebhooksPage

func GetIncomingWebhooksPage(page, perPage int) ([]*model.IncomingWebhook, *model.AppError)

func GetInfoForFilename

func GetInfoForFilename(post *model.Post, teamId string, filename string) *model.FileInfo

func GetJobStatus added in v3.10.0

func GetJobStatus(id string) (*model.JobStatus, *model.AppError)

func GetJobStatusesByType added in v3.10.0

func GetJobStatusesByType(jobType string, offset int, limit int) ([]*model.JobStatus, *model.AppError)

func GetJobStatusesByTypePage added in v3.10.0

func GetJobStatusesByTypePage(jobType string, page int, perPage int) ([]*model.JobStatus, *model.AppError)

func GetLogs

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

func GetLogsSkipSend

func GetLogsSkipSend(page, perPage int) ([]string, *model.AppError)

func GetMentionKeywordsInChannel

func GetMentionKeywordsInChannel(profiles map[string]*model.User) map[string][]string

Given a map of user IDs to profiles, returns a list of mention keywords for all users in the channel.

func GetMessageForNotification

func GetMessageForNotification(post *model.Post, translateFunc i18n.TranslateFunc) string

func GetNumberOfChannelsOnTeam

func GetNumberOfChannelsOnTeam(teamId string) (int, *model.AppError)

func GetOAuthAccessToken added in v3.9.0

func GetOAuthAccessToken(clientId, grantType, redirectUri, code, secret, refreshToken string) (*model.AccessResponse, *model.AppError)

func GetOAuthApp added in v3.9.0

func GetOAuthApp(appId string) (*model.OAuthApp, *model.AppError)

func GetOAuthApps added in v3.9.0

func GetOAuthApps(page, perPage int) ([]*model.OAuthApp, *model.AppError)

func GetOAuthAppsByCreator added in v3.9.0

func GetOAuthAppsByCreator(userId string, page, perPage int) ([]*model.OAuthApp, *model.AppError)

func GetOAuthLoginEndpoint added in v3.9.0

func GetOAuthLoginEndpoint(w http.ResponseWriter, r *http.Request, service, teamId, action, redirectTo, loginHint string) (string, *model.AppError)

func GetOAuthSignupEndpoint added in v3.9.0

func GetOAuthSignupEndpoint(w http.ResponseWriter, r *http.Request, service, teamId string) (string, *model.AppError)

func GetOAuthStateToken added in v3.9.1

func GetOAuthStateToken(token string) (*model.Token, *model.AppError)

func GetOpenGraphMetadata

func GetOpenGraphMetadata(url string) *opengraph.OpenGraph

func GetOutgoingWebhook

func GetOutgoingWebhook(hookId string) (*model.OutgoingWebhook, *model.AppError)

func GetOutgoingWebhooksForChannelPage added in v3.8.0

func GetOutgoingWebhooksForChannelPage(channelId string, page, perPage int) ([]*model.OutgoingWebhook, *model.AppError)

func GetOutgoingWebhooksForTeamPage

func GetOutgoingWebhooksForTeamPage(teamId string, page, perPage int) ([]*model.OutgoingWebhook, *model.AppError)

func GetOutgoingWebhooksPage added in v3.8.0

func GetOutgoingWebhooksPage(page, perPage int) ([]*model.OutgoingWebhook, *model.AppError)

func GetPasswordRecoveryToken added in v3.9.0

func GetPasswordRecoveryToken(token string) (*model.Token, *model.AppError)

func GetPermalinkPost

func GetPermalinkPost(postId string, userId string) (*model.PostList, *model.AppError)

func GetPinnedPosts added in v3.8.0

func GetPinnedPosts(channelId string) (*model.PostList, *model.AppError)

func GetPostThread

func GetPostThread(postId string) (*model.PostList, *model.AppError)

func GetPosts

func GetPosts(channelId string, offset int, limit int) (*model.PostList, *model.AppError)

func GetPostsAfterPost added in v3.8.0

func GetPostsAfterPost(channelId, postId string, page, perPage int) (*model.PostList, *model.AppError)

func GetPostsAroundPost

func GetPostsAroundPost(postId, channelId string, offset, limit int, before bool) (*model.PostList, *model.AppError)

func GetPostsBeforePost added in v3.8.0

func GetPostsBeforePost(channelId, postId string, page, perPage int) (*model.PostList, *model.AppError)

func GetPostsEtag

func GetPostsEtag(channelId string) string

func GetPostsPage

func GetPostsPage(channelId string, page int, perPage int) (*model.PostList, *model.AppError)

func GetPostsSince

func GetPostsSince(channelId string, time int64) (*model.PostList, *model.AppError)

func GetPreferenceByCategoryAndNameForUser

func GetPreferenceByCategoryAndNameForUser(userId string, category string, preferenceName string) (*model.Preference, *model.AppError)

func GetPreferenceByCategoryForUser

func GetPreferenceByCategoryForUser(userId string, category string) (model.Preferences, *model.AppError)

func GetPreferencesForUser

func GetPreferencesForUser(userId string) (model.Preferences, *model.AppError)

func GetProfileImage

func GetProfileImage(user *model.User) ([]byte, bool, *model.AppError)

func GetProtocol

func GetProtocol(r *http.Request) string

func GetPublicChannelsByIdsForTeam added in v3.8.0

func GetPublicChannelsByIdsForTeam(teamId string, channelIds []string) (*model.ChannelList, *model.AppError)

func GetPublicChannelsForTeam added in v3.8.0

func GetPublicChannelsForTeam(teamId string, offset int, limit int) (*model.ChannelList, *model.AppError)

func GetReactionsForPost added in v3.9.0

func GetReactionsForPost(postId string) ([]*model.Reaction, *model.AppError)

func GetRecentlyActiveUsersForTeam

func GetRecentlyActiveUsersForTeam(teamId string) (map[string]*model.User, *model.AppError)

func GetSamlCertificateStatus

func GetSamlCertificateStatus() *model.SamlCertificateStatus

func GetSamlMetadata

func GetSamlMetadata() (string, *model.AppError)

func GetSession

func GetSession(token string) (*model.Session, *model.AppError)

func GetSessions

func GetSessions(userId string) ([]*model.Session, *model.AppError)

func GetSinglePost

func GetSinglePost(postId string) (*model.Post, *model.AppError)

func GetStatus

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

func GetStatusFromCache

func GetStatusFromCache(userId string) *model.Status

func GetStatusesByIds

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

func GetTeam

func GetTeam(teamId string) (*model.Team, *model.AppError)

func GetTeamByInviteId

func GetTeamByInviteId(inviteId string) (*model.Team, *model.AppError)

func GetTeamByName

func GetTeamByName(name string) (*model.Team, *model.AppError)

func GetTeamIdFromQuery added in v3.9.0

func GetTeamIdFromQuery(query url.Values) (string, *model.AppError)

func GetTeamMember

func GetTeamMember(teamId, userId string) (*model.TeamMember, *model.AppError)

func GetTeamMembers

func GetTeamMembers(teamId string, offset int, limit int) ([]*model.TeamMember, *model.AppError)

func GetTeamMembersByIds

func GetTeamMembersByIds(teamId string, userIds []string) ([]*model.TeamMember, *model.AppError)

func GetTeamMembersForUser

func GetTeamMembersForUser(userId string) ([]*model.TeamMember, *model.AppError)

func GetTeamStats

func GetTeamStats(teamId string) (*model.TeamStats, *model.AppError)

func GetTeamUnread added in v3.8.0

func GetTeamUnread(teamId, userId string) (*model.TeamUnread, *model.AppError)

func GetTeamsForUser

func GetTeamsForUser(userId string) ([]*model.Team, *model.AppError)

func GetTeamsUnreadForUser

func GetTeamsUnreadForUser(excludeTeamId string, userId string) ([]*model.TeamUnread, *model.AppError)

func GetUser

func GetUser(userId string) (*model.User, *model.AppError)

func GetUserByAuth

func GetUserByAuth(authData *string, authService string) (*model.User, *model.AppError)

func GetUserByEmail

func GetUserByEmail(email string) (*model.User, *model.AppError)

func GetUserByUsername

func GetUserByUsername(username string) (*model.User, *model.AppError)

func GetUserForLogin

func GetUserForLogin(loginId string, onlyLdap bool) (*model.User, *model.AppError)

func GetUserStatusesByIds added in v3.8.0

func GetUserStatusesByIds(userIds []string) ([]*model.Status, *model.AppError)

GetUserStatusesByIds used by apiV4

func GetUsers

func GetUsers(offset int, limit int) ([]*model.User, *model.AppError)

func GetUsersByIds

func GetUsersByIds(userIds []string, asAdmin bool) ([]*model.User, *model.AppError)

func GetUsersByUsernames added in v3.9.0

func GetUsersByUsernames(usernames []string, asAdmin bool) ([]*model.User, *model.AppError)

func GetUsersEtag

func GetUsersEtag() string

func GetUsersInChannel

func GetUsersInChannel(channelId string, offset int, limit int) ([]*model.User, *model.AppError)

func GetUsersInChannelMap

func GetUsersInChannelMap(channelId string, offset int, limit int, asAdmin bool) (map[string]*model.User, *model.AppError)

func GetUsersInChannelPage

func GetUsersInChannelPage(channelId string, page int, perPage int, asAdmin bool) ([]*model.User, *model.AppError)

func GetUsersInTeam

func GetUsersInTeam(teamId string, offset int, limit int) ([]*model.User, *model.AppError)

func GetUsersInTeamEtag

func GetUsersInTeamEtag(teamId string) string

func GetUsersInTeamMap

func GetUsersInTeamMap(teamId string, offset int, limit int, asAdmin bool) (map[string]*model.User, *model.AppError)

func GetUsersInTeamPage

func GetUsersInTeamPage(teamId string, page int, perPage int, asAdmin bool) ([]*model.User, *model.AppError)

func GetUsersMap

func GetUsersMap(offset int, limit int, asAdmin bool) (map[string]*model.User, *model.AppError)

func GetUsersNotInChannel

func GetUsersNotInChannel(teamId string, channelId string, offset int, limit int) ([]*model.User, *model.AppError)

func GetUsersNotInChannelMap

func GetUsersNotInChannelMap(teamId string, channelId string, offset int, limit int, asAdmin bool) (map[string]*model.User, *model.AppError)

func GetUsersNotInChannelPage

func GetUsersNotInChannelPage(teamId string, channelId string, page int, perPage int, asAdmin bool) ([]*model.User, *model.AppError)

func GetUsersNotInTeam added in v3.8.0

func GetUsersNotInTeam(teamId string, offset int, limit int) ([]*model.User, *model.AppError)

func GetUsersNotInTeamEtag added in v3.8.0

func GetUsersNotInTeamEtag(teamId string) string

func GetUsersNotInTeamPage added in v3.8.0

func GetUsersNotInTeamPage(teamId string, page int, perPage int, asAdmin bool) ([]*model.User, *model.AppError)

func GetUsersPage

func GetUsersPage(page int, perPage int, asAdmin bool) ([]*model.User, *model.AppError)

func GetUsersWithoutTeam added in v3.8.0

func GetUsersWithoutTeam(offset int, limit int) ([]*model.User, *model.AppError)

func GetUsersWithoutTeamPage added in v3.8.0

func GetUsersWithoutTeamPage(page int, perPage int, asAdmin bool) ([]*model.User, *model.AppError)

func GetVerifyEmailToken added in v3.9.0

func GetVerifyEmailToken(token string) (*model.Token, *model.AppError)

func GetWebrtcInfoForSession added in v3.9.0

func GetWebrtcInfoForSession(sessionId string) (*model.WebrtcInfoResponse, *model.AppError)

func GetWebrtcToken added in v3.9.0

func GetWebrtcToken(sessionId string) (string, *model.AppError)

func HandleCommandResponse added in v3.8.0

func HandleCommandResponse(command *model.Command, args *model.CommandArgs, response *model.CommandResponse, builtIn bool) (*model.CommandResponse, *model.AppError)

func HandleImages

func HandleImages(previewPathList []string, thumbnailPathList []string, fileData [][]byte)

func HandleIncomingWebhook

func HandleIncomingWebhook(hookId string, req *model.IncomingWebhookRequest) *model.AppError

func HasPermissionTo

func HasPermissionTo(askingUserId string, permission *model.Permission) bool

func HasPermissionToChannel

func HasPermissionToChannel(askingUserId string, channelId string, permission *model.Permission) bool

func HasPermissionToChannelByPost

func HasPermissionToChannelByPost(askingUserId string, postId string, permission *model.Permission) bool

func HasPermissionToTeam

func HasPermissionToTeam(askingUserId string, teamId string, permission *model.Permission) bool

func HasPermissionToUser

func HasPermissionToUser(askingUserId string, userId string) bool

func HubRegister

func HubRegister(webConn *WebConn)

func HubStart

func HubStart()

func HubStop

func HubStop()

func HubUnregister

func HubUnregister(webConn *WebConn)

func ImportChannel

func ImportChannel(data *ChannelImportData, dryRun bool) *model.AppError

func ImportLine

func ImportLine(line LineImportData, dryRun bool) *model.AppError

func ImportPost

func ImportPost(data *PostImportData, dryRun bool) *model.AppError

func ImportTeam

func ImportTeam(data *TeamImportData, dryRun bool) *model.AppError

func ImportUser

func ImportUser(data *UserImportData, dryRun bool) *model.AppError

func ImportUserChannels

func ImportUserChannels(user *model.User, team *model.Team, teamMember *model.TeamMember, data *[]UserChannelImportData) *model.AppError

func ImportUserTeams

func ImportUserTeams(username string, data *[]UserTeamImportData) *model.AppError

func InitEmailBatching

func InitEmailBatching()

func InitStores

func InitStores()

func InvalidateAllCaches

func InvalidateAllCaches() *model.AppError

func InvalidateAllCachesSkipSend

func InvalidateAllCachesSkipSend()

func InvalidateCacheForChannel

func InvalidateCacheForChannel(channel *model.Channel)

func InvalidateCacheForChannelByNameSkipClusterSend

func InvalidateCacheForChannelByNameSkipClusterSend(teamId, name string)

func InvalidateCacheForChannelMembers

func InvalidateCacheForChannelMembers(channelId string)

func InvalidateCacheForChannelMembersNotifyProps

func InvalidateCacheForChannelMembersNotifyProps(channelId string)

func InvalidateCacheForChannelMembersNotifyPropsSkipClusterSend

func InvalidateCacheForChannelMembersNotifyPropsSkipClusterSend(channelId string)

func InvalidateCacheForChannelMembersSkipClusterSend

func InvalidateCacheForChannelMembersSkipClusterSend(channelId string)

func InvalidateCacheForChannelPosts

func InvalidateCacheForChannelPosts(channelId string)

func InvalidateCacheForChannelPostsSkipClusterSend

func InvalidateCacheForChannelPostsSkipClusterSend(channelId string)

func InvalidateCacheForChannelSkipClusterSend

func InvalidateCacheForChannelSkipClusterSend(channelId string)

func InvalidateCacheForReactions

func InvalidateCacheForReactions(postId string)

func InvalidateCacheForReactionsSkipClusterSend

func InvalidateCacheForReactionsSkipClusterSend(postId string)

func InvalidateCacheForUser

func InvalidateCacheForUser(userId string)

func InvalidateCacheForUserSkipClusterSend

func InvalidateCacheForUserSkipClusterSend(userId string)

func InvalidateCacheForWebhook

func InvalidateCacheForWebhook(webhookId string)

func InvalidateCacheForWebhookSkipClusterSend

func InvalidateCacheForWebhookSkipClusterSend(webhookId string)

func InvalidateWebConnSessionCacheForUser

func InvalidateWebConnSessionCacheForUser(userId string)

func InviteNewUsersToTeam

func InviteNewUsersToTeam(emailList []string, teamId, senderId string) *model.AppError

func IsFirstUserAccount

func IsFirstUserAccount() bool

func IsUserAway

func IsUserAway(lastActivityAt int64) bool

func IsUserSignUpAllowed

func IsUserSignUpAllowed() *model.AppError

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 JoinChannel

func JoinChannel(channel *model.Channel, userId string) *model.AppError

func JoinDefaultChannels

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

func JoinUserToTeam

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

func LeaveChannel

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

func LeaveTeam

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

func LinkUserToTeam

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

func ListAllCommands added in v3.8.0

func ListAllCommands(teamId string, T goi18n.TranslateFunc) ([]*model.Command, *model.AppError)

func ListAutocompleteCommands added in v3.8.0

func ListAutocompleteCommands(teamId string, T goi18n.TranslateFunc) ([]*model.Command, *model.AppError)

previous ListCommands now ListAutocompleteCommands

func ListTeamCommands added in v3.8.0

func ListTeamCommands(teamId string) ([]*model.Command, *model.AppError)

func LoadLicense

func LoadLicense()

func LoginByOAuth added in v3.9.0

func LoginByOAuth(service string, userData io.Reader, teamId string) (*model.User, *model.AppError)

func MigrateFilenamesToFileInfos

func MigrateFilenamesToFileInfos(post *model.Post) []*model.FileInfo

Creates and stores FileInfos for a post created before the FileInfos table existed.

func MoveFile

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

func NewServer

func NewServer()

func OldImportChannel

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

func OldImportFile

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

func OldImportIncomingWebhookPost

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

func OldImportPost

func OldImportPost(post *model.Post)

func OldImportUser

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

func PatchChannel added in v3.8.0

func PatchChannel(channel *model.Channel, patch *model.ChannelPatch, userId string) (*model.Channel, *model.AppError)

func PatchPost added in v3.8.0

func PatchPost(postId string, patch *model.PostPatch) (*model.Post, *model.AppError)

func PatchTeam added in v3.8.0

func PatchTeam(teamId string, patch *model.TeamPatch) (*model.Team, *model.AppError)

func PatchUser

func PatchUser(userId string, patch *model.UserPatch, asAdmin bool) (*model.User, *model.AppError)

func PermanentDeleteAllUsers

func PermanentDeleteAllUsers() *model.AppError

func PermanentDeleteChannel

func PermanentDeleteChannel(channel *model.Channel) *model.AppError

func PermanentDeleteTeam

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

func PermanentDeleteUser

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

func PostAddToChannelMessage

func PostAddToChannelMessage(user *model.User, addedUser *model.User, channel *model.Channel) *model.AppError

func PostRemoveFromChannelMessage

func PostRemoveFromChannelMessage(removerUserId string, removedUser *model.User, channel *model.Channel) *model.AppError

func PostUpdateChannelDisplayNameMessage

func PostUpdateChannelDisplayNameMessage(userId string, channelId string, teamId string, oldChannelDisplayName, newChannelDisplayName string) *model.AppError

func PostUpdateChannelHeaderMessage

func PostUpdateChannelHeaderMessage(userId string, channelId string, teamId string, oldChannelHeader, newChannelHeader string) *model.AppError

func PostUpdateChannelPurposeMessage

func PostUpdateChannelPurposeMessage(userId string, channelId string, teamId string, oldChannelPurpose string, newChannelPurpose string) *model.AppError

func Publish

func Publish(message *model.WebSocketEvent)

func PublishSkipClusterSend

func PublishSkipClusterSend(message *model.WebSocketEvent)

func ReadFile

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

func RecycleDatabaseConnection

func RecycleDatabaseConnection()

func RegenCommandToken added in v3.8.0

func RegenCommandToken(cmd *model.Command) (*model.Command, *model.AppError)

func RegenOutgoingWebhookToken

func RegenOutgoingWebhookToken(hook *model.OutgoingWebhook) (*model.OutgoingWebhook, *model.AppError)

func RegenerateOAuthAppSecret added in v3.9.0

func RegenerateOAuthAppSecret(app *model.OAuthApp) (*model.OAuthApp, *model.AppError)

func RegisterCommandProvider added in v3.8.0

func RegisterCommandProvider(newProvider CommandProvider)

func ReloadConfig

func ReloadConfig()

func RemoveLicense

func RemoveLicense() *model.AppError

func RemoveSamlFile added in v3.8.0

func RemoveSamlFile(filename string) *model.AppError

func RemoveSamlIdpCertificate added in v3.8.0

func RemoveSamlIdpCertificate() *model.AppError

func RemoveSamlPrivateCertificate added in v3.8.0

func RemoveSamlPrivateCertificate() *model.AppError

func RemoveSamlPublicCertificate added in v3.8.0

func RemoveSamlPublicCertificate() *model.AppError

func RemoveUserFromChannel

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

func RemoveUserFromTeam

func RemoveUserFromTeam(teamId string, userId string) *model.AppError

func ResetPasswordFromToken added in v3.9.0

func ResetPasswordFromToken(userSuppliedTokenString, newPassword string) *model.AppError

func RestoreChannel added in v3.10.0

func RestoreChannel(channel *model.Channel) (*model.Channel, *model.AppError)

func ReturnWebSocketError

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

func RevokeAccessToken

func RevokeAccessToken(token string) *model.AppError

func RevokeAllSessions

func RevokeAllSessions(userId string) *model.AppError

func RevokeSession

func RevokeSession(session *model.Session) *model.AppError

func RevokeSessionById

func RevokeSessionById(sessionId string) *model.AppError

func RevokeSessionsForDeviceId

func RevokeSessionsForDeviceId(userId string, deviceId string, currentSessionId string) *model.AppError

func RevokeWebrtcToken

func RevokeWebrtcToken(sessionId string)

func SanitizeProfile

func SanitizeProfile(user *model.User, asAdmin bool)

func SaveBrandImage

func SaveBrandImage(imageData *multipart.FileHeader) *model.AppError

func SaveComplianceReport

func SaveComplianceReport(job *model.Compliance) (*model.Compliance, *model.AppError)

func SaveConfig

func SaveConfig(cfg *model.Config) *model.AppError

func SaveLicense

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

func SaveReactionForPost added in v3.9.0

func SaveReactionForPost(reaction *model.Reaction) (*model.Reaction, *model.AppError)

func SearchAllTeams added in v3.8.0

func SearchAllTeams(term string) ([]*model.Team, *model.AppError)

func SearchChannels

func SearchChannels(teamId string, term string) (*model.ChannelList, *model.AppError)

func SearchChannelsUserNotIn

func SearchChannelsUserNotIn(teamId string, userId string, term string) (*model.ChannelList, *model.AppError)

func SearchOpenTeams added in v3.8.0

func SearchOpenTeams(term string) ([]*model.Team, *model.AppError)

func SearchPostsInTeam

func SearchPostsInTeam(terms string, userId string, teamId string, isOrSearch bool) (*model.PostList, *model.AppError)

func SearchUsers added in v3.8.0

func SearchUsers(props *model.UserSearch, searchOptions map[string]bool, asAdmin bool) ([]*model.User, *model.AppError)

func SearchUsersInChannel

func SearchUsersInChannel(channelId string, term string, searchOptions map[string]bool, asAdmin bool) ([]*model.User, *model.AppError)

func SearchUsersInTeam

func SearchUsersInTeam(teamId string, term string, searchOptions map[string]bool, asAdmin bool) ([]*model.User, *model.AppError)

func SearchUsersNotInChannel

func SearchUsersNotInChannel(teamId string, channelId string, term string, searchOptions map[string]bool, asAdmin bool) ([]*model.User, *model.AppError)

func SearchUsersNotInTeam added in v3.8.0

func SearchUsersNotInTeam(notInTeamId string, term string, searchOptions map[string]bool, asAdmin bool) ([]*model.User, *model.AppError)

func SearchUsersWithoutTeam added in v3.8.0

func SearchUsersWithoutTeam(term string, searchOptions map[string]bool, asAdmin bool) ([]*model.User, *model.AppError)

func SendChangeUsernameEmail

func SendChangeUsernameEmail(oldUsername, newUsername, email, locale, siteURL string) *model.AppError

func SendDailyDiagnostics

func SendDailyDiagnostics()

func SendDiagnostic

func SendDiagnostic(event string, properties map[string]interface{})

func SendEmailChangeEmail

func SendEmailChangeEmail(oldEmail, newEmail, locale, siteURL string) *model.AppError

func SendEmailChangeVerifyEmail

func SendEmailChangeVerifyEmail(newUserEmail, locale, siteURL, token string) *model.AppError

func SendEmailVerification added in v3.9.0

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

func SendEphemeralPost

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

func SendInviteEmails

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

func SendMfaChangeEmail

func SendMfaChangeEmail(email string, activated bool, locale, siteURL string) *model.AppError

func SendNotifications

func SendNotifications(post *model.Post, team *model.Team, channel *model.Channel, sender *model.User) ([]string, *model.AppError)

func SendPasswordChangeEmail

func SendPasswordChangeEmail(email, method, locale, siteURL string) *model.AppError

func SendPasswordReset

func SendPasswordReset(email string, siteURL string) (bool, *model.AppError)

func SendPasswordResetEmail

func SendPasswordResetEmail(email string, token *model.Token, locale, siteURL string) (bool, *model.AppError)

func SendSignInChangeEmail

func SendSignInChangeEmail(email, method, locale, siteURL string) *model.AppError

func SendVerifyEmail

func SendVerifyEmail(userEmail, locale, siteURL, token string) *model.AppError

func SendWelcomeEmail

func SendWelcomeEmail(userId string, email string, verified bool, locale, siteURL string) *model.AppError

func SessionCacheLength

func SessionCacheLength() int

func SessionHasPermissionTo

func SessionHasPermissionTo(session model.Session, permission *model.Permission) bool

func SessionHasPermissionToChannel

func SessionHasPermissionToChannel(session model.Session, channelId string, permission *model.Permission) bool

func SessionHasPermissionToChannelByPost

func SessionHasPermissionToChannelByPost(session model.Session, postId string, permission *model.Permission) bool

func SessionHasPermissionToPost

func SessionHasPermissionToPost(session model.Session, postId string, permission *model.Permission) bool

func SessionHasPermissionToTeam

func SessionHasPermissionToTeam(session model.Session, teamId string, permission *model.Permission) bool

func SessionHasPermissionToUser

func SessionHasPermissionToUser(session model.Session, userId string) bool

func SetActiveChannel

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

func SetProfileImage

func SetProfileImage(userId string, imageData *multipart.FileHeader) *model.AppError

func SetStatusAwayIfNeeded

func SetStatusAwayIfNeeded(userId string, manual bool)

func SetStatusOffline

func SetStatusOffline(userId string, manual bool)

func SetStatusOnline

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

func ShouldSendPushNotification

func ShouldSendPushNotification(user *model.User, channelNotifyProps model.StringMap, wasMentioned bool, status *model.Status, post *model.Post) bool

func SlackAddBotUser

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

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

func SlackConvertChannelName

func SlackConvertChannelName(channelName string) string

func SlackConvertPostsMarkup

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

func SlackConvertTimeStamp

func SlackConvertTimeStamp(ts string) int64

func SlackConvertUserMentions

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

func SlackSanitiseChannelProperties(channel model.Channel) model.Channel

func SlackUploadFile

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

func SoftDeleteTeam added in v3.8.0

func SoftDeleteTeam(teamId string) *model.AppError

func StartServer

func StartServer()

func StopServer

func StopServer()

func SwitchEmailToLdap added in v3.9.0

func SwitchEmailToLdap(email, password, code, ldapId, ldapPassword string) (string, *model.AppError)

func SwitchEmailToOAuth added in v3.9.0

func SwitchEmailToOAuth(w http.ResponseWriter, r *http.Request, email, password, code, service string) (string, *model.AppError)

func SwitchLdapToEmail added in v3.9.0

func SwitchLdapToEmail(ldapPassword, code, email, newPassword string) (string, *model.AppError)

func SwitchOAuthToEmail added in v3.9.0

func SwitchOAuthToEmail(email, password, requesterId string) (string, *model.AppError)

func SyncLdap

func SyncLdap()

func TearDown

func TearDown()

func TestEmail

func TestEmail(userId string, cfg *model.Config) *model.AppError

func TestLdap

func TestLdap() *model.AppError

func TotalWebsocketConnections

func TotalWebsocketConnections() int

func UpdateActive

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

func UpdateActiveNoLdap

func UpdateActiveNoLdap(userId string, active bool) (*model.User, *model.AppError)

func UpdateChannel

func UpdateChannel(channel *model.Channel) (*model.Channel, *model.AppError)

func UpdateChannelLastViewedAt

func UpdateChannelLastViewedAt(channelIds []string, userId string) *model.AppError

func UpdateChannelMemberNotifyProps

func UpdateChannelMemberNotifyProps(data map[string]string, channelId string, userId string) (*model.ChannelMember, *model.AppError)

func UpdateChannelMemberRoles

func UpdateChannelMemberRoles(channelId string, userId string, newRoles string) (*model.ChannelMember, *model.AppError)

func UpdateCommand added in v3.8.0

func UpdateCommand(oldCmd, updatedCmd *model.Command) (*model.Command, *model.AppError)

func UpdateIncomingWebhook

func UpdateIncomingWebhook(oldHook, updatedHook *model.IncomingWebhook) (*model.IncomingWebhook, *model.AppError)

func UpdateLastActivityAtIfNeeded added in v3.9.0

func UpdateLastActivityAtIfNeeded(session model.Session)

func UpdateMfa added in v3.8.0

func UpdateMfa(activate bool, userId, token string) *model.AppError

func UpdateOAuthUserAttrs

func UpdateOAuthUserAttrs(userData io.Reader, user *model.User, provider einterfaces.OauthProvider, service string) *model.AppError

func UpdateOutgoingWebhook

func UpdateOutgoingWebhook(oldHook, updatedHook *model.OutgoingWebhook) (*model.OutgoingWebhook, *model.AppError)

func UpdatePassword

func UpdatePassword(user *model.User, newPassword string) *model.AppError

func UpdatePasswordAsUser

func UpdatePasswordAsUser(userId, currentPassword, newPassword string) *model.AppError

func UpdatePasswordByUserIdSendEmail

func UpdatePasswordByUserIdSendEmail(userId, newPassword, method string) *model.AppError

func UpdatePasswordSendEmail

func UpdatePasswordSendEmail(user *model.User, newPassword, method string) *model.AppError

func UpdatePost

func UpdatePost(post *model.Post, safeUpdate bool) (*model.Post, *model.AppError)

func UpdatePreferences

func UpdatePreferences(userId string, preferences model.Preferences) *model.AppError

func UpdateTeam

func UpdateTeam(team *model.Team) (*model.Team, *model.AppError)

func UpdateTeamMemberRoles

func UpdateTeamMemberRoles(teamId string, userId string, newRoles string) (*model.TeamMember, *model.AppError)

func UpdateUser

func UpdateUser(user *model.User, sendNotifications bool) (*model.User, *model.AppError)

func UpdateUserAsUser

func UpdateUserAsUser(user *model.User, asAdmin bool) (*model.User, *model.AppError)

func UpdateUserNotifyProps

func UpdateUserNotifyProps(userId string, props map[string]string) (*model.User, *model.AppError)

func UpdateUserRoles

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

func UploadEmojiImage added in v3.9.0

func UploadEmojiImage(id string, imageData *multipart.FileHeader) *model.AppError

func UploadFiles

func UploadFiles(teamId string, channelId string, userId string, fileHeaders []*multipart.FileHeader, clientIds []string) (*model.FileUploadResponse, *model.AppError)

func VerifyEmailFromToken added in v3.9.0

func VerifyEmailFromToken(userSuppliedTokenString string) *model.AppError

func VerifyUserEmail

func VerifyUserEmail(userId string) *model.AppError

func ViewChannel

func ViewChannel(view *model.ChannelView, userId string, clearPushNotifications bool) *model.AppError

func WaitForChannelMembership

func WaitForChannelMembership(channelId string, userId string)

func WriteFile

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

func WriteSamlFile added in v3.8.0

func WriteSamlFile(fileData *multipart.FileHeader) *model.AppError

Types

type AutoChannelCreator added in v3.8.0

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

func NewAutoChannelCreator added in v3.8.0

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

func (*AutoChannelCreator) CreateTestChannels added in v3.8.0

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

type AutoPostCreator added in v3.8.0

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 added in v3.8.0

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

Automatic poster used for testing

func (*AutoPostCreator) CreateRandomPost added in v3.8.0

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

func (*AutoPostCreator) CreateTestPosts added in v3.8.0

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

func (*AutoPostCreator) UploadTestFile added in v3.8.0

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

type AutoTeamCreator added in v3.8.0

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 added in v3.8.0

func NewAutoTeamCreator(client *model.Client) *AutoTeamCreator

func (*AutoTeamCreator) CreateTestTeams added in v3.8.0

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

type AutoUserCreator added in v3.8.0

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

func NewAutoUserCreator added in v3.8.0

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

func (*AutoUserCreator) CreateTestUsers added in v3.8.0

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

type AwayProvider added in v3.8.0

type AwayProvider struct {
}

func (*AwayProvider) DoCommand added in v3.8.0

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

func (*AwayProvider) GetCommand added in v3.8.0

func (me *AwayProvider) GetCommand(T goi18n.TranslateFunc) *model.Command

func (*AwayProvider) GetTrigger added in v3.8.0

func (me *AwayProvider) GetTrigger() string

type ChannelImportData

type ChannelImportData struct {
	Team        *string `json:"team"`
	Name        *string `json:"name"`
	DisplayName *string `json:"display_name"`
	Type        *string `json:"type"`
	Header      *string `json:"header"`
	Purpose     *string `json:"purpose"`
}

type CollapseProvider added in v3.8.0

type CollapseProvider struct {
}

func (*CollapseProvider) DoCommand added in v3.8.0

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

func (*CollapseProvider) GetCommand added in v3.8.0

func (me *CollapseProvider) GetCommand(T goi18n.TranslateFunc) *model.Command

func (*CollapseProvider) GetTrigger added in v3.8.0

func (me *CollapseProvider) GetTrigger() string

type CommandProvider added in v3.8.0

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

func GetCommandProvider added in v3.8.0

func GetCommandProvider(name string) CommandProvider

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 added in v3.8.0

type EchoProvider struct {
}

func (*EchoProvider) DoCommand added in v3.8.0

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

func (*EchoProvider) GetCommand added in v3.8.0

func (me *EchoProvider) GetCommand(T goi18n.TranslateFunc) *model.Command

func (*EchoProvider) GetTrigger added in v3.8.0

func (me *EchoProvider) GetTrigger() string

type EmailBatchingJob

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

func MakeEmailBatchingJob

func MakeEmailBatchingJob(bufferSize int) *EmailBatchingJob

func (*EmailBatchingJob) Add

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

func (*EmailBatchingJob) CheckPendingEmails

func (job *EmailBatchingJob) CheckPendingEmails()

func (*EmailBatchingJob) Start

func (job *EmailBatchingJob) Start()

type ExpandProvider added in v3.8.0

type ExpandProvider struct {
}

func (*ExpandProvider) DoCommand added in v3.8.0

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

func (*ExpandProvider) GetCommand added in v3.8.0

func (me *ExpandProvider) GetCommand(T goi18n.TranslateFunc) *model.Command

func (*ExpandProvider) GetTrigger added in v3.8.0

func (me *ExpandProvider) GetTrigger() string

type Hub

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

func GetHubForUserId

func GetHubForUserId(userId string) *Hub

func NewWebHub

func NewWebHub() *Hub

func (*Hub) Broadcast

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

func (*Hub) InvalidateUser

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.8.0

type InvitePeopleProvider struct {
}

func (*InvitePeopleProvider) DoCommand added in v3.8.0

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

func (*InvitePeopleProvider) GetCommand added in v3.8.0

func (*InvitePeopleProvider) GetTrigger added in v3.8.0

func (me *InvitePeopleProvider) GetTrigger() string

type JoinProvider added in v3.8.0

type JoinProvider struct {
}

func (*JoinProvider) DoCommand added in v3.8.0

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

func (*JoinProvider) GetCommand added in v3.8.0

func (me *JoinProvider) GetCommand(T goi18n.TranslateFunc) *model.Command

func (*JoinProvider) GetTrigger added in v3.8.0

func (me *JoinProvider) GetTrigger() string

type LineImportData

type LineImportData struct {
	Type    string             `json:"type"`
	Team    *TeamImportData    `json:"team"`
	Channel *ChannelImportData `json:"channel"`
	User    *UserImportData    `json:"user"`
	Post    *PostImportData    `json:"post"`
	Version *int               `json:"version"`
}

type LineImportWorkerData added in v3.9.0

type LineImportWorkerData struct {
	LineImportData
	LineNumber int
}

type LineImportWorkerError added in v3.9.0

type LineImportWorkerError struct {
	Error      *model.AppError
	LineNumber int
}

type LoadTestProvider added in v3.8.0

type LoadTestProvider struct {
}

func (*LoadTestProvider) ChannelsCommand added in v3.8.0

func (me *LoadTestProvider) ChannelsCommand(args *model.CommandArgs, message string) *model.CommandResponse

func (*LoadTestProvider) DoCommand added in v3.8.0

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

func (*LoadTestProvider) GetCommand added in v3.8.0

func (me *LoadTestProvider) GetCommand(T goi18n.TranslateFunc) *model.Command

func (*LoadTestProvider) GetTrigger added in v3.8.0

func (me *LoadTestProvider) GetTrigger() string

func (*LoadTestProvider) HelpCommand added in v3.8.0

func (me *LoadTestProvider) HelpCommand(args *model.CommandArgs, message string) *model.CommandResponse

func (*LoadTestProvider) JsonCommand added in v3.8.0

func (me *LoadTestProvider) JsonCommand(args *model.CommandArgs, message string) *model.CommandResponse

func (*LoadTestProvider) PostsCommand added in v3.8.0

func (me *LoadTestProvider) PostsCommand(args *model.CommandArgs, message string) *model.CommandResponse

func (*LoadTestProvider) SetupCommand added in v3.8.0

func (me *LoadTestProvider) SetupCommand(args *model.CommandArgs, message string) *model.CommandResponse

func (*LoadTestProvider) UrlCommand added in v3.8.0

func (me *LoadTestProvider) UrlCommand(args *model.CommandArgs, message string) *model.CommandResponse

func (*LoadTestProvider) UsersCommand added in v3.8.0

func (me *LoadTestProvider) UsersCommand(args *model.CommandArgs, message string) *model.CommandResponse

type LogoutProvider added in v3.8.0

type LogoutProvider struct {
}

func (*LogoutProvider) DoCommand added in v3.8.0

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

func (*LogoutProvider) GetCommand added in v3.8.0

func (me *LogoutProvider) GetCommand(T goi18n.TranslateFunc) *model.Command

func (*LogoutProvider) GetTrigger added in v3.8.0

func (me *LogoutProvider) GetTrigger() string

type MeProvider added in v3.8.0

type MeProvider struct {
}

func (*MeProvider) DoCommand added in v3.8.0

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

func (*MeProvider) GetCommand added in v3.8.0

func (me *MeProvider) GetCommand(T goi18n.TranslateFunc) *model.Command

func (*MeProvider) GetTrigger added in v3.8.0

func (me *MeProvider) GetTrigger() string

type OfflineProvider added in v3.8.0

type OfflineProvider struct {
}

func (*OfflineProvider) DoCommand added in v3.8.0

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

func (*OfflineProvider) GetCommand added in v3.8.0

func (me *OfflineProvider) GetCommand(T goi18n.TranslateFunc) *model.Command

func (*OfflineProvider) GetTrigger added in v3.8.0

func (me *OfflineProvider) GetTrigger() string

type OnlineProvider added in v3.8.0

type OnlineProvider struct {
}

func (*OnlineProvider) DoCommand added in v3.8.0

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

func (*OnlineProvider) GetCommand added in v3.8.0

func (me *OnlineProvider) GetCommand(T goi18n.TranslateFunc) *model.Command

func (*OnlineProvider) GetTrigger added in v3.8.0

func (me *OnlineProvider) GetTrigger() string

type PostImportData

type PostImportData struct {
	Team    *string `json:"team"`
	Channel *string `json:"channel"`
	User    *string `json:"user"`

	Message  *string `json:"message"`
	CreateAt *int64  `json:"create_at"`
}

type RecoveryLogger added in v3.10.0

type RecoveryLogger struct {
}

func (*RecoveryLogger) Println added in v3.10.0

func (rl *RecoveryLogger) Println(i ...interface{})

type Server

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

type ShortcutsProvider added in v3.8.0

type ShortcutsProvider struct {
}

func (*ShortcutsProvider) DoCommand added in v3.8.0

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

func (*ShortcutsProvider) GetCommand added in v3.8.0

func (me *ShortcutsProvider) GetCommand(T goi18n.TranslateFunc) *model.Command

func (*ShortcutsProvider) GetTrigger added in v3.8.0

func (me *ShortcutsProvider) GetTrigger() string

type ShrugProvider added in v3.8.0

type ShrugProvider struct {
}

func (*ShrugProvider) DoCommand added in v3.8.0

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

func (*ShrugProvider) GetCommand added in v3.8.0

func (me *ShrugProvider) GetCommand(T goi18n.TranslateFunc) *model.Command

func (*ShrugProvider) GetTrigger added in v3.8.0

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

func SlackParseChannels

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

type SlackComment

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

type SlackFile

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 []*model.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 added in v3.8.0

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

func CreateTestEnvironmentInTeam added in v3.8.0

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

type TeamImportData

type TeamImportData struct {
	Name            *string `json:"name"`
	DisplayName     *string `json:"display_name"`
	Type            *string `json:"type"`
	Description     *string `json:"description"`
	AllowOpenInvite *bool   `json:"allow_open_invite"`
}

type TestEnvironment added in v3.8.0

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

func CreateTestEnvironmentWithTeams added in v3.8.0

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 {
	BasicTeam    *model.Team
	BasicUser    *model.User
	BasicUser2   *model.User
	BasicChannel *model.Channel
	BasicPost    *model.Post
}

func Setup

func Setup() *TestHelper

func SetupEnterprise

func SetupEnterprise() *TestHelper

func (*TestHelper) CreateChannel

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

func (*TestHelper) CreatePost

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

func (*TestHelper) CreatePrivateChannel

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

func (*TestHelper) CreateTeam

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

func (*TestHelper) CreateUser

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

func (*TestHelper) InitBasic

func (me *TestHelper) InitBasic() *TestHelper

func (*TestHelper) MakeEmail added in v3.9.0

func (me *TestHelper) MakeEmail() string

func (*TestHelper) MakeUsername added in v3.9.0

func (me *TestHelper) MakeUsername() string

type UserChannelImportData

type UserChannelImportData struct {
	Name        *string                           `json:"name"`
	Roles       *string                           `json:"roles"`
	NotifyProps *UserChannelNotifyPropsImportData `json:"notify_props"`
}

type UserChannelNotifyPropsImportData

type UserChannelNotifyPropsImportData struct {
	Desktop    *string `json:"desktop"`
	MarkUnread *string `json:"mark_unread"`
}

type UserImportData

type UserImportData struct {
	Username    *string `json:"username"`
	Email       *string `json:"email"`
	AuthService *string `json:"auth_service"`
	AuthData    *string `json:"auth_data"`
	Password    *string `json:"password"`
	Nickname    *string `json:"nickname"`
	FirstName   *string `json:"first_name"`
	LastName    *string `json:"last_name"`
	Position    *string `json:"position"`
	Roles       *string `json:"roles"`
	Locale      *string `json:"locale"`

	Teams *[]UserTeamImportData `json:"teams"`

	Theme              *string `json:"theme"`
	SelectedFont       *string `json:"display_font"`
	UseMilitaryTime    *string `json:"military_time"`
	NameFormat         *string `json:"teammate_name_display"`
	CollapsePreviews   *string `json:"link_previews"`
	MessageDisplay     *string `json:"message_display"`
	ChannelDisplayMode *string `json:"channel_display_mode"`
}

type UserTeamImportData

type UserTeamImportData struct {
	Name     *string                  `json:"name"`
	Roles    *string                  `json:"roles"`
	Channels *[]UserChannelImportData `json:"channels"`
}

type VaryBy

type VaryBy struct{}

func (*VaryBy) Key

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
	Sequence                  int64
}

func NewWebConn

func NewWebConn(ws *websocket.Conn, session model.Session, t goi18n.TranslateFunc, locale string) *WebConn

func (*WebConn) InvalidateCache

func (webCon *WebConn) InvalidateCache()

func (*WebConn) IsAuthenticated

func (webCon *WebConn) IsAuthenticated() bool

func (*WebConn) IsMemberOfTeam

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

func (*WebConn) ReadPump

func (c *WebConn) ReadPump()

func (*WebConn) SendHello

func (webCon *WebConn) SendHello()

func (*WebConn) ShouldSendEvent

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

func (*WebConn) WritePump

func (c *WebConn) WritePump()

type WebSocketRouter

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

func NewWebSocketRouter

func NewWebSocketRouter() *WebSocketRouter

func (*WebSocketRouter) Handle

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

func (*WebSocketRouter) ServeWebSocket

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