app

package
v4.2.0-rc1+incompatible Latest Latest
Warning

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

Go to latest
Published: Sep 6, 2017 License: AGPL-3.0, Apache-2.0 Imports: 67 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_CLIENT_REQ    = "config_client_requirements"
	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_THEME         = "config_theme"
	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_CONFIG_ANNOUNCEMENT  = "config_announcement"
	TRACK_CONFIG_ELASTICSEARCH = "config_elasticsearch"
	TRACK_CONFIG_PLUGIN        = "config_plugin"

	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
	IMAGE_THUMBNAIL_PIXEL_WIDTH  = 120
	IMAGE_THUMBNAIL_PIXEL_HEIGHT = 100
	IMAGE_PREVIEW_PIXEL_WIDTH    = 1024
)
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
	IMAGE_PROFILE_PIXEL_DIMENSION = 128
)
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_EXACT_MATCH = 0
	TRIGGERWORDS_STARTS_WITH = 1
)
View Source
const (
	CMD_AWAY = "away"
)
View Source
const (
	CMD_CODE = "code"
)
View Source
const (
	CMD_ECHO = "echo"
)
View Source
const (
	CMD_HEADER = "header"
)
View Source
const (
	CMD_HELP = "help"
)
View Source
const (
	CMD_INVITE_PEOPLE = "invite_people"
)
View Source
const (
	CMD_JOIN = "join"
)
View Source
const (
	CMD_LEAVE = "leave"
)
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_OPEN = "open"
)
View Source
const (
	CMD_PURPOSE = "purpose"
)
View Source
const (
	CMD_RENAME = "rename"
)
View Source
const (
	CMD_SEARCH = "search"
)
View Source
const (
	CMD_SETTINGS = "settings"
)
View Source
const (
	CMD_SHORTCUTS = "shortcuts"
)
View Source
const (
	CMD_SHRUG = "shrug"
)
View Source
const (
	CMD_TEST = "test"
)
View Source
const (
	DISCOVERY_SERVICE_WRITE_PING = 60 * time.Second
)
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 ActivatePlugins

func ActivatePlugins()

func AddChannelMember

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

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

func AddSamlPrivateCertificate

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

func AddSamlPublicCertificate

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

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

func AddTeamMemberByHash

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

func AddTeamMemberByInviteId

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

func AddTeamMembers

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

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

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

func BroadcastStatus(status *model.Status)

func BulkImport

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

func CancelJob

func CancelJob(jobId string) *model.AppError

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 ClusterClearSessionCacheForUserHandler

func ClusterClearSessionCacheForUserHandler(msg *model.ClusterMessage)

func ClusterInvalidateAllCachesHandler

func ClusterInvalidateAllCachesHandler(msg *model.ClusterMessage)

func ClusterInvalidateCacheForChannelByNameHandler

func ClusterInvalidateCacheForChannelByNameHandler(msg *model.ClusterMessage)

func ClusterInvalidateCacheForChannelHandler

func ClusterInvalidateCacheForChannelHandler(msg *model.ClusterMessage)

func ClusterInvalidateCacheForChannelMembersHandler

func ClusterInvalidateCacheForChannelMembersHandler(msg *model.ClusterMessage)

func ClusterInvalidateCacheForChannelMembersNotifyPropHandler

func ClusterInvalidateCacheForChannelMembersNotifyPropHandler(msg *model.ClusterMessage)

func ClusterInvalidateCacheForChannelPostsHandler

func ClusterInvalidateCacheForChannelPostsHandler(msg *model.ClusterMessage)

func ClusterInvalidateCacheForUserHandler

func ClusterInvalidateCacheForUserHandler(msg *model.ClusterMessage)

func ClusterInvalidateCacheForWebhookHandler

func ClusterInvalidateCacheForWebhookHandler(msg *model.ClusterMessage)

func ClusterPublishHandler

func ClusterPublishHandler(msg *model.ClusterMessage)

func ClusterUpdateStatusHandler

func ClusterUpdateStatusHandler(msg *model.ClusterMessage)

func CompleteOAuth

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

func CompleteSwitchWithOAuth

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

func CreateBasicUser

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

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 CreateCommandWebhook

func CreateCommandWebhook(commandId string, args *model.CommandArgs) (*model.CommandWebhook, *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

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 CreateJob

func CreateJob(job *model.Job) (*model.Job, *model.AppError)

func CreateOAuthApp

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

func CreateOAuthStateToken

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

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

func CreatePost

func CreatePost(post *model.Post, channel *model.Channel, triggerWebhooks bool) (*model.Post, *model.AppError)

func CreatePostAsUser

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

func CreatePostMissingChannel

func CreatePostMissingChannel(post *model.Post, triggerWebhooks bool) (*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 CreateUserAccessToken

func CreateUserAccessToken(token *model.UserAccessToken) (*model.UserAccessToken, *model.AppError)

func CreateUserAsAdmin

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

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

func CreateWebhookPost

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

func DeactivateMfa

func DeactivateMfa(userId string) *model.AppError

func DeauthorizeOAuthAppForUser

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

func DeleteChannel

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

func DeleteCommand

func DeleteCommand(commandId string) *model.AppError

func DeleteEmoji

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

func DeleteFlaggedPosts

func DeleteFlaggedPosts(postId string)

func DeleteIncomingWebhook

func DeleteIncomingWebhook(hookId string) *model.AppError

func DeleteOAuthApp

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

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

func DeleteToken

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 DoPostAction

func DoPostAction(postId string, actionId string, userId string) *model.AppError

func DoSecurityUpdateCheck

func DoSecurityUpdateCheck()

func DoUploadFile

func DoUploadFile(now time.Time, 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

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

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

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

func GenerateTurnPassword

func GenerateTurnPassword(username string, secret string) string

func GetActivePluginManifests

func GetActivePluginManifests() ([]*model.Manifest, *model.AppError)

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

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

func GetAuthorizedAppsForUser

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

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

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

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

func GetDirectChannel

func GetDirectChannel(userId1, userId2 string) (*model.Channel, *model.AppError)

func GetEmoji

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

func GetEmojiImage

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

func GetEmojiList

func GetEmojiList(page, perPage int) ([]*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

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

func GetFlaggedPostsForTeam

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 GetJob

func GetJob(id string) (*model.Job, *model.AppError)

func GetJobs

func GetJobs(offset int, limit int) ([]*model.Job, *model.AppError)

func GetJobsByType

func GetJobsByType(jobType string, offset int, limit int) ([]*model.Job, *model.AppError)

func GetJobsByTypePage

func GetJobsByTypePage(jobType string, page int, perPage int) ([]*model.Job, *model.AppError)

func GetJobsPage

func GetJobsPage(page int, perPage int) ([]*model.Job, *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 GetNewUsersForTeamPage

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

func GetNumberOfChannelsOnTeam

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

func GetOAuthAccessToken

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

func GetOAuthApp

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

func GetOAuthApps

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

func GetOAuthAppsByCreator

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

func GetOAuthLoginEndpoint

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

func GetOAuthSignupEndpoint

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

func GetOAuthStateToken

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

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

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

func GetPasswordRecoveryToken

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

func GetPermalinkPost

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

func GetPinnedPosts

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

func GetPluginsForClientConfig

func GetPluginsForClientConfig() string

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

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

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

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

func GetPublicChannelsForTeam

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

func GetReactionsForPost

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

func GetRecentlyActiveUsersForTeam

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

func GetRecentlyActiveUsersForTeamPage

func GetRecentlyActiveUsersForTeamPage(teamId string, page, perPage int, asAdmin bool) ([]*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

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

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 GetUserAccessToken

func GetUserAccessToken(tokenId string, sanitize bool) (*model.UserAccessToken, *model.AppError)

func GetUserAccessTokensForUser

func GetUserAccessTokensForUser(userId string, page, perPage int) ([]*model.UserAccessToken, *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

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

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

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

func GetUsersNotInTeamEtag

func GetUsersNotInTeamEtag(teamId string) string

func GetUsersNotInTeamPage

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

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

func GetUsersWithoutTeamPage

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

func GetVerifyEmailToken

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

func GetWebrtcInfoForSession

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

func GetWebrtcToken

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

func HandleCommandResponse

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

func HandleCommandWebhook

func HandleCommandWebhook(hookId string, response *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 ImportDirectChannel

func ImportDirectChannel(data *DirectChannelImportData, dryRun bool) *model.AppError

func ImportDirectPost

func ImportDirectPost(data *DirectPostImportData, 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 InitPlugins

func InitPlugins()

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

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

func ListAutocompleteCommands

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

previous ListCommands now ListAutocompleteCommands

func ListTeamCommands

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

func LoadLicense

func LoadLicense()

func LoginByOAuth

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 MoveChannel

func MoveChannel(team *model.Team, channel *model.Channel) *model.AppError

This function is intended for use from the CLI. It is not robust against people joining the channel while the move is in progress, and therefore should not be used from the API without first fixing this potential race condition.

func NewServer

func NewServer()

func OldImportChannel

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

func OldImportFile

func OldImportFile(timestamp time.Time, 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

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

func PatchPost

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

func PatchTeam

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 PermanentDeleteTeamId

func PermanentDeleteTeamId(teamId string) *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, channel *model.Channel, oldChannelDisplayName, newChannelDisplayName string) *model.AppError

func PostUpdateChannelHeaderMessage

func PostUpdateChannelHeaderMessage(userId string, channel *model.Channel, oldChannelHeader, newChannelHeader string) *model.AppError

func PostUpdateChannelPurposeMessage

func PostUpdateChannelPurposeMessage(userId string, channel *model.Channel, oldChannelPurpose string, newChannelPurpose string) *model.AppError

func Publish

func Publish(message *model.WebSocketEvent)

func PublishSkipClusterSend

func PublishSkipClusterSend(message *model.WebSocketEvent)

func PurgeElasticsearchIndexes

func PurgeElasticsearchIndexes() *model.AppError

func RecycleDatabaseConnection

func RecycleDatabaseConnection()

func RegenCommandToken

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

func RegenOutgoingWebhookToken

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

func RegenerateOAuthAppSecret

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

func RegisterAllClusterMessageHandlers

func RegisterAllClusterMessageHandlers()

func RegisterCommandProvider

func RegisterCommandProvider(newProvider CommandProvider)

func ReloadConfig

func ReloadConfig()

func RemoveLicense

func RemoveLicense() *model.AppError

func RemovePlugin

func RemovePlugin(id string) *model.AppError

func RemoveSamlFile

func RemoveSamlFile(filename string) *model.AppError

func RemoveSamlIdpCertificate

func RemoveSamlIdpCertificate() *model.AppError

func RemoveSamlPrivateCertificate

func RemoveSamlPrivateCertificate() *model.AppError

func RemoveSamlPublicCertificate

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

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

func RestoreChannel

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 RevokeUserAccessToken

func RevokeUserAccessToken(token *model.UserAccessToken) *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, sendConfigChangeClusterMessage bool) *model.AppError

func SaveLicense

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

func SaveReactionForPost

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

func SearchAllTeams

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

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

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

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

func SearchUsersWithoutTeam

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

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

func SendEphemeralPost

func SendEphemeralPost(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, parentPostList *model.PostList) ([]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 SendUserAccessTokenAddedEmail

func SendUserAccessTokenAddedEmail(email, locale 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, channelId 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

func SoftDeleteTeam(teamId string) *model.AppError

func StartServer

func StartServer()

func StartupPlugins

func StartupPlugins(pluginPath, webappPath string)

func StopServer

func StopServer()

func SwitchEmailToLdap

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

func SwitchEmailToOAuth

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

func SwitchLdapToEmail

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

func SwitchOAuthToEmail

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

func SyncLdap

func SyncLdap()

func TearDown

func TearDown()

func TestElasticsearch

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

func TestEmail

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

func TestLdap

func TestLdap() *model.AppError

func TotalWebsocketConnections

func TotalWebsocketConnections() int

func TriggerWebhook

func TriggerWebhook(payload *model.OutgoingWebhookPayload, hook *model.OutgoingWebhook, post *model.Post, channel *model.Channel)

func UnpackAndActivatePlugin

func UnpackAndActivatePlugin(pluginFile io.Reader) (*model.Manifest, *model.AppError)

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

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

func UpdateIncomingWebhook

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

func UpdateLastActivityAtIfNeeded

func UpdateLastActivityAtIfNeeded(session model.Session)

func UpdateMfa

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

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

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 WriteSamlFile

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

Types

type AutoChannelCreator

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

func NewAutoChannelCreator

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

func (*AutoChannelCreator) CreateTestChannels

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

type AutoPostCreator

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

func NewAutoPostCreator

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

Automatic poster used for testing

func (*AutoPostCreator) CreateRandomPost

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

func (*AutoPostCreator) CreateTestPosts

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

func (*AutoPostCreator) UploadTestFile

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

type AutoTeamCreator

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

func NewAutoTeamCreator

func NewAutoTeamCreator(client *model.Client) *AutoTeamCreator

func (*AutoTeamCreator) CreateTestTeams

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

type AutoUserCreator

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

func NewAutoUserCreator

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

func (*AutoUserCreator) CreateTestUsers

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

type AwayProvider

type AwayProvider struct {
}

func (*AwayProvider) DoCommand

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

func (*AwayProvider) GetCommand

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

func (*AwayProvider) GetTrigger

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 ClientConfigPlugin

type ClientConfigPlugin struct {
	Id         string `json:"id"`
	BundlePath string `json:"bundle_path"`
}

Temporary WIP function/type for experimental webapp plugins

type ClusterDiscoveryService

type ClusterDiscoveryService struct {
	model.ClusterDiscovery
	// contains filtered or unexported fields
}

func NewClusterDiscoveryService

func NewClusterDiscoveryService() *ClusterDiscoveryService

func (*ClusterDiscoveryService) Start

func (me *ClusterDiscoveryService) Start()

func (*ClusterDiscoveryService) Stop

func (me *ClusterDiscoveryService) Stop()

type CodeProvider

type CodeProvider struct {
}

func (*CodeProvider) DoCommand

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

func (*CodeProvider) GetCommand

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

func (*CodeProvider) GetTrigger

func (me *CodeProvider) GetTrigger() string

type CollapseProvider

type CollapseProvider struct {
}

func (*CollapseProvider) DoCommand

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

func (*CollapseProvider) GetCommand

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

func (*CollapseProvider) GetTrigger

func (me *CollapseProvider) GetTrigger() string

type CommandProvider

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

func GetCommandProvider

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 DirectChannelImportData

type DirectChannelImportData struct {
	Members     *[]string `json:"members"`
	FavoritedBy *[]string `json:"favorited_by"`

	Header *string `json:"header"`
}

type DirectPostImportData

type DirectPostImportData struct {
	ChannelMembers *[]string `json:"channel_members"`
	User           *string   `json:"user"`

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

	FlaggedBy *[]string `json:"flagged_by"`
}

type EchoProvider

type EchoProvider struct {
}

func (*EchoProvider) DoCommand

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

func (*EchoProvider) GetCommand

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

func (*EchoProvider) GetTrigger

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

type ExpandProvider struct {
}

func (*ExpandProvider) DoCommand

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

func (*ExpandProvider) GetCommand

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

func (*ExpandProvider) GetTrigger

func (me *ExpandProvider) GetTrigger() string

type HeaderProvider

type HeaderProvider struct {
}

func (*HeaderProvider) DoCommand

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

func (*HeaderProvider) GetCommand

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

func (*HeaderProvider) GetTrigger

func (me *HeaderProvider) GetTrigger() string

type HelpProvider

type HelpProvider struct {
}

func (*HelpProvider) DoCommand

func (h *HelpProvider) DoCommand(args *model.CommandArgs, message string) *model.CommandResponse

func (*HelpProvider) GetCommand

func (h *HelpProvider) GetCommand(T goi18n.TranslateFunc) *model.Command

func (*HelpProvider) GetTrigger

func (h *HelpProvider) 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

type InvitePeopleProvider struct {
}

func (*InvitePeopleProvider) DoCommand

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

func (*InvitePeopleProvider) GetCommand

func (*InvitePeopleProvider) GetTrigger

func (me *InvitePeopleProvider) GetTrigger() string

type JoinProvider

type JoinProvider struct {
}

func (*JoinProvider) DoCommand

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

func (*JoinProvider) GetCommand

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

func (*JoinProvider) GetTrigger

func (me *JoinProvider) GetTrigger() string

type LeaveProvider

type LeaveProvider struct {
}

func (*LeaveProvider) DoCommand

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

func (*LeaveProvider) GetCommand

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

func (*LeaveProvider) GetTrigger

func (me *LeaveProvider) 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"`
	DirectChannel *DirectChannelImportData `json:"direct_channel"`
	DirectPost    *DirectPostImportData    `json:"direct_post"`
	Version       *int                     `json:"version"`
}

type LineImportWorkerData

type LineImportWorkerData struct {
	LineImportData
	LineNumber int
}

type LineImportWorkerError

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

type LoadTestProvider

type LoadTestProvider struct {
}

func (*LoadTestProvider) ChannelsCommand

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

func (*LoadTestProvider) DoCommand

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

func (*LoadTestProvider) GetCommand

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

func (*LoadTestProvider) GetTrigger

func (me *LoadTestProvider) GetTrigger() string

func (*LoadTestProvider) HelpCommand

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

func (*LoadTestProvider) JsonCommand

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

func (*LoadTestProvider) PostsCommand

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

func (*LoadTestProvider) SetupCommand

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

func (*LoadTestProvider) UrlCommand

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

func (*LoadTestProvider) UsersCommand

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

type LogoutProvider

type LogoutProvider struct {
}

func (*LogoutProvider) DoCommand

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

func (*LogoutProvider) GetCommand

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

func (*LogoutProvider) GetTrigger

func (me *LogoutProvider) GetTrigger() string

type MeProvider

type MeProvider struct {
}

func (*MeProvider) DoCommand

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

func (*MeProvider) GetCommand

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

func (*MeProvider) GetTrigger

func (me *MeProvider) GetTrigger() string

type OfflineProvider

type OfflineProvider struct {
}

func (*OfflineProvider) DoCommand

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

func (*OfflineProvider) GetCommand

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

func (*OfflineProvider) GetTrigger

func (me *OfflineProvider) GetTrigger() string

type OnlineProvider

type OnlineProvider struct {
}

func (*OnlineProvider) DoCommand

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

func (*OnlineProvider) GetCommand

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

func (*OnlineProvider) GetTrigger

func (me *OnlineProvider) GetTrigger() string

type OpenProvider

type OpenProvider struct {
	JoinProvider
}

func (*OpenProvider) GetCommand

func (open *OpenProvider) GetCommand(T goi18n.TranslateFunc) *model.Command

func (*OpenProvider) GetTrigger

func (open *OpenProvider) GetTrigger() string

type PluginAPI

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

func (*PluginAPI) CreatePost

func (api *PluginAPI) CreatePost(post *model.Post) (*model.Post, *model.AppError)

func (*PluginAPI) GetChannelByName

func (api *PluginAPI) GetChannelByName(teamId, name string) (*model.Channel, *model.AppError)

func (*PluginAPI) GetDirectChannel

func (api *PluginAPI) GetDirectChannel(userId1, userId2 string) (*model.Channel, *model.AppError)

func (*PluginAPI) GetLdapUserAttributes

func (api *PluginAPI) GetLdapUserAttributes(userId string, attributes []string) (map[string]string, *model.AppError)

func (*PluginAPI) GetSessionFromRequest

func (api *PluginAPI) GetSessionFromRequest(r *http.Request) (*model.Session, *model.AppError)

func (*PluginAPI) GetTeamByName

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

func (*PluginAPI) GetUserByName

func (api *PluginAPI) GetUserByName(name string) (*model.User, *model.AppError)

func (*PluginAPI) I18n

func (api *PluginAPI) I18n(id string, r *http.Request) string

func (*PluginAPI) LoadPluginConfiguration

func (api *PluginAPI) LoadPluginConfiguration(dest interface{}) error

func (*PluginAPI) PluginRouter

func (api *PluginAPI) PluginRouter() *mux.Router

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"`

	FlaggedBy *[]string `json:"flagged_by"`
}

type PurposeProvider

type PurposeProvider struct {
}

func (*PurposeProvider) DoCommand

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

func (*PurposeProvider) GetCommand

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

func (*PurposeProvider) GetTrigger

func (me *PurposeProvider) GetTrigger() string

type RecoveryLogger

type RecoveryLogger struct {
}

func (*RecoveryLogger) Println

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

type RenameProvider

type RenameProvider struct {
}

func (*RenameProvider) DoCommand

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

func (*RenameProvider) GetCommand

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

func (*RenameProvider) GetTrigger

func (me *RenameProvider) GetTrigger() string

type SearchProvider

type SearchProvider struct {
}

func (*SearchProvider) DoCommand

func (search *SearchProvider) DoCommand(args *model.CommandArgs, message string) *model.CommandResponse

func (*SearchProvider) GetCommand

func (search *SearchProvider) GetCommand(T goi18n.TranslateFunc) *model.Command

func (*SearchProvider) GetTrigger

func (search *SearchProvider) GetTrigger() string

type Server

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

type SettingsProvider

type SettingsProvider struct {
}

func (*SettingsProvider) DoCommand

func (settings *SettingsProvider) DoCommand(args *model.CommandArgs, message string) *model.CommandResponse

func (*SettingsProvider) GetCommand

func (settings *SettingsProvider) GetCommand(T goi18n.TranslateFunc) *model.Command

func (*SettingsProvider) GetTrigger

func (settings *SettingsProvider) GetTrigger() string

type ShortcutsProvider

type ShortcutsProvider struct {
}

func (*ShortcutsProvider) DoCommand

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

func (*ShortcutsProvider) GetCommand

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

func (*ShortcutsProvider) GetTrigger

func (me *ShortcutsProvider) GetTrigger() string

type ShrugProvider

type ShrugProvider struct {
}

func (*ShrugProvider) DoCommand

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

func (*ShrugProvider) GetCommand

func (me *ShrugProvider) GetCommand(T goi18n.TranslateFunc) *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"`
	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

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

func CreateTestEnvironmentInTeam

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

type 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

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

func CreateTestEnvironmentWithTeams

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

type TestHelper

type TestHelper struct {
	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

func (me *TestHelper) MakeEmail() string

func (*TestHelper) MakeUsername

func (me *TestHelper) MakeUsername() string

type UserChannelImportData

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

type UserChannelNotifyPropsImportData

type UserChannelNotifyPropsImportData struct {
	Desktop    *string `json:"desktop"`
	Mobile     *string `json:"mobile"`
	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"`
	UseMilitaryTime    *string `json:"military_time"`
	CollapsePreviews   *string `json:"link_previews"`
	MessageDisplay     *string `json:"message_display"`
	ChannelDisplayMode *string `json:"channel_display_mode"`
	TutorialStep       *string `json:"tutorial_step"`

	NotifyProps *UserNotifyPropsImportData `json:"notify_props"`
}

type UserNotifyPropsImportData

type UserNotifyPropsImportData struct {
	Desktop         *string `json:"desktop"`
	DesktopDuration *string `json:"desktop_duration"`
	DesktopSound    *string `json:"desktop_sound"`

	Email *string `json:"email"`

	Mobile           *string `json:"mobile"`
	MobilePushStatus *string `json:"mobile_push_status"`

	ChannelTrigger  *string `json:"channel"`
	CommentsTrigger *string `json:"comments"`
	MentionKeys     *string `json:"mention_keys"`
}

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

	UserId                    string
	T                         goi18n.TranslateFunc
	Locale                    string
	AllChannelMembers         map[string]string
	LastAllChannelMembersTime int64
	Sequence                  int64
	// contains filtered or unexported fields
}

func NewWebConn

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

func (*WebConn) GetSession

func (c *WebConn) GetSession() *model.Session

func (*WebConn) GetSessionExpiresAt

func (c *WebConn) GetSessionExpiresAt() int64

func (*WebConn) GetSessionToken

func (c *WebConn) GetSessionToken() string

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

func (c *WebConn) SetSession(v *model.Session)

func (*WebConn) SetSessionExpiresAt

func (c *WebConn) SetSessionExpiresAt(v int64)

func (*WebConn) SetSessionToken

func (c *WebConn) SetSessionToken(v string)

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)

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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