app

package
v5.25.0-rc1 Latest Latest
Warning

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

Go to latest
Published: Jun 29, 2020 License: AGPL-3.0, Apache-2.0 Imports: 108 Imported by: 44

Documentation

Overview

Installing a managed plugin consists of copying the uploaded plugin (*.tar.gz) to the filestore, unpacking to the configured local directory (PluginSettings.Directory), and copying any webapp bundle therein to the configured local client directory (PluginSettings.ClientDirectory). The unpacking and copy occurs each time the server starts, ensuring it remains synchronized with the set of installed plugins.

When a plugin is enabled, all connected websocket clients are notified so as to fetch any webapp bundle and load the client-side portion of the plugin. This works well in a single-server system, but requires careful coordination in a high-availability cluster with multiple servers. In particular, websocket clients must not be notified of the newly enabled plugin until all servers in the cluster have finished unpacking the plugin, otherwise the webapp bundle might not yet be available. Ideally, each server would just notify its own set of connected peers after it finishes this process, but nothing prevents those clients from re-connecting to a different server behind the load balancer that hasn't finished unpacking.

To achieve this coordination, each server instead checks the status of its peers after unpacking. If it finds peers with differing versions of the plugin, it skips the notification. If it finds all peers with the same version of the plugin, it notifies all websocket clients connected to all peers. There's a small chance that this never occurs if the the last server to finish unpacking dies before it can announce. There is also a chance that multiple servers decide to notify, but the webapp handles this idempotently.

Complicating this flow further are the various means of notifying. In addition to websocket events, there are cluster messages between peers. There is a cluster message when the config changes and a plugin is enabled or disabled. There is a cluster message when installing or uninstalling a plugin. There is a cluster message when peer's plugin change its status. And finally the act of notifying websocket clients is propagated itself via a cluster message.

The key methods involved in handling these notifications are notifyPluginEnabled and notifyPluginStatusesChanged. Note that none of this complexity applies to single-server systems or to plugins without a webapp bundle.

Finally, in addition to managed plugins, note that there are unmanaged and prepackaged plugins. Unmanaged plugins are plugins installed manually to the configured local directory (PluginSettings.Directory). Prepackaged plugins are included with the server. They otherwise follow the above flow, except do not get uploaded to the filestore. Prepackaged plugins override all other plugins with the same plugin id, but only when the prepackaged plugin is newer. Managed plugins unconditionally override unmanaged plugins with the same plugin id.

Index

Constants

View Source
const (
	DAY_MILLISECONDS   = 24 * 60 * 60 * 1000
	MONTH_MILLISECONDS = 31 * DAY_MILLISECONDS
)
View Source
const (
	RestLevelID        = 240
	RestContentLevelID = 241
	RestPermsLevelID   = 242
	CLILevelID         = 243
)
View Source
const (
	USER_PASSWORD           = "passwd"
	CHANNEL_TYPE            = model.CHANNEL_OPEN
	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 (
	BRAND_FILE_PATH = "brand/"
	BRAND_FILE_NAME = "image.png"
)
View Source
const (
	CMD_EXPAND   = "expand"
	CMD_COLLAPSE = "collapse"
)
View Source
const (
	CMD_REMOVE = "remove"
	CMD_KICK   = "kick"
)
View Source
const (
	SEGMENT_KEY          = "placeholder_segment_key"
	RUDDER_KEY           = "placeholder_rudder_key"
	RUDDER_DATAPLANE_URL = "placeholder_rudder_dataplane_url"

	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_AUDIT              = "config_audit"
	TRACK_CONFIG_NOTIFICATION_LOG   = "config_notifications_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_SUPPORT            = "config_support"
	TRACK_CONFIG_NATIVEAPP          = "config_nativeapp"
	TRACK_CONFIG_EXPERIMENTAL       = "config_experimental"
	TRACK_CONFIG_ANALYTICS          = "config_analytics"
	TRACK_CONFIG_ANNOUNCEMENT       = "config_announcement"
	TRACK_CONFIG_ELASTICSEARCH      = "config_elasticsearch"
	TRACK_CONFIG_PLUGIN             = "config_plugin"
	TRACK_CONFIG_DATA_RETENTION     = "config_data_retention"
	TRACK_CONFIG_MESSAGE_EXPORT     = "config_message_export"
	TRACK_CONFIG_DISPLAY            = "config_display"
	TRACK_CONFIG_GUEST_ACCOUNTS     = "config_guest_accounts"
	TRACK_CONFIG_IMAGE_PROXY        = "config_image_proxy"
	TRACK_CONFIG_BLEVE              = "config_bleve"
	TRACK_PERMISSIONS_GENERAL       = "permissions_general"
	TRACK_PERMISSIONS_SYSTEM_SCHEME = "permissions_system_scheme"
	TRACK_PERMISSIONS_TEAM_SCHEMES  = "permissions_team_schemes"
	TRACK_ELASTICSEARCH             = "elasticsearch"
	TRACK_GROUPS                    = "groups"
	TRACK_CHANNEL_MODERATION        = "channel_moderation"

	TRACK_ACTIVITY = "activity"
	TRACK_LICENSE  = "license"
	TRACK_SERVER   = "server"
	TRACK_PLUGINS  = "plugins"
)
View Source
const (
	MaxEmojiFileSize       = 1 << 20 // 1 MB
	MaxEmojiWidth          = 128
	MaxEmojiHeight         = 128
	MaxEmojiOriginalWidth  = 1028
	MaxEmojiOriginalHeight = 1028
)
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         = int64(6048 * 4032) // 24 megapixels, roughly 36MB as a raw image
	ImageThumbnailWidth  = 120
	ImageThumbnailHeight = 100
	ImageThumbnailRatio  = float64(ImageThumbnailHeight) / float64(ImageThumbnailWidth)
	ImagePreviewWidth    = 1920

	UploadFileInitialBufferSize = 2 * 1024 * 1024 // 2Mb

	// Deprecated
	IMAGE_THUMBNAIL_PIXEL_WIDTH  = 120
	IMAGE_THUMBNAIL_PIXEL_HEIGHT = 100
	IMAGE_PREVIEW_PIXEL_WIDTH    = 1920
)
View Source
const (
	OAUTH_COOKIE_MAX_AGE_SECONDS = 30 * 60 // 30 minutes
	COOKIE_OAUTH                 = "MMOAUTH"
)
View Source
const (
	PERMISSION_MANAGE_SYSTEM                     = "manage_system"
	PERMISSION_MANAGE_EMOJIS                     = "manage_emojis"
	PERMISSION_MANAGE_OTHERS_EMOJIS              = "manage_others_emojis"
	PERMISSION_CREATE_EMOJIS                     = "create_emojis"
	PERMISSION_DELETE_EMOJIS                     = "delete_emojis"
	PERMISSION_DELETE_OTHERS_EMOJIS              = "delete_others_emojis"
	PERMISSION_MANAGE_WEBHOOKS                   = "manage_webhooks"
	PERMISSION_MANAGE_OTHERS_WEBHOOKS            = "manage_others_webhooks"
	PERMISSION_MANAGE_INCOMING_WEBHOOKS          = "manage_incoming_webhooks"
	PERMISSION_MANAGE_OTHERS_INCOMING_WEBHOOKS   = "manage_others_incoming_webhooks"
	PERMISSION_MANAGE_OUTGOING_WEBHOOKS          = "manage_outgoing_webhooks"
	PERMISSION_MANAGE_OTHERS_OUTGOING_WEBHOOKS   = "manage_others_outgoing_webhooks"
	PERMISSION_LIST_PUBLIC_TEAMS                 = "list_public_teams"
	PERMISSION_LIST_PRIVATE_TEAMS                = "list_private_teams"
	PERMISSION_JOIN_PUBLIC_TEAMS                 = "join_public_teams"
	PERMISSION_JOIN_PRIVATE_TEAMS                = "join_private_teams"
	PERMISSION_PERMANENT_DELETE_USER             = "permanent_delete_user"
	PERMISSION_CREATE_BOT                        = "create_bot"
	PERMISSION_READ_BOTS                         = "read_bots"
	PERMISSION_READ_OTHERS_BOTS                  = "read_others_bots"
	PERMISSION_MANAGE_BOTS                       = "manage_bots"
	PERMISSION_MANAGE_OTHERS_BOTS                = "manage_others_bots"
	PERMISSION_DELETE_PUBLIC_CHANNEL             = "delete_public_channel"
	PERMISSION_DELETE_PRIVATE_CHANNEL            = "delete_private_channel"
	PERMISSION_MANAGE_PUBLIC_CHANNEL_PROPERTIES  = "manage_public_channel_properties"
	PERMISSION_MANAGE_PRIVATE_CHANNEL_PROPERTIES = "manage_private_channel_properties"
	PERMISSION_VIEW_MEMBERS                      = "view_members"
	PERMISSION_INVITE_USER                       = "invite_user"
	PERMISSION_INVITE_GUEST                      = "invite_guest"
	PERMISSION_PROMOTE_GUEST                     = "promote_guest"
	PERMISSION_DEMOTE_TO_GUEST                   = "demote_to_guest"
	PERMISSION_USE_CHANNEL_MENTIONS              = "use_channel_mentions"
	PERMISSION_CREATE_POST                       = "create_post"
	PERMISSION_CREATE_POST_PUBLIC                = "create_post_public"
	PERMISSION_USE_GROUP_MENTIONS                = "use_group_mentions"
	PERMISSION_ADD_REACTION                      = "add_reaction"
	PERMISSION_REMOVE_REACTION                   = "remove_reaction"
	PERMISSION_MANAGE_PUBLIC_CHANNEL_MEMBERS     = "manage_public_channel_members"
	PERMISSION_MANAGE_PRIVATE_CHANNEL_MEMBERS    = "manage_private_channel_members"
)
View Source
const (
	PENDING_POST_IDS_CACHE_SIZE = 25000
	PENDING_POST_IDS_CACHE_TTL  = 30 * time.Second
	PAGE_DEFAULT                = 0
)
View Source
const (
	SamlPublicCertificateName = "saml-public.crt"
	SamlPrivateKeyName        = "saml-private.key"
	SamlIdpCertificateName    = "saml-idp.crt"
)
View Source
const (
	SECURITY_URL           = "https://securityupdatecheck.mattermost.com"
	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"
	TOKEN_TYPE_TEAM_INVITATION    = "team_invitation"
	TOKEN_TYPE_GUEST_INVITATION   = "guest_invitation"
	PASSWORD_RECOVER_EXPIRY_TIME  = 1000 * 60 * 60      // 1 hour
	INVITATION_EXPIRY_TIME        = 1000 * 60 * 60 * 48 // 48 hours
	IMAGE_PROFILE_PIXEL_DIMENSION = 128
)
View Source
const (
	TRIGGERWORDS_EXACT_MATCH = 0
	TRIGGERWORDS_STARTS_WITH = 1

	MaxIntegrationResponseSize = 1024 * 1024 // Posts can be <100KB at most, so this is likely more than enough
)
View Source
const ADVANCED_PERMISSIONS_MIGRATION_KEY = "AdvancedPermissionsMigrationComplete"
View Source
const (
	CMD_AWAY = "away"
)
View Source
const (
	CMD_CODE = "code"
)
View Source
const (
	CMD_DND = "dnd"
)
View Source
const (
	CMD_ECHO = "echo"
)
View Source
const (
	CMD_GROUPMSG = "groupmsg"
)
View Source
const (
	CMD_HEADER = "header"
)
View Source
const (
	CMD_HELP = "help"
)
View Source
const (
	CMD_INVITE = "invite"
)
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_MUTE = "mute"
)
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 EMOJIS_PERMISSIONS_MIGRATION_KEY = "EmojisPermissionsMigrationComplete"
View Source
const (
	ERROR_TERMS_OF_SERVICE_NO_ROWS_FOUND = "store.sql_terms_of_service_store.get.no_rows.app_error"
)
View Source
const GUEST_ROLES_CREATION_MIGRATION_KEY = "GuestRolesCreationMigrationComplete"
View Source
const (
	// HTTP_REQUEST_TIMEOUT defines a high timeout for downloading large files
	// from an external URL to avoid slow connections from failing to install.
	HTTP_REQUEST_TIMEOUT = 1 * time.Hour
)
View Source
const LINK_CACHE_DURATION = 3600
View Source
const LINK_CACHE_SIZE = 10000
View Source
const MaxMetadataImageSize = MaxOpenGraphResponseSize
View Source
const MaxOpenGraphResponseSize = 1024 * 1024 * 50
View Source
const PUSH_NOTIFICATIONS_HUB_BUFFER_PER_WORKER = 50
View Source
const PUSH_NOTIFICATION_HUB_WORKERS = 1000
View Source
const (
	SESSIONS_CLEANUP_BATCH_SIZE = 1000
)
View Source
const SLACK_IMPORT_MAX_FILE_SIZE = 1024 * 1024 * 70
View Source
const (
	TIMESTAMP_FORMAT = "Mon Jan 2 15:04:05 -0700 MST 2006"
)
View Source
const TIME_TO_WAIT_FOR_CONNECTIONS_TO_CLOSE_ON_SERVER_SHUTDOWN = time.Second

Variables

View Source
var (
	RestLevel        = audit.Level{ID: RestLevelID, Name: "audit-rest", Stacktrace: false}
	RestContentLevel = audit.Level{ID: RestContentLevelID, Name: "audit-rest-content", Stacktrace: false}
	RestPermsLevel   = audit.Level{ID: RestPermsLevelID, Name: "audit-rest-perms", Stacktrace: false}
	CLILevel         = audit.Level{ID: CLILevelID, Name: "audit-cli", Stacktrace: false}
)
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}
	TEST_IMAGE_FILENAMES     = []string{"test.png", "testjpg.jpg", "testgif.gif"}
)
View Source
var MaxNotificationsPerChannelDefault int64 = 1000000

Functions

func CheckEmailDomain

func CheckEmailDomain(email string, domains string) bool

CheckEmailDomain checks that an email domain matches a list of space-delimited domains as a string.

func CheckUserDomain

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

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

func CreateProfileImage

func CreateProfileImage(username string, userId string, initialFont string) ([]byte, *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 GeneratePublicLinkHash

func GeneratePublicLinkHash(fileId, salt string) string

func GetProtocol

func GetProtocol(r *http.Request) string

func JoinCluster

func JoinCluster(s *Server) error

func RegisterAccountMigrationInterface

func RegisterAccountMigrationInterface(f func(*Server) einterfaces.AccountMigrationInterface)

func RegisterClusterInterface

func RegisterClusterInterface(f func(*Server) einterfaces.ClusterInterface)

func RegisterCommandProvider

func RegisterCommandProvider(newProvider CommandProvider)

func RegisterComplianceInterface

func RegisterComplianceInterface(f func(*Server) einterfaces.ComplianceInterface)

func RegisterDataRetentionInterface

func RegisterDataRetentionInterface(f func(*Server) einterfaces.DataRetentionInterface)

func RegisterElasticsearchInterface

func RegisterElasticsearchInterface(f func(*Server) searchengine.SearchEngineInterface)

func RegisterJobsBleveIndexerInterface added in v5.24.0

func RegisterJobsBleveIndexerInterface(f func(*Server) tjobs.IndexerJobInterface)

func RegisterJobsDataRetentionJobInterface

func RegisterJobsDataRetentionJobInterface(f func(*Server) ejobs.DataRetentionJobInterface)

func RegisterJobsElasticsearchAggregatorInterface

func RegisterJobsElasticsearchAggregatorInterface(f func(*Server) ejobs.ElasticsearchAggregatorInterface)

func RegisterJobsElasticsearchIndexerInterface

func RegisterJobsElasticsearchIndexerInterface(f func(*Server) tjobs.IndexerJobInterface)

func RegisterJobsLdapSyncInterface

func RegisterJobsLdapSyncInterface(f func(*App) ejobs.LdapSyncInterface)

func RegisterJobsMessageExportJobInterface

func RegisterJobsMessageExportJobInterface(f func(*Server) ejobs.MessageExportJobInterface)

func RegisterJobsMigrationsJobInterface

func RegisterJobsMigrationsJobInterface(f func(*App) tjobs.MigrationsJobInterface)

func RegisterJobsPluginsJobInterface

func RegisterJobsPluginsJobInterface(f func(*App) tjobs.PluginsJobInterface)

func RegisterLdapInterface

func RegisterLdapInterface(f func(*App) einterfaces.LdapInterface)

func RegisterMessageExportInterface

func RegisterMessageExportInterface(f func(*Server) einterfaces.MessageExportInterface)

func RegisterMetricsInterface

func RegisterMetricsInterface(f func(*Server) einterfaces.MetricsInterface)

func RegisterNewSamlInterface added in v5.20.0

func RegisterNewSamlInterface(f func(*App) einterfaces.SamlInterface)

func RegisterNotificationInterface

func RegisterNotificationInterface(f func(*App) einterfaces.NotificationInterface)

func RegisterSamlInterface

func RegisterSamlInterface(f func(*App) einterfaces.SamlInterface)

func RemoveRoles

func RemoveRoles(rolesToRemove []string, roles string) string

func RunJobs

func RunJobs(s *Server) error

func ShouldSendPushNotification

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

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 SlackSanitiseChannelProperties

func SlackSanitiseChannelProperties(channel model.Channel) model.Channel

func SplitWebhookPost

func SplitWebhookPost(post *model.Post, maxPostSize int) ([]*model.Post, *model.AppError)

func StartMetrics

func StartMetrics(s *Server) error

func StartSearchEngine added in v5.22.0

func StartSearchEngine(s *Server) error

func UploadFileSetClientId

func UploadFileSetClientId(clientId string) func(t *UploadFileTask)

func UploadFileSetContentLength

func UploadFileSetContentLength(contentLength int64) func(t *UploadFileTask)

func UploadFileSetRaw

func UploadFileSetRaw() func(t *UploadFileTask)

func UploadFileSetTeamId

func UploadFileSetTeamId(teamId string) func(t *UploadFileTask)

func UploadFileSetTimestamp

func UploadFileSetTimestamp(timestamp time.Time) func(t *UploadFileTask)

func UploadFileSetUserId

func UploadFileSetUserId(userId string) func(t *UploadFileTask)

Types

type App

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

func New

func New(options ...AppOption) *App

func (*App) AcceptLanguage

func (a *App) AcceptLanguage() string

func (*App) AccountMigration

func (a *App) AccountMigration() einterfaces.AccountMigrationInterface

func (*App) ActivateMfa

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

func (*App) AddChannelMember

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

func (*App) AddConfigListener

func (a *App) AddConfigListener(listener func(*model.Config, *model.Config)) string

func (*App) AddCursorIdsForPostList

func (a *App) AddCursorIdsForPostList(originalList *model.PostList, afterPost, beforePost string, since int64, page, perPage int)

AddCursorIdsForPostList adds NextPostId and PrevPostId as cursor to the PostList. The conditional blocks ensure that it sets those cursor IDs immediately as afterPost, beforePost or empty, and only query to database whenever necessary.

func (*App) AddDirectChannels

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

func (*App) AddLicenseListener

func (a *App) AddLicenseListener(listener func(oldLicense, newLicense *model.License)) string

func (*App) AddNotificationEmailToBatch

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

func (*App) AddPublicKey

func (a *App) AddPublicKey(name string, key io.Reader) *model.AppError

AddPublicKey will add plugin public key to the config. Overwrites the previous file

func (*App) AddSamlIdpCertificate

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

func (*App) AddSamlPrivateCertificate

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

func (*App) AddSamlPublicCertificate

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

func (*App) AddSessionToCache

func (a *App) AddSessionToCache(session *model.Session)

func (*App) AddStatusCache

func (a *App) AddStatusCache(status *model.Status)

func (*App) AddStatusCacheSkipClusterSend

func (a *App) AddStatusCacheSkipClusterSend(status *model.Status)

func (*App) AddTeamMember

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

func (*App) AddTeamMemberByInviteId

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

func (*App) AddTeamMemberByToken

func (a *App) AddTeamMemberByToken(userId, tokenId string) (*model.TeamMember, *model.AppError)

func (*App) AddTeamMembers

func (a *App) AddTeamMembers(teamId string, userIds []string, userRequestorId string, graceful bool) ([]*model.TeamMemberWithError, *model.AppError)

func (*App) AddUserToChannel

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

func (*App) AddUserToTeam

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

func (*App) AddUserToTeamByInviteId

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

func (*App) AddUserToTeamByTeamId

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

func (*App) AddUserToTeamByToken

func (a *App) AddUserToTeamByToken(userId string, tokenId string) (*model.Team, *model.AppError)

func (*App) AdjustImage added in v5.24.0

func (a *App) AdjustImage(file io.Reader) (*bytes.Buffer, *model.AppError)

func (*App) AllowOAuthAppAccessToUser

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

func (*App) AsymmetricSigningKey

func (a *App) AsymmetricSigningKey() *ecdsa.PrivateKey

func (*App) AttachDeviceId

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

func (*App) AttachSessionCookies

func (a *App) AttachSessionCookies(w http.ResponseWriter, r *http.Request)

func (*App) AuthenticateUserForLogin

func (a *App) AuthenticateUserForLogin(id, loginId, password, mfaToken string, ldapOnly bool) (user *model.User, err *model.AppError)

func (*App) AuthorizeOAuthUser

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

func (*App) AutocompleteChannels

func (a *App) AutocompleteChannels(teamId string, term string) (*model.ChannelList, *model.AppError)

func (*App) AutocompleteChannelsForSearch

func (a *App) AutocompleteChannelsForSearch(teamId string, userId string, term string) (*model.ChannelList, *model.AppError)

func (*App) AutocompleteUsersInChannel

func (a *App) AutocompleteUsersInChannel(teamId string, channelId string, term string, options *model.UserSearchOptions) (*model.UserAutocompleteInChannel, *model.AppError)

func (*App) AutocompleteUsersInTeam

func (a *App) AutocompleteUsersInTeam(teamId string, term string, options *model.UserSearchOptions) (*model.UserAutocompleteInTeam, *model.AppError)

func (*App) BroadcastStatus

func (a *App) BroadcastStatus(status *model.Status)

func (*App) BuildPostReactions

func (a *App) BuildPostReactions(postId string) (*[]ReactionImportData, *model.AppError)

func (*App) BuildPushNotificationMessage

func (a *App) BuildPushNotificationMessage(contentsConfig string, post *model.Post, user *model.User, channel *model.Channel, channelName string, senderName string,
	explicitMention bool, channelWideMention bool, replyToThreadType string) (*model.PushNotification, *model.AppError)

func (*App) BuildSamlMetadataObject added in v5.20.0

func (a *App) BuildSamlMetadataObject(idpMetadata []byte) (*model.SamlMetadataResponse, *model.AppError)

func (*App) BulkExport

func (a *App) BulkExport(writer io.Writer, file string, pathToEmojiDir string, dirNameToExportEmoji string) *model.AppError

func (*App) BulkImport

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

func (*App) CancelJob

func (a *App) CancelJob(jobId string) *model.AppError

func (*App) ChannelMembersMinusGroupMembers

func (a *App) ChannelMembersMinusGroupMembers(channelID string, groupIDs []string, page, perPage int) ([]*model.UserWithGroups, int64, *model.AppError)

ChannelMembersMinusGroupMembers returns the set of users in the given channel minus the set of users in the given groups.

The result can be used, for example, to determine the set of users who would be removed from a channel if the channel were group-constrained with the given groups.

func (*App) ChannelMembersToAdd

func (a *App) ChannelMembersToAdd(since int64, channelID *string) ([]*model.UserChannelIDPair, *model.AppError)

func (*App) ChannelMembersToRemove

func (a *App) ChannelMembersToRemove(teamID *string) ([]*model.ChannelMember, *model.AppError)

func (*App) CheckForClientSideCert

func (a *App) CheckForClientSideCert(r *http.Request) (string, string, string)

func (*App) CheckPasswordAndAllCriteria

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

func (*App) CheckRolesExist

func (a *App) CheckRolesExist(roleNames []string) *model.AppError

func (*App) CheckUserAllAuthenticationCriteria

func (a *App) CheckUserAllAuthenticationCriteria(user *model.User, mfaToken string) *model.AppError

func (*App) CheckUserMfa

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

func (*App) CheckUserPostflightAuthenticationCriteria

func (a *App) CheckUserPostflightAuthenticationCriteria(user *model.User) *model.AppError

func (*App) CheckUserPreflightAuthenticationCriteria

func (a *App) CheckUserPreflightAuthenticationCriteria(user *model.User, mfaToken string) *model.AppError

func (*App) CheckValidDomains added in v5.24.0

func (a *App) CheckValidDomains(team *model.Team) *model.AppError

func (*App) ClearChannelMembersCache added in v5.20.0

func (a *App) ClearChannelMembersCache(channelID string)

func (*App) ClearSessionCacheForAllUsers

func (a *App) ClearSessionCacheForAllUsers()

func (*App) ClearSessionCacheForAllUsersSkipClusterSend

func (a *App) ClearSessionCacheForAllUsersSkipClusterSend()

func (*App) ClearSessionCacheForUser

func (a *App) ClearSessionCacheForUser(userId string)

func (*App) ClearSessionCacheForUserSkipClusterSend

func (a *App) ClearSessionCacheForUserSkipClusterSend(userId string)

func (*App) ClearTeamMembersCache added in v5.20.0

func (a *App) ClearTeamMembersCache(teamID string)

func (*App) ClientConfig

func (a *App) ClientConfig() map[string]string

func (*App) ClientConfigHash

func (a *App) ClientConfigHash() string

func (*App) ClientConfigWithComputed

func (a *App) ClientConfigWithComputed() map[string]string

ClientConfigWithComputed gets the configuration in a format suitable for sending to the client.

func (*App) ClientLicense

func (a *App) ClientLicense() map[string]string

func (*App) Cluster

func (a *App) Cluster() einterfaces.ClusterInterface

func (*App) CompareAndDeletePluginKey

func (a *App) CompareAndDeletePluginKey(pluginId string, key string, oldValue []byte) (bool, *model.AppError)

func (*App) CompareAndSetPluginKey

func (a *App) CompareAndSetPluginKey(pluginId string, key string, oldValue, newValue []byte) (bool, *model.AppError)

func (*App) CompleteOAuth

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

func (*App) CompleteSwitchWithOAuth

func (a *App) CompleteSwitchWithOAuth(service string, userData io.Reader, email string) (*model.User, *model.AppError)

func (*App) Compliance

func (a *App) Compliance() einterfaces.ComplianceInterface

func (*App) Config

func (a *App) Config() *model.Config

func (*App) Context added in v5.22.0

func (a *App) Context() context.Context

func (*App) ConvertUserToBot

func (a *App) ConvertUserToBot(user *model.User) (*model.Bot, *model.AppError)

ConvertUserToBot converts a user to bot.

func (*App) CopyFileInfos

func (a *App) CopyFileInfos(userId string, fileIds []string) ([]string, *model.AppError)

func (*App) CreateBasicUser

func (a *App) CreateBasicUser(client *model.Client4) *model.AppError

Basic test team and user so you always know one

func (*App) CreateBot

func (a *App) CreateBot(bot *model.Bot) (*model.Bot, *model.AppError)

CreateBot creates the given bot and corresponding user.

func (*App) CreateChannel

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

func (*App) CreateChannelScheme added in v5.22.0

func (a *App) CreateChannelScheme(channel *model.Channel) (*model.Scheme, *model.AppError)

CreateChannelScheme creates a new Scheme of scope channel and assigns it to the channel.

func (*App) CreateChannelWithUser

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

func (*App) CreateCommand

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

func (*App) CreateCommandPost

func (a *App) CreateCommandPost(post *model.Post, teamId string, response *model.CommandResponse, skipSlackParsing bool) (*model.Post, *model.AppError)

@openTracingParams teamId, skipSlackParsing

func (*App) CreateCommandWebhook

func (a *App) CreateCommandWebhook(commandId string, args *model.CommandArgs) (*model.CommandWebhook, *model.AppError)

func (*App) CreateDefaultChannels

func (a *App) CreateDefaultChannels(teamID string) ([]*model.Channel, *model.AppError)

CreateDefaultChannels creates channels in the given team for each channel returned by (*App).DefaultChannelNames.

func (*App) CreateDefaultMemberships

func (a *App) CreateDefaultMemberships(since int64) error

CreateDefaultMemberships adds users to teams and channels based on their group memberships and how those groups are configured to sync with teams and channels for group members on or after the given timestamp.

func (*App) CreateEmoji

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

func (*App) CreateGroup

func (a *App) CreateGroup(group *model.Group) (*model.Group, *model.AppError)

func (*App) CreateGroupChannel

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

func (*App) CreateGuest

func (a *App) CreateGuest(user *model.User) (*model.User, *model.AppError)

CreateGuest creates a guest and sets several fields of the returned User struct to their zero values.

func (*App) CreateIncomingWebhookForChannel

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

func (*App) CreateJob

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

func (*App) CreateOAuthApp

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

func (*App) CreateOAuthStateToken

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

func (*App) CreateOAuthUser

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

func (*App) CreateOutgoingWebhook

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

func (*App) CreatePasswordRecoveryToken

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

func (*App) CreatePost

func (a *App) CreatePost(post *model.Post, channel *model.Channel, triggerWebhooks bool) (savedPost *model.Post, err *model.AppError)

func (*App) CreatePostAsUser

func (a *App) CreatePostAsUser(post *model.Post, currentSessionId string) (*model.Post, *model.AppError)

func (*App) CreatePostMissingChannel

func (a *App) CreatePostMissingChannel(post *model.Post, triggerWebhooks bool) (*model.Post, *model.AppError)

func (*App) CreateRole

func (a *App) CreateRole(role *model.Role) (*model.Role, *model.AppError)

func (*App) CreateScheme

func (a *App) CreateScheme(scheme *model.Scheme) (*model.Scheme, *model.AppError)

func (*App) CreateSession

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

func (*App) CreateTeam

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

func (*App) CreateTeamWithUser

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

func (*App) CreateTermsOfService

func (a *App) CreateTermsOfService(text, userId string) (*model.TermsOfService, *model.AppError)

func (*App) CreateUser

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

CreateUser creates a user and sets several fields of the returned User struct to their zero values.

func (*App) CreateUserAccessToken

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

func (*App) CreateUserAsAdmin

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

func (*App) CreateUserFromSignup

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

func (*App) CreateUserWithInviteId

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

func (*App) CreateUserWithToken

func (a *App) CreateUserWithToken(user *model.User, token *model.Token) (*model.User, *model.AppError)

func (*App) CreateVerifyEmailToken

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

func (*App) CreateWebhookPost

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

func (*App) DataRetention

func (a *App) DataRetention() einterfaces.DataRetentionInterface

func (*App) DeactivateGuests

func (a *App) DeactivateGuests() *model.AppError

func (*App) DeactivateMfa

func (a *App) DeactivateMfa(userId string) *model.AppError

func (*App) DeauthorizeOAuthAppForUser

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

func (*App) DefaultChannelNames

func (a *App) DefaultChannelNames() []string

DefaultChannelNames returns the list of system-wide default channel names.

By default the list will be (not necessarily in this order):

['town-square', 'off-topic']

However, if TeamSettings.ExperimentalDefaultChannels contains a list of channels then that list will replace 'off-topic' and be included in the return results in addition to 'town-square'. For example:

['town-square', 'game-of-thrones', 'wow']

func (*App) DeleteAllExpiredPluginKeys

func (a *App) DeleteAllExpiredPluginKeys() *model.AppError

func (*App) DeleteAllKeysForPlugin

func (a *App) DeleteAllKeysForPlugin(pluginId string) *model.AppError

func (*App) DeleteBotIconImage

func (a *App) DeleteBotIconImage(botUserId string) *model.AppError

DeleteBotIconImage deletes LHS icon for a bot.

func (*App) DeleteBrandImage

func (a *App) DeleteBrandImage() *model.AppError

func (*App) DeleteChannel

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

func (*App) DeleteChannelScheme added in v5.22.0

func (a *App) DeleteChannelScheme(channel *model.Channel) (*model.Channel, *model.AppError)

DeleteChannelScheme deletes a channels scheme and sets its SchemeId to nil.

func (*App) DeleteCommand

func (a *App) DeleteCommand(commandId string) *model.AppError

func (*App) DeleteEmoji

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

func (*App) DeleteEphemeralPost

func (a *App) DeleteEphemeralPost(userId, postId string)

func (*App) DeleteFlaggedPosts

func (a *App) DeleteFlaggedPosts(postId string)

func (*App) DeleteGroup

func (a *App) DeleteGroup(groupID string) (*model.Group, *model.AppError)

func (*App) DeleteGroupConstrainedMemberships

func (a *App) DeleteGroupConstrainedMemberships() error

DeleteGroupConstrainedMemberships deletes team and channel memberships of users who aren't members of the allowed groups of all group-constrained teams and channels.

func (*App) DeleteGroupMember

func (a *App) DeleteGroupMember(groupID string, userID string) (*model.GroupMember, *model.AppError)

func (*App) DeleteGroupSyncable

func (a *App) DeleteGroupSyncable(groupID string, syncableID string, syncableType model.GroupSyncableType) (*model.GroupSyncable, *model.AppError)

func (*App) DeleteIncomingWebhook

func (a *App) DeleteIncomingWebhook(hookId string) *model.AppError

func (*App) DeleteOAuthApp

func (a *App) DeleteOAuthApp(appId string) *model.AppError

func (*App) DeleteOutgoingWebhook

func (a *App) DeleteOutgoingWebhook(hookId string) *model.AppError

func (*App) DeletePluginKey

func (a *App) DeletePluginKey(pluginId string, key string) *model.AppError

func (*App) DeletePost

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

func (*App) DeletePostFiles

func (a *App) DeletePostFiles(post *model.Post)

func (*App) DeletePreferences

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

func (*App) DeletePublicKey

func (a *App) DeletePublicKey(name string) *model.AppError

DeletePublicKey will delete plugin public key from the config.

func (*App) DeleteReactionForPost

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

func (*App) DeleteScheme

func (a *App) DeleteScheme(schemeId string) (*model.Scheme, *model.AppError)

func (*App) DeleteToken

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

func (*App) DemoteUserToGuest

func (a *App) DemoteUserToGuest(user *model.User) *model.AppError

DemoteUserToGuest Convert user's roles and all his mermbership's roles from regular user roles to guest roles.

func (*App) DiagnosticId

func (a *App) DiagnosticId() string

func (*App) DisableAutoResponder

func (a *App) DisableAutoResponder(userId string, asAdmin bool) *model.AppError

func (*App) DisablePlugin

func (a *App) DisablePlugin(id string) *model.AppError

DisablePlugin will set the config for an installed plugin to disabled, triggering deactivation if active. Notifies cluster peers through config change.

func (*App) DisableUserAccessToken

func (a *App) DisableUserAccessToken(token *model.UserAccessToken) *model.AppError

func (*App) DoActionRequest

func (a *App) DoActionRequest(rawURL string, body []byte) (*http.Response, *model.AppError)

Perform an HTTP POST request to an integration's action endpoint. Caller must consume and close returned http.Response as necessary. For internal requests, requests are routed directly to a plugin ServerHTTP hook

func (*App) DoAdvancedPermissionsMigration

func (a *App) DoAdvancedPermissionsMigration()

This function migrates the default built in roles from code/config to the database.

func (*App) DoAppMigrations

func (a *App) DoAppMigrations()

func (*App) DoEmojisPermissionsMigration

func (a *App) DoEmojisPermissionsMigration()

func (*App) DoGuestRolesCreationMigration

func (a *App) DoGuestRolesCreationMigration()

func (*App) DoLocalRequest

func (a *App) DoLocalRequest(rawURL string, body []byte) (*http.Response, *model.AppError)

func (*App) DoLogin

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

func (*App) DoPermissionsMigrations

func (a *App) DoPermissionsMigrations() error

DoPermissionsMigrations execute all the permissions migrations need by the current version.

func (*App) DoPostAction

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

func (*App) DoPostActionWithCookie

func (a *App) DoPostActionWithCookie(postId, actionId, userId, selectedOption string, cookie *model.PostActionCookie) (string, *model.AppError)

func (*App) DoUploadFile

func (a *App) DoUploadFile(now time.Time, rawTeamId string, rawChannelId string, rawUserId string, rawFilename string, data []byte) (*model.FileInfo, *model.AppError)

func (*App) DoUploadFileExpectModification

func (a *App) DoUploadFileExpectModification(now time.Time, rawTeamId string, rawChannelId string, rawUserId string, rawFilename string, data []byte) (*model.FileInfo, []byte, *model.AppError)

func (*App) DoubleCheckPassword

func (a *App) DoubleCheckPassword(user *model.User, password string) *model.AppError

This to be used for places we check the users password when they are already logged in

func (*App) DownloadFromURL added in v5.20.0

func (a *App) DownloadFromURL(downloadURL string) ([]byte, error)

func (*App) EnablePlugin

func (a *App) EnablePlugin(id string) *model.AppError

EnablePlugin will set the config for an installed plugin to enabled, triggering asynchronous activation if inactive anywhere in the cluster. Notifies cluster peers through config change.

func (*App) EnableUserAccessToken

func (a *App) EnableUserAccessToken(token *model.UserAccessToken) *model.AppError

func (*App) EnvironmentConfig

func (a *App) EnvironmentConfig() map[string]interface{}

func (*App) ExecuteCommand

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

@openTracingParams args

func (*App) ExportPermissions

func (a *App) ExportPermissions(w io.Writer) error

func (*App) ExtendSessionExpiryIfNeeded added in v5.24.0

func (a *App) ExtendSessionExpiryIfNeeded(session *model.Session) bool

ExtendSessionExpiryIfNeeded extends Session.ExpiresAt based on session lengths in config. A new ExpiresAt is only written if enough time has elapsed since last update. Returns true only if the session was extended.

func (*App) FetchSamlMetadataFromIdp added in v5.20.0

func (a *App) FetchSamlMetadataFromIdp(url string) ([]byte, *model.AppError)

func (*App) FileBackend

func (a *App) FileBackend() (filesstore.FileBackend, *model.AppError)

func (*App) FileExists

func (a *App) FileExists(path string) (bool, *model.AppError)

func (*App) FileReader

func (a *App) FileReader(path string) (filesstore.ReadCloseSeeker, *model.AppError)

Caller must close the first return value

func (*App) FillInChannelProps

func (a *App) FillInChannelProps(channel *model.Channel) *model.AppError

func (*App) FillInChannelsProps

func (a *App) FillInChannelsProps(channelList *model.ChannelList) *model.AppError

func (*App) FillInPostProps

func (a *App) FillInPostProps(post *model.Post, channel *model.Channel) *model.AppError

FillInPostProps should be invoked before saving posts to fill in properties such as channel_mentions.

If channel is nil, FillInPostProps will look up the channel corresponding to the post.

func (*App) FilterNonGroupChannelMembers

func (a *App) FilterNonGroupChannelMembers(userIds []string, channel *model.Channel) ([]string, error)

FilterNonGroupChannelMembers returns the subset of the given user IDs of the users who are not members of groups associated to the channel excluding bots

func (*App) FilterNonGroupTeamMembers

func (a *App) FilterNonGroupTeamMembers(userIds []string, team *model.Team) ([]string, error)

FilterNonGroupTeamMembers returns the subset of the given user IDs of the users who are not members of groups associated to the team excluding bots.

func (*App) FilterUsersByVisible added in v5.23.0

func (a *App) FilterUsersByVisible(viewer *model.User, otherUsers []*model.User) ([]*model.User, *model.AppError)

func (*App) FindTeamByName

func (a *App) FindTeamByName(name string) bool

func (*App) GenerateMfaSecret

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

func (*App) GetActivePluginManifests

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

func (*App) GetAllChannels

func (a *App) GetAllChannels(page, perPage int, opts model.ChannelSearchOpts) (*model.ChannelListWithTeamData, *model.AppError)

func (*App) GetAllChannelsCount

func (a *App) GetAllChannelsCount(opts model.ChannelSearchOpts) (int64, *model.AppError)

func (*App) GetAllLdapGroupsPage

func (a *App) GetAllLdapGroupsPage(page int, perPage int, opts model.LdapGroupSearchOpts) ([]*model.Group, int, *model.AppError)

GetAllLdapGroupsPage retrieves all LDAP groups under the configured base DN using the default or configured group filter.

func (*App) GetAllPrivateTeams

func (a *App) GetAllPrivateTeams() ([]*model.Team, *model.AppError)

func (*App) GetAllPrivateTeamsPage

func (a *App) GetAllPrivateTeamsPage(offset int, limit int) ([]*model.Team, *model.AppError)

func (*App) GetAllPrivateTeamsPageWithCount

func (a *App) GetAllPrivateTeamsPageWithCount(offset int, limit int) (*model.TeamsWithCount, *model.AppError)

func (*App) GetAllPublicTeams

func (a *App) GetAllPublicTeams() ([]*model.Team, *model.AppError)

func (*App) GetAllPublicTeamsPage

func (a *App) GetAllPublicTeamsPage(offset int, limit int) ([]*model.Team, *model.AppError)

func (*App) GetAllPublicTeamsPageWithCount

func (a *App) GetAllPublicTeamsPageWithCount(offset int, limit int) (*model.TeamsWithCount, *model.AppError)

func (*App) GetAllRoles

func (a *App) GetAllRoles() ([]*model.Role, *model.AppError)

func (*App) GetAllStatuses

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

func (*App) GetAllTeams

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

func (*App) GetAllTeamsPage

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

func (*App) GetAllTeamsPageWithCount

func (a *App) GetAllTeamsPageWithCount(offset int, limit int) (*model.TeamsWithCount, *model.AppError)

func (*App) GetAnalytics

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

func (*App) GetAudits

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

func (*App) GetAuditsPage

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

func (*App) GetAuthorizationCode

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

func (*App) GetAuthorizedAppsForUser

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

func (*App) GetBot

func (a *App) GetBot(botUserId string, includeDeleted bool) (*model.Bot, *model.AppError)

GetBot returns the given bot.

func (*App) GetBotIconImage

func (a *App) GetBotIconImage(botUserId string) ([]byte, *model.AppError)

GetBotIconImage retrieves LHS icon for a bot.

func (*App) GetBots

func (a *App) GetBots(options *model.BotGetOptions) (model.BotList, *model.AppError)

GetBots returns the requested page of bots.

func (*App) GetBrandImage

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

func (*App) GetBulkReactionsForPosts

func (a *App) GetBulkReactionsForPosts(postIds []string) (map[string][]*model.Reaction, *model.AppError)

func (*App) GetChannel

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

func (*App) GetChannelByName

func (a *App) GetChannelByName(channelName, teamId string, includeDeleted bool) (*model.Channel, *model.AppError)

func (*App) GetChannelByNameForTeamName

func (a *App) GetChannelByNameForTeamName(channelName, teamName string, includeDeleted bool) (*model.Channel, *model.AppError)

func (*App) GetChannelCounts

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

func (*App) GetChannelGroupUsers

func (a *App) GetChannelGroupUsers(channelID string) ([]*model.User, *model.AppError)

GetChannelGroupUsers returns the users who are associated to the channel via GroupChannels and GroupMembers.

func (*App) GetChannelGuestCount

func (a *App) GetChannelGuestCount(channelId string) (int64, *model.AppError)

func (*App) GetChannelMember

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

func (*App) GetChannelMemberCount

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

func (*App) GetChannelMembersByIds

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

func (*App) GetChannelMembersForUser

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

func (*App) GetChannelMembersForUserWithPagination

func (a *App) GetChannelMembersForUserWithPagination(teamId, userId string, page, perPage int) ([]*model.ChannelMember, *model.AppError)

func (*App) GetChannelMembersPage

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

func (*App) GetChannelMembersTimezones

func (a *App) GetChannelMembersTimezones(channelId string) ([]string, *model.AppError)

func (*App) GetChannelModerationsForChannel added in v5.22.0

func (a *App) GetChannelModerationsForChannel(channel *model.Channel) ([]*model.ChannelModeration, *model.AppError)

GetChannelModerationsForChannel Gets a channels ChannelModerations from either the higherScoped roles or from the channel scheme roles.

func (*App) GetChannelPinnedPostCount

func (a *App) GetChannelPinnedPostCount(channelId string) (int64, *model.AppError)

func (*App) GetChannelUnread

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

func (*App) GetChannelsByNames

func (a *App) GetChannelsByNames(channelNames []string, teamId string) ([]*model.Channel, *model.AppError)

func (*App) GetChannelsForScheme

func (a *App) GetChannelsForScheme(scheme *model.Scheme, offset int, limit int) (model.ChannelList, *model.AppError)

func (*App) GetChannelsForSchemePage

func (a *App) GetChannelsForSchemePage(scheme *model.Scheme, page int, perPage int) (model.ChannelList, *model.AppError)

func (*App) GetChannelsForUser

func (a *App) GetChannelsForUser(teamId string, userId string, includeDeleted bool) (*model.ChannelList, *model.AppError)

func (*App) GetChannelsUserNotIn

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

func (*App) GetClusterId

func (a *App) GetClusterId() string

func (*App) GetClusterPluginStatuses

func (a *App) GetClusterPluginStatuses() (model.PluginStatuses, *model.AppError)

GetClusterPluginStatuses returns the status for plugins installed anywhere in the cluster.

func (*App) GetClusterStatus

func (a *App) GetClusterStatus() []*model.ClusterInfo

func (*App) GetCommand

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

func (*App) GetComplianceFile

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

func (*App) GetComplianceReport

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

func (*App) GetComplianceReports

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

func (*App) GetConfigFile

func (a *App) GetConfigFile(name string) ([]byte, error)

GetConfigFile proxies access to the given configuration file to the underlying config store.

func (*App) GetCookieDomain

func (a *App) GetCookieDomain() string

func (*App) GetDataRetentionPolicy

func (a *App) GetDataRetentionPolicy() (*model.DataRetentionPolicy, *model.AppError)

func (*App) GetDefaultProfileImage

func (a *App) GetDefaultProfileImage(user *model.User) ([]byte, *model.AppError)

func (*App) GetDeletedChannels

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

func (*App) GetEmoji

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

func (*App) GetEmojiByName

func (a *App) GetEmojiByName(emojiName string) (*model.Emoji, *model.AppError)

func (*App) GetEmojiImage

func (a *App) GetEmojiImage(emojiId string) ([]byte, string, *model.AppError)

func (*App) GetEmojiList

func (a *App) GetEmojiList(page, perPage int, sort string) ([]*model.Emoji, *model.AppError)

func (*App) GetEmojiStaticUrl

func (a *App) GetEmojiStaticUrl(emojiName string) (string, *model.AppError)

GetEmojiStaticUrl returns a relative static URL for system default emojis, and the API route for custom ones. Errors if not found or if custom and deleted.

func (*App) GetEnvironmentConfig

func (a *App) GetEnvironmentConfig() map[string]interface{}

GetEnvironmentConfig returns a map of configuration keys whose values have been overridden by an environment variable.

func (*App) GetFile

func (a *App) GetFile(fileId string) ([]byte, *model.AppError)

func (*App) GetFileInfo

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

func (*App) GetFileInfos added in v5.22.0

func (a *App) GetFileInfos(page, perPage int, opt *model.GetFileInfosOptions) ([]*model.FileInfo, *model.AppError)

func (*App) GetFileInfosForPost

func (a *App) GetFileInfosForPost(postId string, fromMaster bool) ([]*model.FileInfo, *model.AppError)

func (*App) GetFileInfosForPostWithMigration

func (a *App) GetFileInfosForPostWithMigration(postId string) ([]*model.FileInfo, *model.AppError)

func (*App) GetFlaggedPosts

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

func (*App) GetFlaggedPostsForChannel

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

func (*App) GetFlaggedPostsForTeam

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

func (*App) GetGroup

func (a *App) GetGroup(id string) (*model.Group, *model.AppError)

func (*App) GetGroupByName

func (a *App) GetGroupByName(name string, opts model.GroupSearchOpts) (*model.Group, *model.AppError)

func (*App) GetGroupByRemoteID

func (a *App) GetGroupByRemoteID(remoteID string, groupSource model.GroupSource) (*model.Group, *model.AppError)

func (*App) GetGroupChannel

func (a *App) GetGroupChannel(userIds []string) (*model.Channel, *model.AppError)

func (*App) GetGroupMemberUsers

func (a *App) GetGroupMemberUsers(groupID string) ([]*model.User, *model.AppError)

func (*App) GetGroupMemberUsersPage

func (a *App) GetGroupMemberUsersPage(groupID string, page int, perPage int) ([]*model.User, int, *model.AppError)

func (*App) GetGroupSyncable

func (a *App) GetGroupSyncable(groupID string, syncableID string, syncableType model.GroupSyncableType) (*model.GroupSyncable, *model.AppError)

func (*App) GetGroupSyncables

func (a *App) GetGroupSyncables(groupID string, syncableType model.GroupSyncableType) ([]*model.GroupSyncable, *model.AppError)

func (*App) GetGroups

func (a *App) GetGroups(page, perPage int, opts model.GroupSearchOpts) ([]*model.Group, *model.AppError)

func (*App) GetGroupsAssociatedToChannelsByTeam added in v5.24.0

func (a *App) GetGroupsAssociatedToChannelsByTeam(teamId string, opts model.GroupSearchOpts) (map[string][]*model.GroupWithSchemeAdmin, *model.AppError)

func (*App) GetGroupsByChannel

func (a *App) GetGroupsByChannel(channelId string, opts model.GroupSearchOpts) ([]*model.GroupWithSchemeAdmin, int, *model.AppError)

func (*App) GetGroupsByIDs

func (a *App) GetGroupsByIDs(groupIDs []string) ([]*model.Group, *model.AppError)

func (*App) GetGroupsBySource

func (a *App) GetGroupsBySource(groupSource model.GroupSource) ([]*model.Group, *model.AppError)

func (*App) GetGroupsByTeam

func (a *App) GetGroupsByTeam(teamId string, opts model.GroupSearchOpts) ([]*model.GroupWithSchemeAdmin, int, *model.AppError)

GetGroupsByTeam returns the paged list and the total count of group associated to the given team.

func (*App) GetGroupsByUserId

func (a *App) GetGroupsByUserId(userId string) ([]*model.Group, *model.AppError)

func (*App) GetHubForUserId

func (a *App) GetHubForUserId(userId string) *Hub

GetHubForUserId returns the hub for a given user id.

func (*App) GetIncomingWebhook

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

func (*App) GetIncomingWebhooksForTeamPage

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

func (*App) GetIncomingWebhooksForTeamPageByUser

func (a *App) GetIncomingWebhooksForTeamPageByUser(teamId string, userId string, page, perPage int) ([]*model.IncomingWebhook, *model.AppError)

func (*App) GetIncomingWebhooksPage

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

func (*App) GetIncomingWebhooksPageByUser

func (a *App) GetIncomingWebhooksPageByUser(userId string, page, perPage int) ([]*model.IncomingWebhook, *model.AppError)

func (*App) GetJob

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

func (*App) GetJobs

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

func (*App) GetJobsByType

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

func (*App) GetJobsByTypePage

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

func (*App) GetJobsPage

func (a *App) GetJobsPage(page int, perPage int) ([]*model.Job, *model.AppError)

func (*App) GetKnownUsers added in v5.23.0

func (a *App) GetKnownUsers(userID string) ([]string, *model.AppError)

GetKnownUsers returns the list of user ids of users with any direct relationship with a user. That means any user sharing any channel, including direct and group channels.

func (*App) GetLatestTermsOfService

func (a *App) GetLatestTermsOfService() (*model.TermsOfService, *model.AppError)

func (*App) GetLdapGroup

func (a *App) GetLdapGroup(ldapGroupID string) (*model.Group, *model.AppError)

GetLdapGroup retrieves a single LDAP group by the given LDAP group id.

func (*App) GetLogs

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

func (*App) GetLogsSkipSend

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

func (*App) GetMarketplacePlugins

func (a *App) GetMarketplacePlugins(filter *model.MarketplacePluginFilter) ([]*model.MarketplacePlugin, *model.AppError)

GetMarketplacePlugins returns a list of plugins from the marketplace-server, and plugins that are installed locally.

func (*App) GetMessageForNotification

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

func (*App) GetMultipleEmojiByName

func (a *App) GetMultipleEmojiByName(names []string) ([]*model.Emoji, *model.AppError)

func (*App) GetNewUsersForTeamPage

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

func (*App) GetNextPostIdFromPostList

func (a *App) GetNextPostIdFromPostList(postList *model.PostList) string

func (*App) GetNotificationNameFormat

func (a *App) GetNotificationNameFormat(user *model.User) string

func (*App) GetNumberOfChannelsOnTeam

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

func (*App) GetOAuthAccessTokenForCodeFlow

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

func (*App) GetOAuthAccessTokenForImplicitFlow

func (a *App) GetOAuthAccessTokenForImplicitFlow(userId string, authRequest *model.AuthorizeRequest) (*model.Session, *model.AppError)

func (*App) GetOAuthApp

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

func (*App) GetOAuthApps

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

func (*App) GetOAuthAppsByCreator

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

func (*App) GetOAuthCodeRedirect

func (a *App) GetOAuthCodeRedirect(userId string, authRequest *model.AuthorizeRequest) (string, *model.AppError)

func (*App) GetOAuthImplicitRedirect

func (a *App) GetOAuthImplicitRedirect(userId string, authRequest *model.AuthorizeRequest) (string, *model.AppError)

func (*App) GetOAuthLoginEndpoint

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

func (*App) GetOAuthSignupEndpoint

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

func (*App) GetOAuthStateToken

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

func (*App) GetOpenGraphMetadata

func (a *App) GetOpenGraphMetadata(requestURL string) *opengraph.OpenGraph

func (*App) GetOrCreateDirectChannel

func (a *App) GetOrCreateDirectChannel(userId, otherUserId string) (*model.Channel, *model.AppError)

func (*App) GetOutgoingWebhook

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

func (*App) GetOutgoingWebhooksForChannelPageByUser

func (a *App) GetOutgoingWebhooksForChannelPageByUser(channelId string, userId string, page, perPage int) ([]*model.OutgoingWebhook, *model.AppError)

func (*App) GetOutgoingWebhooksForTeamPage

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

func (*App) GetOutgoingWebhooksForTeamPageByUser

func (a *App) GetOutgoingWebhooksForTeamPageByUser(teamId string, userId string, page, perPage int) ([]*model.OutgoingWebhook, *model.AppError)

func (*App) GetOutgoingWebhooksPage

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

func (*App) GetOutgoingWebhooksPageByUser

func (a *App) GetOutgoingWebhooksPageByUser(userId string, page, perPage int) ([]*model.OutgoingWebhook, *model.AppError)

func (*App) GetPasswordRecoveryToken

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

func (*App) GetPermalinkPost

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

func (*App) GetPinnedPosts

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

func (*App) GetPluginKey

func (a *App) GetPluginKey(pluginId string, key string) ([]byte, *model.AppError)

func (*App) GetPluginPublicKeyFiles

func (a *App) GetPluginPublicKeyFiles() ([]string, *model.AppError)

GetPluginPublicKeyFiles returns all public keys listed in the config.

func (*App) GetPluginStatus

func (a *App) GetPluginStatus(id string) (*model.PluginStatus, *model.AppError)

GetPluginStatus returns the status for a plugin installed on this server.

func (*App) GetPluginStatuses

func (a *App) GetPluginStatuses() (model.PluginStatuses, *model.AppError)

GetPluginStatuses returns the status for plugins installed on this server.

func (*App) GetPlugins

func (a *App) GetPlugins() (*model.PluginsResponse, *model.AppError)

func (*App) GetPluginsEnvironment

func (a *App) GetPluginsEnvironment() *plugin.Environment

GetPluginsEnvironment returns the plugin environment for use if plugins are enabled and initialized.

To get the plugins environment when the plugins are disabled, manually acquire the plugins lock instead.

func (*App) GetPostAfterTime

func (a *App) GetPostAfterTime(channelId string, time int64) (*model.Post, *model.AppError)

func (*App) GetPostIdAfterTime

func (a *App) GetPostIdAfterTime(channelId string, time int64) (string, *model.AppError)

func (*App) GetPostIdBeforeTime

func (a *App) GetPostIdBeforeTime(channelId string, time int64) (string, *model.AppError)

func (*App) GetPostThread

func (a *App) GetPostThread(postId string, skipFetchThreads bool) (*model.PostList, *model.AppError)

func (*App) GetPosts

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

func (*App) GetPostsAfterPost

func (a *App) GetPostsAfterPost(options model.GetPostsOptions) (*model.PostList, *model.AppError)

func (*App) GetPostsAroundPost

func (a *App) GetPostsAroundPost(before bool, options model.GetPostsOptions) (*model.PostList, *model.AppError)

func (*App) GetPostsBeforePost

func (a *App) GetPostsBeforePost(options model.GetPostsOptions) (*model.PostList, *model.AppError)

func (*App) GetPostsEtag

func (a *App) GetPostsEtag(channelId string) string

func (*App) GetPostsForChannelAroundLastUnread

func (a *App) GetPostsForChannelAroundLastUnread(channelId, userId string, limitBefore, limitAfter int, skipFetchThreads bool) (*model.PostList, *model.AppError)

func (*App) GetPostsPage

func (a *App) GetPostsPage(options model.GetPostsOptions) (*model.PostList, *model.AppError)

func (*App) GetPostsSince

func (a *App) GetPostsSince(options model.GetPostsSinceOptions) (*model.PostList, *model.AppError)

func (*App) GetPreferenceByCategoryAndNameForUser

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

func (*App) GetPreferenceByCategoryForUser

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

func (*App) GetPreferencesForUser

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

func (*App) GetPrevPostIdFromPostList

func (a *App) GetPrevPostIdFromPostList(postList *model.PostList) string

func (*App) GetProfileImage

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

func (*App) GetPublicChannelsByIdsForTeam

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

func (*App) GetPublicChannelsForTeam

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

func (*App) GetPublicKey

func (a *App) GetPublicKey(name string) ([]byte, *model.AppError)

GetPublicKey will return the actual public key saved in the `name` file.

func (*App) GetReactionsForPost

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

func (*App) GetRecentlyActiveUsersForTeam

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

func (*App) GetRecentlyActiveUsersForTeamPage

func (a *App) GetRecentlyActiveUsersForTeamPage(teamId string, page, perPage int, asAdmin bool, viewRestrictions *model.ViewUsersRestrictions) ([]*model.User, *model.AppError)

func (*App) GetRole

func (a *App) GetRole(id string) (*model.Role, *model.AppError)

func (*App) GetRoleByName

func (a *App) GetRoleByName(name string) (*model.Role, *model.AppError)

func (*App) GetRolesByNames

func (a *App) GetRolesByNames(names []string) ([]*model.Role, *model.AppError)

func (*App) GetSamlCertificateStatus

func (a *App) GetSamlCertificateStatus() *model.SamlCertificateStatus

func (*App) GetSamlMetadata

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

func (*App) GetSamlMetadataFromIdp added in v5.20.0

func (a *App) GetSamlMetadataFromIdp(idpMetadataUrl string) (*model.SamlMetadataResponse, *model.AppError)

func (*App) GetSanitizeOptions

func (a *App) GetSanitizeOptions(asAdmin bool) map[string]bool

func (*App) GetSanitizedClientLicense

func (a *App) GetSanitizedClientLicense() map[string]string

func (*App) GetSanitizedConfig

func (a *App) GetSanitizedConfig() *model.Config

GetSanitizedConfig gets the configuration for a system admin without any secrets.

func (*App) GetScheme

func (a *App) GetScheme(id string) (*model.Scheme, *model.AppError)

func (*App) GetSchemeByName

func (a *App) GetSchemeByName(name string) (*model.Scheme, *model.AppError)

func (*App) GetSchemeRolesForChannel

func (a *App) GetSchemeRolesForChannel(channelId string) (guestRoleName, userRoleName, adminRoleName string, err *model.AppError)

GetSchemeRolesForChannel Checks if a channel or its team has an override scheme for channel roles and returns the scheme roles or default channel roles.

func (*App) GetSchemeRolesForTeam

func (a *App) GetSchemeRolesForTeam(teamId string) (string, string, string, *model.AppError)

func (*App) GetSchemes

func (a *App) GetSchemes(scope string, offset int, limit int) ([]*model.Scheme, *model.AppError)

func (*App) GetSchemesPage

func (a *App) GetSchemesPage(scope string, page int, perPage int) ([]*model.Scheme, *model.AppError)

func (*App) GetSession

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

func (*App) GetSessionById

func (a *App) GetSessionById(sessionId string) (*model.Session, *model.AppError)

func (*App) GetSessionLengthInMillis added in v5.24.0

func (a *App) GetSessionLengthInMillis(session *model.Session) int64

GetSessionLengthInMillis returns the session length, in milliseconds, based on the type of session (Mobile, SSO, Web/LDAP).

func (*App) GetSessions

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

func (*App) GetSinglePost

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

func (*App) GetSiteURL

func (a *App) GetSiteURL() string

func (*App) GetStatus

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

func (*App) GetStatusFromCache added in v5.20.0

func (a *App) GetStatusFromCache(userId string) *model.Status

func (*App) GetStatusesByIds

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

func (*App) GetSuggestions added in v5.24.0

func (a *App) GetSuggestions(commands []*model.Command, userInput, roleID string) []model.AutocompleteSuggestion

GetSuggestions returns suggestions for user input.

func (*App) GetT added in v5.22.0

func (a *App) GetT() goi18n.TranslateFunc

func (*App) GetTeam

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

func (*App) GetTeamByInviteId

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

func (*App) GetTeamByName

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

func (*App) GetTeamGroupUsers

func (a *App) GetTeamGroupUsers(teamID string) ([]*model.User, *model.AppError)

GetTeamGroupUsers returns the users who are associated to the team via GroupTeams and GroupMembers.

func (*App) GetTeamIcon

func (a *App) GetTeamIcon(team *model.Team) ([]byte, *model.AppError)

func (*App) GetTeamIdFromQuery

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

func (*App) GetTeamMember

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

func (*App) GetTeamMembers

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

func (*App) GetTeamMembersByIds

func (a *App) GetTeamMembersByIds(teamId string, userIds []string, restrictions *model.ViewUsersRestrictions) ([]*model.TeamMember, *model.AppError)

func (*App) GetTeamMembersForUser

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

func (*App) GetTeamMembersForUserWithPagination

func (a *App) GetTeamMembersForUserWithPagination(userId string, page, perPage int) ([]*model.TeamMember, *model.AppError)

func (*App) GetTeamSchemeChannelRoles added in v5.22.0

func (a *App) GetTeamSchemeChannelRoles(teamId string) (guestRoleName, userRoleName, adminRoleName string, err *model.AppError)

GetTeamSchemeChannelRoles Checks if a team has an override scheme and returns the scheme channel role names or default channel role names.

func (*App) GetTeamStats

func (a *App) GetTeamStats(teamId string, restrictions *model.ViewUsersRestrictions) (*model.TeamStats, *model.AppError)

func (*App) GetTeamUnread

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

func (*App) GetTeamsForScheme

func (a *App) GetTeamsForScheme(scheme *model.Scheme, offset int, limit int) ([]*model.Team, *model.AppError)

func (*App) GetTeamsForSchemePage

func (a *App) GetTeamsForSchemePage(scheme *model.Scheme, page int, perPage int) ([]*model.Team, *model.AppError)

func (*App) GetTeamsForUser

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

func (*App) GetTeamsUnreadForUser

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

func (*App) GetTermsOfService

func (a *App) GetTermsOfService(id string) (*model.TermsOfService, *model.AppError)

func (*App) GetTotalUsersStats

func (a *App) GetTotalUsersStats(viewRestrictions *model.ViewUsersRestrictions) (*model.UsersStats, *model.AppError)

GetTotalUsersStats is used for the DM list total

func (*App) GetUser

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

func (*App) GetUserAccessToken

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

func (*App) GetUserAccessTokens

func (a *App) GetUserAccessTokens(page, perPage int) ([]*model.UserAccessToken, *model.AppError)

func (*App) GetUserAccessTokensForUser

func (a *App) GetUserAccessTokensForUser(userId string, page, perPage int) ([]*model.UserAccessToken, *model.AppError)

func (*App) GetUserByAuth

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

func (*App) GetUserByEmail

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

func (*App) GetUserByUsername

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

func (*App) GetUserForLogin

func (a *App) GetUserForLogin(id, loginId string) (*model.User, *model.AppError)

func (*App) GetUserStatusesByIds

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

GetUserStatusesByIds used by apiV4

func (*App) GetUserTermsOfService

func (a *App) GetUserTermsOfService(userId string) (*model.UserTermsOfService, *model.AppError)

func (*App) GetUsers

func (a *App) GetUsers(options *model.UserGetOptions) ([]*model.User, *model.AppError)

func (*App) GetUsersByGroupChannelIds

func (a *App) GetUsersByGroupChannelIds(channelIds []string, asAdmin bool) (map[string][]*model.User, *model.AppError)

func (*App) GetUsersByIds

func (a *App) GetUsersByIds(userIds []string, options *store.UserGetByIdsOpts) ([]*model.User, *model.AppError)

func (*App) GetUsersByUsernames

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

func (*App) GetUsersEtag

func (a *App) GetUsersEtag(restrictionsHash string) string

func (*App) GetUsersInChannel

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

func (*App) GetUsersInChannelByStatus

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

func (*App) GetUsersInChannelMap

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

func (*App) GetUsersInChannelPage

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

func (*App) GetUsersInChannelPageByStatus

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

func (*App) GetUsersInTeam

func (a *App) GetUsersInTeam(options *model.UserGetOptions) ([]*model.User, *model.AppError)

func (*App) GetUsersInTeamEtag

func (a *App) GetUsersInTeamEtag(teamId string, restrictionsHash string) string

func (*App) GetUsersInTeamPage

func (a *App) GetUsersInTeamPage(options *model.UserGetOptions, asAdmin bool) ([]*model.User, *model.AppError)

func (*App) GetUsersNotInChannel

func (a *App) GetUsersNotInChannel(teamId string, channelId string, groupConstrained bool, offset int, limit int, viewRestrictions *model.ViewUsersRestrictions) ([]*model.User, *model.AppError)

func (*App) GetUsersNotInChannelMap

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

func (*App) GetUsersNotInChannelPage

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

func (*App) GetUsersNotInTeam

func (a *App) GetUsersNotInTeam(teamId string, groupConstrained bool, offset int, limit int, viewRestrictions *model.ViewUsersRestrictions) ([]*model.User, *model.AppError)

func (*App) GetUsersNotInTeamEtag

func (a *App) GetUsersNotInTeamEtag(teamId string, restrictionsHash string) string

func (*App) GetUsersNotInTeamPage

func (a *App) GetUsersNotInTeamPage(teamId string, groupConstrained bool, page int, perPage int, asAdmin bool, viewRestrictions *model.ViewUsersRestrictions) ([]*model.User, *model.AppError)

func (*App) GetUsersPage

func (a *App) GetUsersPage(options *model.UserGetOptions, asAdmin bool) ([]*model.User, *model.AppError)

func (*App) GetUsersWithoutTeam

func (a *App) GetUsersWithoutTeam(options *model.UserGetOptions) ([]*model.User, *model.AppError)

func (*App) GetUsersWithoutTeamPage

func (a *App) GetUsersWithoutTeamPage(options *model.UserGetOptions, asAdmin bool) ([]*model.User, *model.AppError)

func (*App) GetVerifyEmailToken

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

func (*App) GetViewUsersRestrictions

func (a *App) GetViewUsersRestrictions(userId string) (*model.ViewUsersRestrictions, *model.AppError)

func (*App) HTMLTemplates

func (a *App) HTMLTemplates() *template.Template

func (*App) HTTPService

func (a *App) HTTPService() httpservice.HTTPService

func (*App) Handle404

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

func (*App) HandleCommandResponse

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

func (*App) HandleCommandResponsePost

func (a *App) HandleCommandResponsePost(command *model.Command, args *model.CommandArgs, response *model.CommandResponse, builtIn bool) (*model.Post, *model.AppError)

func (*App) HandleCommandWebhook

func (a *App) HandleCommandWebhook(hookId string, response *model.CommandResponse) *model.AppError

func (*App) HandleImages

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

func (*App) HandleIncomingWebhook

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

func (*App) HandleMessageExportConfig added in v5.20.0

func (a *App) HandleMessageExportConfig(cfg *model.Config, appCfg *model.Config)

func (*App) HasPermissionTo

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

func (*App) HasPermissionToChannel

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

func (*App) HasPermissionToChannelByPost

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

func (*App) HasPermissionToTeam

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

func (*App) HasPermissionToUser

func (a *App) HasPermissionToUser(askingUserId string, userId string) bool

func (*App) HubRegister

func (a *App) HubRegister(webConn *WebConn)

HubRegister registers a connection to a hub.

func (*App) HubStart

func (a *App) HubStart()

HubStart starts all the hubs.

func (*App) HubStop

func (a *App) HubStop()

HubStop stops all the hubs.

func (*App) HubUnregister

func (a *App) HubUnregister(webConn *WebConn)

HubUnregister unregisters a connection from a hub.

func (*App) ImageProxy

func (a *App) ImageProxy() *imageproxy.ImageProxy

func (*App) ImageProxyAdder

func (a *App) ImageProxyAdder() func(string) string

func (*App) ImageProxyRemover

func (a *App) ImageProxyRemover() (f func(string) string)

func (*App) ImportPermissions

func (a *App) ImportPermissions(jsonl io.Reader) error

func (*App) InitPlugins

func (a *App) InitPlugins(pluginDir, webappPluginDir string)

func (*App) InitPostMetadata

func (a *App) InitPostMetadata()

func (*App) InstallMarketplacePlugin added in v5.20.0

func (a *App) InstallMarketplacePlugin(request *model.InstallMarketplacePluginRequest) (*model.Manifest, *model.AppError)

InstallMarketplacePlugin installs a plugin listed in the marketplace server. It will get the plugin bundle from the prepackaged folder, if available, or remotely if EnableRemoteMarketplace is true.

func (*App) InstallPlugin

func (a *App) InstallPlugin(pluginFile io.ReadSeeker, replace bool) (*model.Manifest, *model.AppError)

InstallPlugin unpacks and installs a plugin but does not enable or activate it.

func (*App) InstallPluginFromData

func (a *App) InstallPluginFromData(data model.PluginEventData)

func (*App) InstallPluginWithSignature

func (a *App) InstallPluginWithSignature(pluginFile, signature io.ReadSeeker) (*model.Manifest, *model.AppError)

InstallPluginWithSignature verifies and installs plugin.

func (*App) InvalidateAllCaches

func (a *App) InvalidateAllCaches() *model.AppError

func (*App) InvalidateAllCachesSkipSend

func (a *App) InvalidateAllCachesSkipSend()

func (*App) InvalidateAllEmailInvites

func (a *App) InvalidateAllEmailInvites() *model.AppError

func (*App) InvalidateCacheForUser

func (a *App) InvalidateCacheForUser(userId string)

func (*App) InvalidateWebConnSessionCacheForUser

func (a *App) InvalidateWebConnSessionCacheForUser(userId string)

func (*App) InviteGuestsToChannels

func (a *App) InviteGuestsToChannels(teamId string, guestsInvite *model.GuestsInvite, senderId string) *model.AppError

func (*App) InviteGuestsToChannelsGracefully added in v5.20.0

func (a *App) InviteGuestsToChannelsGracefully(teamId string, guestsInvite *model.GuestsInvite, senderId string) ([]*model.EmailInviteWithError, *model.AppError)

func (*App) InviteNewUsersToTeam

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

func (*App) InviteNewUsersToTeamGracefully added in v5.20.0

func (a *App) InviteNewUsersToTeamGracefully(emailList []string, teamId, senderId string) ([]*model.EmailInviteWithError, *model.AppError)

func (*App) IpAddress

func (a *App) IpAddress() string

func (*App) IsFirstUserAccount

func (a *App) IsFirstUserAccount() bool

func (*App) IsLeader

func (a *App) IsLeader() bool

func (*App) IsPasswordValid

func (a *App) IsPasswordValid(password string) *model.AppError

func (*App) IsPhase2MigrationCompleted

func (a *App) IsPhase2MigrationCompleted() *model.AppError

func (*App) IsUserAway

func (a *App) IsUserAway(lastActivityAt int64) bool

func (*App) IsUserSignUpAllowed

func (a *App) IsUserSignUpAllowed() *model.AppError

func (*App) IsUsernameTaken

func (a *App) IsUsernameTaken(name string) bool

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

func (*App) JoinChannel

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

func (*App) JoinDefaultChannels

func (a *App) JoinDefaultChannels(teamId string, user *model.User, shouldBeAdmin bool, userRequestorId string) *model.AppError

func (*App) JoinUserToTeam

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

func (*App) Ldap

func (a *App) Ldap() einterfaces.LdapInterface

func (*App) LeaveChannel

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

func (*App) LeaveTeam

func (a *App) LeaveTeam(team *model.Team, user *model.User, requestorId string) *model.AppError

func (*App) License

func (a *App) License() *model.License

License returns the currently active license or nil if the application is unlicensed.

func (*App) LimitedClientConfig

func (a *App) LimitedClientConfig() map[string]string

func (*App) LimitedClientConfigWithComputed

func (a *App) LimitedClientConfigWithComputed() map[string]string

LimitedClientConfigWithComputed gets the configuration in a format suitable for sending to the client.

func (*App) ListAllCommands

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

func (*App) ListAutocompleteCommands

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

@openTracingParams teamId previous ListCommands now ListAutocompleteCommands

func (*App) ListDirectory

func (a *App) ListDirectory(path string) ([]string, *model.AppError)

func (*App) ListPluginKeys

func (a *App) ListPluginKeys(pluginId string, page, perPage int) ([]string, *model.AppError)

func (*App) ListTeamCommands

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

func (*App) LoadLicense

func (a *App) LoadLicense()

func (*App) Log

func (a *App) Log() *mlog.Logger

func (*App) LogAuditRec added in v5.24.0

func (a *App) LogAuditRec(rec *audit.Record, err error)

LogAuditRec logs an audit record using default CLILevel.

func (*App) LogAuditRecWithLevel added in v5.24.0

func (a *App) LogAuditRecWithLevel(rec *audit.Record, level audit.Level, err error)

LogAuditRecWithLevel logs an audit record using specified Level.

func (*App) LoginByOAuth

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

func (*App) MakeAuditRecord added in v5.24.0

func (a *App) MakeAuditRecord(event string, initialStatus string) *audit.Record

MakeAuditRecord creates a audit record pre-populated with defaults.

func (*App) MakePermissionError

func (a *App) MakePermissionError(permission *model.Permission) *model.AppError

func (*App) MarkChannelAsUnreadFromPost

func (a *App) MarkChannelAsUnreadFromPost(postID string, userID string) (*model.ChannelUnreadAt, *model.AppError)

MarkChanelAsUnreadFromPost will take a post and set the channel as unread from that one.

func (*App) MarkChannelsAsViewed

func (a *App) MarkChannelsAsViewed(channelIds []string, userId string, currentSessionId string) (map[string]int64, *model.AppError)

func (*App) MaxPostSize

func (a *App) MaxPostSize() int

func (*App) MessageExport

func (a *App) MessageExport() einterfaces.MessageExportInterface

func (*App) Metrics

func (a *App) Metrics() einterfaces.MetricsInterface

func (*App) MigrateFilenamesToFileInfos

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

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

func (*App) MoveChannel

func (a *App) MoveChannel(team *model.Team, channel *model.Channel, user *model.User, removeDeactivatedMembers bool) *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 (*App) MoveCommand

func (a *App) MoveCommand(team *model.Team, command *model.Command) *model.AppError

func (*App) MoveFile

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

func (*App) NewClusterDiscoveryService

func (a *App) NewClusterDiscoveryService() *ClusterDiscoveryService

func (*App) NewPluginAPI

func (a *App) NewPluginAPI(manifest *model.Manifest) plugin.API

func (*App) NewWebConn

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

NewWebConn returns a new WebConn instance.

func (*App) NewWebHub

func (a *App) NewWebHub() *Hub

NewWebHub creates a new Hub.

func (*App) Notification

func (a *App) Notification() einterfaces.NotificationInterface

func (*App) NotificationsLog

func (a *App) NotificationsLog() *mlog.Logger

func (*App) OpenInteractiveDialog

func (a *App) OpenInteractiveDialog(request model.OpenDialogRequest) *model.AppError

func (*App) OriginChecker

func (a *App) OriginChecker() func(*http.Request) bool

func (*App) OverrideIconURLIfEmoji

func (a *App) OverrideIconURLIfEmoji(post *model.Post)

OverrideIconURLIfEmoji changes the post icon override URL prop, if it has an emoji icon, so that it points to the URL (relative) of the emoji - static if emoji is default, /api if custom.

func (*App) PatchBot

func (a *App) PatchBot(botUserId string, botPatch *model.BotPatch) (*model.Bot, *model.AppError)

PatchBot applies the given patch to the bot and corresponding user.

func (*App) PatchChannel

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

func (*App) PatchChannelModerationsForChannel added in v5.22.0

func (a *App) PatchChannelModerationsForChannel(channel *model.Channel, channelModerationsPatch []*model.ChannelModerationPatch) ([]*model.ChannelModeration, *model.AppError)

PatchChannelModerationsForChannel Updates a channels scheme roles based on a given ChannelModerationPatch, if the permissions match the higher scoped role the scheme is deleted.

func (*App) PatchPost

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

func (*App) PatchRole

func (a *App) PatchRole(role *model.Role, patch *model.RolePatch) (*model.Role, *model.AppError)

func (*App) PatchScheme

func (a *App) PatchScheme(scheme *model.Scheme, patch *model.SchemePatch) (*model.Scheme, *model.AppError)

func (*App) PatchTeam

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

func (*App) PatchUser

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

func (*App) Path

func (a *App) Path() string

func (*App) PermanentDeleteAllUsers

func (a *App) PermanentDeleteAllUsers() *model.AppError

func (*App) PermanentDeleteBot

func (a *App) PermanentDeleteBot(botUserId string) *model.AppError

PermanentDeleteBot permanently deletes a bot and its corresponding user.

func (*App) PermanentDeleteChannel

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

func (*App) PermanentDeleteTeam

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

func (*App) PermanentDeleteTeamId

func (a *App) PermanentDeleteTeamId(teamId string) *model.AppError

func (*App) PermanentDeleteUser

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

func (*App) PluginCommandsForTeam

func (a *App) PluginCommandsForTeam(teamId string) []*model.Command

func (*App) PluginContext

func (a *App) PluginContext() *plugin.Context

func (*App) PostActionCookieSecret

func (a *App) PostActionCookieSecret() []byte

func (*App) PostAddToChannelMessage

func (a *App) PostAddToChannelMessage(user *model.User, addedUser *model.User, channel *model.Channel, postRootId string) *model.AppError

func (*App) PostPatchWithProxyRemovedFromImageURLs

func (a *App) PostPatchWithProxyRemovedFromImageURLs(patch *model.PostPatch) *model.PostPatch

func (*App) PostUpdateChannelDisplayNameMessage

func (a *App) PostUpdateChannelDisplayNameMessage(userId string, channel *model.Channel, oldChannelDisplayName, newChannelDisplayName string) *model.AppError

func (*App) PostUpdateChannelHeaderMessage

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

func (*App) PostUpdateChannelPurposeMessage

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

func (*App) PostWithProxyAddedToImageURLs

func (a *App) PostWithProxyAddedToImageURLs(post *model.Post) *model.Post

func (*App) PostWithProxyRemovedFromImageURLs

func (a *App) PostWithProxyRemovedFromImageURLs(post *model.Post) *model.Post

func (*App) PreparePostForClient

func (a *App) PreparePostForClient(originalPost *model.Post, isNewPost bool, isEditPost bool) *model.Post

func (*App) PreparePostListForClient

func (a *App) PreparePostListForClient(originalList *model.PostList) *model.PostList

func (*App) ProcessSlackAttachments

func (a *App) ProcessSlackAttachments(attachments []*model.SlackAttachment) []*model.SlackAttachment

Expand announcements in incoming webhooks from Slack. Those announcements can be found in the text attribute, or in the pretext, text, title and value attributes of the attachment structure. The Slack attachment structure is documented here: https://api.slack.com/docs/attachments

func (*App) ProcessSlackText

func (a *App) ProcessSlackText(text string) string

func (*App) PromoteGuestToUser

func (a *App) PromoteGuestToUser(user *model.User, requestorId string) *model.AppError

PromoteGuestToUser Convert user's roles and all his mermbership's roles from guest roles to regular user roles.

func (*App) Publish

func (a *App) Publish(message *model.WebSocketEvent)

func (*App) PublishSkipClusterSend

func (a *App) PublishSkipClusterSend(message *model.WebSocketEvent)

func (*App) PurgeBleveIndexes added in v5.24.0

func (a *App) PurgeBleveIndexes() *model.AppError

func (*App) PurgeElasticsearchIndexes

func (a *App) PurgeElasticsearchIndexes() *model.AppError

func (*App) ReadFile

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

func (*App) RecycleDatabaseConnection

func (a *App) RecycleDatabaseConnection()

func (*App) RegenCommandToken

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

func (*App) RegenOutgoingWebhookToken

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

func (*App) RegenerateOAuthAppSecret

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

func (*App) RegenerateTeamInviteId

func (a *App) RegenerateTeamInviteId(teamId string) (*model.Team, *model.AppError)

func (*App) RegisterPluginCommand

func (a *App) RegisterPluginCommand(pluginId string, command *model.Command) error

func (*App) ReloadConfig

func (a *App) ReloadConfig() error

func (*App) RemoveConfigListener

func (a *App) RemoveConfigListener(id string)

func (*App) RemoveFile

func (a *App) RemoveFile(path string) *model.AppError

func (*App) RemoveLicense

func (a *App) RemoveLicense() *model.AppError

func (*App) RemoveLicenseListener

func (a *App) RemoveLicenseListener(id string)

func (*App) RemovePlugin

func (a *App) RemovePlugin(id string) *model.AppError

func (*App) RemovePluginFromData

func (a *App) RemovePluginFromData(data model.PluginEventData)

func (*App) RemoveSamlIdpCertificate

func (a *App) RemoveSamlIdpCertificate() *model.AppError

func (*App) RemoveSamlPrivateCertificate

func (a *App) RemoveSamlPrivateCertificate() *model.AppError

func (*App) RemoveSamlPublicCertificate

func (a *App) RemoveSamlPublicCertificate() *model.AppError

func (*App) RemoveTeamIcon

func (a *App) RemoveTeamIcon(teamId string) *model.AppError

func (*App) RemoveTeamMemberFromTeam

func (a *App) RemoveTeamMemberFromTeam(teamMember *model.TeamMember, requestorId string) *model.AppError

func (*App) RemoveUserFromChannel

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

func (*App) RemoveUserFromTeam

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

func (*App) RenameChannel

func (a *App) RenameChannel(channel *model.Channel, newChannelName string, newDisplayName string) (*model.Channel, *model.AppError)

RenameChannel is used to rename the channel Name and the DisplayName fields

func (*App) RenameTeam

func (a *App) RenameTeam(team *model.Team, newTeamName string, newDisplayName string) (*model.Team, *model.AppError)

RenameTeam is used to rename the team Name and the DisplayName fields

func (*App) RequestId

func (a *App) RequestId() string

func (*App) RequestTrialLicense added in v5.25.0

func (a *App) RequestTrialLicense(trialRequest *model.TrialLicenseRequest) *model.AppError

RequestTrialLicense request a trial license from the mattermost offical license server

func (*App) ResetPasswordFromToken

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

func (*App) ResetPermissionsSystem

func (a *App) ResetPermissionsSystem() *model.AppError

func (*App) RestoreChannel

func (a *App) RestoreChannel(channel *model.Channel, userId string) (*model.Channel, *model.AppError)

func (*App) RestoreTeam

func (a *App) RestoreTeam(teamId string) *model.AppError

func (*App) RestrictUsersGetByPermissions

func (a *App) RestrictUsersGetByPermissions(userId string, options *model.UserGetOptions) (*model.UserGetOptions, *model.AppError)

func (*App) RestrictUsersSearchByPermissions

func (a *App) RestrictUsersSearchByPermissions(userId string, options *model.UserSearchOptions) (*model.UserSearchOptions, *model.AppError)

func (*App) RevokeAccessToken

func (a *App) RevokeAccessToken(token string) *model.AppError

func (*App) RevokeAllSessions

func (a *App) RevokeAllSessions(userId string) *model.AppError

func (*App) RevokeSession

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

func (*App) RevokeSessionById

func (a *App) RevokeSessionById(sessionId string) *model.AppError

func (*App) RevokeSessionsForDeviceId

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

func (*App) RevokeSessionsFromAllUsers

func (a *App) RevokeSessionsFromAllUsers() *model.AppError

RevokeSessionsFromAllUsers will go through all the sessions active in the server and revoke them

func (*App) RevokeUserAccessToken

func (a *App) RevokeUserAccessToken(token *model.UserAccessToken) *model.AppError

func (*App) RolesGrantPermission

func (a *App) RolesGrantPermission(roleNames []string, permissionId string) bool

func (*App) Saml

func (a *App) Saml() einterfaces.SamlInterface

func (*App) SanitizeProfile

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

func (*App) SanitizeTeam

func (a *App) SanitizeTeam(session model.Session, team *model.Team) *model.Team

func (*App) SanitizeTeams

func (a *App) SanitizeTeams(session model.Session, teams []*model.Team) []*model.Team

func (*App) SaveAndBroadcastStatus

func (a *App) SaveAndBroadcastStatus(status *model.Status)

func (*App) SaveBrandImage

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

func (*App) SaveComplianceReport

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

func (*App) SaveConfig

func (a *App) SaveConfig(newCfg *model.Config, sendConfigChangeClusterMessage bool) *model.AppError

SaveConfig replaces the active configuration, optionally notifying cluster peers.

func (*App) SaveLicense

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

func (*App) SaveReactionForPost

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

func (*App) SaveUserTermsOfService

func (a *App) SaveUserTermsOfService(userId, termsOfServiceId string, accepted bool) *model.AppError

func (*App) SchemesIterator

func (a *App) SchemesIterator(scope string, batchSize int) func() []*model.Scheme

func (*App) SearchAllChannels

func (a *App) SearchAllChannels(term string, opts model.ChannelSearchOpts) (*model.ChannelListWithTeamData, int64, *model.AppError)

SearchAllChannels returns a list of channels, the total count of the results of the search (if the paginate search option is true), and an error.

func (*App) SearchAllTeams

func (a *App) SearchAllTeams(searchOpts *model.TeamSearch) ([]*model.Team, int64, *model.AppError)

SearchAllTeams returns a team list and the total count of the results

func (*App) SearchArchivedChannels

func (a *App) SearchArchivedChannels(teamId string, term string, userId string) (*model.ChannelList, *model.AppError)

func (*App) SearchChannels

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

func (*App) SearchChannelsForUser

func (a *App) SearchChannelsForUser(userId, teamId, term string) (*model.ChannelList, *model.AppError)

func (*App) SearchChannelsUserNotIn

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

func (*App) SearchEmoji

func (a *App) SearchEmoji(name string, prefixOnly bool, limit int) ([]*model.Emoji, *model.AppError)

func (*App) SearchEngine added in v5.22.0

func (a *App) SearchEngine() *searchengine.Broker

func (*App) SearchGroupChannels

func (a *App) SearchGroupChannels(userId, term string) (*model.ChannelList, *model.AppError)

func (*App) SearchPostsInTeam

func (a *App) SearchPostsInTeam(teamId string, paramsList []*model.SearchParams) (*model.PostList, *model.AppError)

func (*App) SearchPostsInTeamForUser

func (a *App) SearchPostsInTeamForUser(terms string, userId string, teamId string, isOrSearch bool, includeDeletedChannels bool, timeZoneOffset int, page, perPage int) (*model.PostSearchResults, *model.AppError)

func (*App) SearchPrivateTeams

func (a *App) SearchPrivateTeams(term string) ([]*model.Team, *model.AppError)

func (*App) SearchPublicTeams

func (a *App) SearchPublicTeams(term string) ([]*model.Team, *model.AppError)

func (*App) SearchUserAccessTokens

func (a *App) SearchUserAccessTokens(term string) ([]*model.UserAccessToken, *model.AppError)

func (*App) SearchUsers

func (a *App) SearchUsers(props *model.UserSearch, options *model.UserSearchOptions) ([]*model.User, *model.AppError)

func (*App) SearchUsersInChannel

func (a *App) SearchUsersInChannel(channelId string, term string, options *model.UserSearchOptions) ([]*model.User, *model.AppError)

func (*App) SearchUsersInTeam

func (a *App) SearchUsersInTeam(teamId, term string, options *model.UserSearchOptions) ([]*model.User, *model.AppError)

func (*App) SearchUsersNotInChannel

func (a *App) SearchUsersNotInChannel(teamId string, channelId string, term string, options *model.UserSearchOptions) ([]*model.User, *model.AppError)

func (*App) SearchUsersNotInTeam

func (a *App) SearchUsersNotInTeam(notInTeamId string, term string, options *model.UserSearchOptions) ([]*model.User, *model.AppError)

func (*App) SearchUsersWithoutTeam

func (a *App) SearchUsersWithoutTeam(term string, options *model.UserSearchOptions) ([]*model.User, *model.AppError)

func (*App) SendAckToPushProxy

func (a *App) SendAckToPushProxy(ack *model.PushNotificationAck) error

func (*App) SendAutoResponse

func (a *App) SendAutoResponse(channel *model.Channel, receiver *model.User) (bool, *model.AppError)

func (*App) SendAutoResponseIfNecessary

func (a *App) SendAutoResponseIfNecessary(channel *model.Channel, sender *model.User) (bool, *model.AppError)

func (*App) SendDailyDiagnostics

func (a *App) SendDailyDiagnostics()

func (*App) SendDeactivateAccountEmail

func (a *App) SendDeactivateAccountEmail(email string, locale, siteURL string) *model.AppError

func (*App) SendDiagnostic

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

func (*App) SendEmailVerification

func (a *App) SendEmailVerification(user *model.User, newEmail string) *model.AppError

func (*App) SendEphemeralPost

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

func (*App) SendInviteEmails

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

func (*App) SendNotifications

func (a *App) SendNotifications(post *model.Post, team *model.Team, channel *model.Channel, sender *model.User, parentPostList *model.PostList) ([]string, error)

func (*App) SendPasswordReset

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

func (*App) SendPasswordResetEmail

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

func (*App) SendRemoveExpiredLicenseEmail added in v5.24.0

func (a *App) SendRemoveExpiredLicenseEmail(email string, locale, siteURL string, licenseId string) *model.AppError

func (*App) SendSignInChangeEmail

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

func (*App) ServeInterPluginRequest

func (a *App) ServeInterPluginRequest(w http.ResponseWriter, r *http.Request, sourcePluginId, destinationPluginId string)

func (*App) ServePluginPublicRequest

func (a *App) ServePluginPublicRequest(w http.ResponseWriter, r *http.Request)

ServePluginPublicRequest serves public plugin files at the URL http(s)://$SITE_URL/plugins/$PLUGIN_ID/public/{anything}

func (*App) ServePluginRequest

func (a *App) ServePluginRequest(w http.ResponseWriter, r *http.Request)

func (*App) ServerBusyStateChanged added in v5.20.0

func (a *App) ServerBusyStateChanged(sbs *model.ServerBusyState)

ServerBusyStateChanged is called when a CLUSTER_EVENT_BUSY_STATE_CHANGED is received.

func (*App) Session

func (a *App) Session() *model.Session

func (*App) SessionCacheLength

func (a *App) SessionCacheLength() int

func (*App) SessionHasPermissionTo

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

func (*App) SessionHasPermissionToChannel

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

func (*App) SessionHasPermissionToChannelByPost

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

func (*App) SessionHasPermissionToManageBot

func (a *App) SessionHasPermissionToManageBot(session model.Session, botUserId string) *model.AppError

SessionHasPermissionToManageBot returns nil if the session has access to manage the given bot. This function deviates from other authorization checks in returning an error instead of just a boolean, allowing the permission failure to be exposed with more granularity.

func (*App) SessionHasPermissionToTeam

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

func (*App) SessionHasPermissionToUser

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

func (*App) SessionHasPermissionToUserOrBot

func (a *App) SessionHasPermissionToUserOrBot(session model.Session, userId string) bool

func (*App) SessionIsRegistered added in v5.24.0

func (a *App) SessionIsRegistered(session model.Session) bool

SessionIsRegistered determines if a specific session has been registered

func (*App) SetAcceptLanguage added in v5.22.0

func (a *App) SetAcceptLanguage(s string)

func (*App) SetActiveChannel

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

func (*App) SetAutoResponderStatus

func (a *App) SetAutoResponderStatus(user *model.User, oldNotifyProps model.StringMap)

func (*App) SetBotIconImage

func (a *App) SetBotIconImage(botUserId string, file io.ReadSeeker) *model.AppError

SetBotIconImage sets LHS icon for a bot.

func (*App) SetBotIconImageFromMultiPartFile

func (a *App) SetBotIconImageFromMultiPartFile(botUserId string, imageData *multipart.FileHeader) *model.AppError

SetBotIconImageFromMultiPartFile sets LHS icon for a bot.

func (*App) SetClientLicense

func (a *App) SetClientLicense(m map[string]string)

func (*App) SetContext added in v5.22.0

func (a *App) SetContext(c context.Context)

func (*App) SetDefaultProfileImage

func (a *App) SetDefaultProfileImage(user *model.User) *model.AppError

func (*App) SetDiagnosticId

func (a *App) SetDiagnosticId(id string)

func (*App) SetIpAddress added in v5.22.0

func (a *App) SetIpAddress(s string)

func (*App) SetLicense

func (a *App) SetLicense(license *model.License) bool

func (*App) SetLog added in v5.22.0

func (a *App) SetLog(l *mlog.Logger)

func (*App) SetPath added in v5.22.0

func (a *App) SetPath(s string)

func (*App) SetPhase2PermissionsMigrationStatus

func (a *App) SetPhase2PermissionsMigrationStatus(isComplete bool) error

func (*App) SetPluginKey

func (a *App) SetPluginKey(pluginId string, key string, value []byte) *model.AppError

func (*App) SetPluginKeyWithExpiry

func (a *App) SetPluginKeyWithExpiry(pluginId string, key string, value []byte, expireInSeconds int64) *model.AppError

func (*App) SetPluginKeyWithOptions

func (a *App) SetPluginKeyWithOptions(pluginId string, key string, value []byte, options model.PluginKVSetOptions) (bool, *model.AppError)

func (*App) SetPluginsEnvironment

func (a *App) SetPluginsEnvironment(pluginsEnvironment *plugin.Environment)

func (*App) SetProfileImage

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

func (*App) SetProfileImageFromFile

func (a *App) SetProfileImageFromFile(userId string, file io.Reader) *model.AppError

func (*App) SetProfileImageFromMultiPartFile

func (a *App) SetProfileImageFromMultiPartFile(userId string, file multipart.File) *model.AppError

func (*App) SetRequestId added in v5.22.0

func (a *App) SetRequestId(s string)

func (*App) SetSamlIdpCertificateFromMetadata added in v5.20.0

func (a *App) SetSamlIdpCertificateFromMetadata(data []byte) *model.AppError

func (*App) SetSearchEngine added in v5.24.0

func (a *App) SetSearchEngine(se *searchengine.Broker)

func (*App) SetServer added in v5.22.0

func (a *App) SetServer(srv *Server)

func (*App) SetSession added in v5.22.0

func (a *App) SetSession(s *model.Session)

func (*App) SetStatusAwayIfNeeded

func (a *App) SetStatusAwayIfNeeded(userId string, manual bool)

func (*App) SetStatusDoNotDisturb

func (a *App) SetStatusDoNotDisturb(userId string)

func (*App) SetStatusLastActivityAt

func (a *App) SetStatusLastActivityAt(userId string, activityAt int64)

SetStatusLastActivityAt sets the last activity at for a user on the local app server and updates status to away if needed. Used by the WS to set status to away if an 'online' device disconnects while an 'away' device is still connected

func (*App) SetStatusOffline

func (a *App) SetStatusOffline(userId string, manual bool)

func (*App) SetStatusOnline

func (a *App) SetStatusOnline(userId string, manual bool)

func (*App) SetStatusOutOfOffice

func (a *App) SetStatusOutOfOffice(userId string)

func (*App) SetT added in v5.22.0

func (a *App) SetT(t goi18n.TranslateFunc)

func (*App) SetTeamIcon

func (a *App) SetTeamIcon(teamId string, imageData *multipart.FileHeader) *model.AppError

func (*App) SetTeamIconFromFile

func (a *App) SetTeamIconFromFile(team *model.Team, file io.Reader) *model.AppError

func (*App) SetTeamIconFromMultiPartFile

func (a *App) SetTeamIconFromMultiPartFile(teamId string, file multipart.File) *model.AppError

func (*App) SetUserAgent added in v5.22.0

func (a *App) SetUserAgent(s string)

func (*App) SetupInviteEmailRateLimiting

func (a *App) SetupInviteEmailRateLimiting() error

func (*App) ShutDownPlugins

func (a *App) ShutDownPlugins()

func (*App) Shutdown

func (a *App) Shutdown()

DO NOT CALL THIS. This is to avoid having to change all the code in cmd/mattermost/commands/* for now shutdown should be called directly on the server

func (*App) SlackAddBotUser

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

func (*App) SlackAddChannels

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

func (*App) SlackAddPosts

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

func (*App) SlackAddUsers

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

func (*App) SlackImport

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

func (*App) SlackUploadFile

func (a *App) SlackUploadFile(slackPostFile *SlackFile, uploads map[string]*zip.File, teamId string, channelId string, userId string, slackTimestamp string) (*model.FileInfo, bool)

func (*App) SoftDeleteTeam

func (a *App) SoftDeleteTeam(teamId string) *model.AppError

func (*App) Srv

func (a *App) Srv() *Server

func (*App) StartPushNotificationsHubWorkers

func (a *App) StartPushNotificationsHubWorkers()

func (*App) StopPushNotificationsHubWorkers

func (a *App) StopPushNotificationsHubWorkers()

func (*App) SubmitInteractiveDialog

func (a *App) SubmitInteractiveDialog(request model.SubmitDialogRequest) (*model.SubmitDialogResponse, *model.AppError)

func (*App) SwitchEmailToLdap

func (a *App) SwitchEmailToLdap(email, password, code, ldapLoginId, ldapPassword string) (string, *model.AppError)

func (*App) SwitchEmailToOAuth

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

func (*App) SwitchLdapToEmail

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

func (*App) SwitchOAuthToEmail

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

func (*App) SyncLdap

func (a *App) SyncLdap()

func (*App) SyncPlugins

func (a *App) SyncPlugins() *model.AppError

SyncPlugins synchronizes the plugins installed locally with the plugin bundles available in the file store.

func (*App) SyncPluginsActiveState

func (a *App) SyncPluginsActiveState()

func (*App) SyncRolesAndMembership added in v5.20.0

func (a *App) SyncRolesAndMembership(syncableID string, syncableType model.GroupSyncableType)

SyncRolesAndMembership updates the SchemeAdmin status and membership of all of the members of the given syncable.

func (*App) SyncSyncableRoles added in v5.20.0

func (a *App) SyncSyncableRoles(syncableID string, syncableType model.GroupSyncableType) *model.AppError

SyncSyncableRoles updates the SchemeAdmin field value of the given syncable's members based on the configuration of the member's group memberships and the configuration of those groups to the syncable. This method should only be invoked on group-synced (aka group-constrained) syncables.

func (*App) T

func (a *App) T(translationID string, args ...interface{}) string

func (*App) TeamMembersMinusGroupMembers

func (a *App) TeamMembersMinusGroupMembers(teamID string, groupIDs []string, page, perPage int) ([]*model.UserWithGroups, int64, *model.AppError)

TeamMembersMinusGroupMembers returns the set of users on the given team minus the set of users in the given groups.

The result can be used, for example, to determine the set of users who would be removed from a team if the team were group-constrained with the given groups.

func (*App) TeamMembersToAdd

func (a *App) TeamMembersToAdd(since int64, teamID *string) ([]*model.UserTeamIDPair, *model.AppError)

func (*App) TeamMembersToRemove

func (a *App) TeamMembersToRemove(teamID *string) ([]*model.TeamMember, *model.AppError)

func (*App) TestElasticsearch

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

func (*App) TestEmail

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

func (*App) TestLdap

func (a *App) TestLdap() *model.AppError

func (*App) TestSiteURL

func (a *App) TestSiteURL(siteURL string) *model.AppError

func (*App) Timezones

func (a *App) Timezones() *timezones.Timezones

func (*App) ToggleMuteChannel

func (a *App) ToggleMuteChannel(channelId string, userId string) *model.ChannelMember

func (*App) TotalWebsocketConnections

func (a *App) TotalWebsocketConnections() int

func (*App) TriggerWebhook

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

func (*App) UnregisterPluginCommand

func (a *App) UnregisterPluginCommand(pluginId, teamId, trigger string)

func (*App) UnregisterPluginCommands

func (a *App) UnregisterPluginCommands(pluginId string)

func (*App) UpdateActive

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

func (*App) UpdateBotActive

func (a *App) UpdateBotActive(botUserId string, active bool) (*model.Bot, *model.AppError)

UpdateBotActive marks a bot as active or inactive, along with its corresponding user.

func (*App) UpdateBotOwner

func (a *App) UpdateBotOwner(botUserId, newOwnerId string) (*model.Bot, *model.AppError)

UpdateBotOwner changes a bot's owner to the given value.

func (*App) UpdateChannel

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

UpdateChannel updates a given channel by its Id. It also publishes the CHANNEL_UPDATED event.

func (*App) UpdateChannelLastViewedAt

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

func (*App) UpdateChannelMemberNotifyProps

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

func (*App) UpdateChannelMemberRoles

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

func (*App) UpdateChannelMemberSchemeRoles

func (a *App) UpdateChannelMemberSchemeRoles(channelId string, userId string, isSchemeGuest bool, isSchemeUser bool, isSchemeAdmin bool) (*model.ChannelMember, *model.AppError)

func (*App) UpdateChannelPrivacy

func (a *App) UpdateChannelPrivacy(oldChannel *model.Channel, user *model.User) (*model.Channel, *model.AppError)

func (*App) UpdateChannelScheme

func (a *App) UpdateChannelScheme(channel *model.Channel) (*model.Channel, *model.AppError)

UpdateChannelScheme saves the new SchemeId of the channel passed.

func (*App) UpdateCommand

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

func (*App) UpdateConfig

func (a *App) UpdateConfig(f func(*model.Config))

func (*App) UpdateEphemeralPost

func (a *App) UpdateEphemeralPost(userId string, post *model.Post) *model.Post

func (*App) UpdateGroup

func (a *App) UpdateGroup(group *model.Group) (*model.Group, *model.AppError)

func (*App) UpdateGroupSyncable

func (a *App) UpdateGroupSyncable(groupSyncable *model.GroupSyncable) (*model.GroupSyncable, *model.AppError)

func (*App) UpdateIncomingWebhook

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

func (*App) UpdateLastActivityAtIfNeeded

func (a *App) UpdateLastActivityAtIfNeeded(session model.Session)

func (*App) UpdateMfa

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

func (*App) UpdateMobileAppBadge

func (a *App) UpdateMobileAppBadge(userId string)

func (*App) UpdateOAuthUserAttrs

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

func (*App) UpdateOauthApp

func (a *App) UpdateOauthApp(oldApp, updatedApp *model.OAuthApp) (*model.OAuthApp, *model.AppError)

func (*App) UpdateOutgoingWebhook

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

func (*App) UpdatePassword

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

func (*App) UpdatePasswordAsUser

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

func (*App) UpdatePasswordByUserIdSendEmail

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

func (*App) UpdatePasswordSendEmail

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

func (*App) UpdatePost

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

func (*App) UpdatePreferences

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

func (*App) UpdateRole

func (a *App) UpdateRole(role *model.Role) (*model.Role, *model.AppError)

func (*App) UpdateScheme

func (a *App) UpdateScheme(scheme *model.Scheme) (*model.Scheme, *model.AppError)

func (*App) UpdateSessionsIsGuest

func (a *App) UpdateSessionsIsGuest(userId string, isGuest bool)

func (*App) UpdateTeam

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

func (*App) UpdateTeamMemberRoles

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

func (*App) UpdateTeamMemberSchemeRoles

func (a *App) UpdateTeamMemberSchemeRoles(teamId string, userId string, isSchemeGuest bool, isSchemeUser bool, isSchemeAdmin bool) (*model.TeamMember, *model.AppError)

func (*App) UpdateTeamPrivacy

func (a *App) UpdateTeamPrivacy(teamId string, teamType string, allowOpenInvite bool) *model.AppError

func (*App) UpdateTeamScheme

func (a *App) UpdateTeamScheme(team *model.Team) (*model.Team, *model.AppError)

func (*App) UpdateUser

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

func (*App) UpdateUserActive

func (a *App) UpdateUserActive(userId string, active bool) *model.AppError

func (*App) UpdateUserAsUser

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

func (*App) UpdateUserAuth

func (a *App) UpdateUserAuth(userId string, userAuth *model.UserAuth) (*model.UserAuth, *model.AppError)

func (*App) UpdateUserNotifyProps

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

func (*App) UpdateUserRoles

func (a *App) UpdateUserRoles(userId string, newRoles string, sendWebSocketEvent bool) (*model.User, *model.AppError)

func (*App) UpdateWebConnUserActivity

func (a *App) UpdateWebConnUserActivity(session model.Session, activityAt int64)

UpdateWebConnUserActivity sets the LastUserActivityAt of the hub for the given session.

func (*App) UploadEmojiImage

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

func (*App) UploadFile

func (a *App) UploadFile(data []byte, channelId string, filename string) (*model.FileInfo, *model.AppError)

UploadFile uploads a single file in form of a completely constructed byte array for a channel.

func (*App) UploadFileX

func (a *App) UploadFileX(channelId, name string, input io.Reader,
	opts ...func(*UploadFileTask)) (*model.FileInfo, *model.AppError)

UploadFileX uploads a single file as specified in t. It applies the upload constraints, executes plugins and image processing logic as needed. It returns a filled-out FileInfo and an optional error. A plugin may reject the upload, returning a rejection error. In this case FileInfo would have contained the last "good" FileInfo before the execution of that plugin.

func (*App) UploadFiles

func (a *App) UploadFiles(teamId string, channelId string, userId string, files []io.ReadCloser, filenames []string, clientIds []string, now time.Time) (*model.FileUploadResponse, *model.AppError)

Uploads some files to the given team and channel as the given user. files and filenames should have the same length. clientIds should either not be provided or have the same length as files and filenames. The provided files should be closed by the caller so that they are not leaked.

func (*App) UploadMultipartFiles

func (a *App) UploadMultipartFiles(teamId string, channelId string, userId string, fileHeaders []*multipart.FileHeader, clientIds []string, now time.Time) (*model.FileUploadResponse, *model.AppError)

func (*App) UpsertGroupMember

func (a *App) UpsertGroupMember(groupID string, userID string) (*model.GroupMember, *model.AppError)

func (*App) UpsertGroupSyncable added in v5.20.0

func (a *App) UpsertGroupSyncable(groupSyncable *model.GroupSyncable) (*model.GroupSyncable, *model.AppError)

func (*App) UserAgent

func (a *App) UserAgent() string

func (*App) UserCanSeeOtherUser

func (a *App) UserCanSeeOtherUser(userId string, otherUserId string) (bool, *model.AppError)

func (*App) UserIsInAdminRoleGroup added in v5.20.0

func (a *App) UserIsInAdminRoleGroup(userID, syncableID string, syncableType model.GroupSyncableType) (bool, *model.AppError)

UserIsInAdminRoleGroup returns true at least one of the user's groups are configured to set the members as admins in the given syncable.

func (*App) ValidateAndSetLicenseBytes

func (a *App) ValidateAndSetLicenseBytes(b []byte)

func (*App) VerifyEmailFromToken

func (a *App) VerifyEmailFromToken(userSuppliedTokenString string) *model.AppError

func (*App) VerifyPlugin

func (a *App) VerifyPlugin(plugin, signature io.ReadSeeker) *model.AppError

VerifyPlugin checks that the given signature corresponds to the given plugin and matches a trusted certificate.

func (*App) VerifyUserEmail

func (a *App) VerifyUserEmail(userId, email string) *model.AppError

func (*App) ViewChannel

func (a *App) ViewChannel(view *model.ChannelView, userId string, currentSessionId string) (map[string]int64, *model.AppError)

func (*App) WaitForChannelMembership

func (a *App) WaitForChannelMembership(channelId string, userId string)

func (*App) WriteFile

func (a *App) WriteFile(fr io.Reader, path string) (int64, *model.AppError)

type AppIface added in v5.22.0

type AppIface interface {
	// @openTracingParams args
	ExecuteCommand(args *model.CommandArgs) (*model.CommandResponse, *model.AppError)
	// @openTracingParams teamId
	// previous ListCommands now ListAutocompleteCommands
	ListAutocompleteCommands(teamId string, T goi18n.TranslateFunc) ([]*model.Command, *model.AppError)
	// @openTracingParams teamId, skipSlackParsing
	CreateCommandPost(post *model.Post, teamId string, response *model.CommandResponse, skipSlackParsing bool) (*model.Post, *model.AppError)
	// AddCursorIdsForPostList adds NextPostId and PrevPostId as cursor to the PostList.
	// The conditional blocks ensure that it sets those cursor IDs immediately as afterPost, beforePost or empty,
	// and only query to database whenever necessary.
	AddCursorIdsForPostList(originalList *model.PostList, afterPost, beforePost string, since int64, page, perPage int)
	// AddPublicKey will add plugin public key to the config. Overwrites the previous file
	AddPublicKey(name string, key io.Reader) *model.AppError
	// Basic test team and user so you always know one
	CreateBasicUser(client *model.Client4) *model.AppError
	// Caller must close the first return value
	FileReader(path string) (filesstore.ReadCloseSeeker, *model.AppError)
	// ChannelMembersMinusGroupMembers returns the set of users in the given channel minus the set of users in the given
	// groups.
	//
	// The result can be used, for example, to determine the set of users who would be removed from a channel if the
	// channel were group-constrained with the given groups.
	ChannelMembersMinusGroupMembers(channelID string, groupIDs []string, page, perPage int) ([]*model.UserWithGroups, int64, *model.AppError)
	// ClientConfigWithComputed gets the configuration in a format suitable for sending to the client.
	ClientConfigWithComputed() map[string]string
	// ConvertUserToBot converts a user to bot.
	ConvertUserToBot(user *model.User) (*model.Bot, *model.AppError)
	// CreateBot creates the given bot and corresponding user.
	CreateBot(bot *model.Bot) (*model.Bot, *model.AppError)
	// CreateChannelScheme creates a new Scheme of scope channel and assigns it to the channel.
	CreateChannelScheme(channel *model.Channel) (*model.Scheme, *model.AppError)
	// CreateDefaultChannels creates channels in the given team for each channel returned by (*App).DefaultChannelNames.
	//
	CreateDefaultChannels(teamID string) ([]*model.Channel, *model.AppError)
	// CreateDefaultMemberships adds users to teams and channels based on their group memberships and how those groups
	// are configured to sync with teams and channels for group members on or after the given timestamp.
	CreateDefaultMemberships(since int64) error
	// CreateGuest creates a guest and sets several fields of the returned User struct to
	// their zero values.
	CreateGuest(user *model.User) (*model.User, *model.AppError)
	// CreateUser creates a user and sets several fields of the returned User struct to
	// their zero values.
	CreateUser(user *model.User) (*model.User, *model.AppError)
	// Creates and stores FileInfos for a post created before the FileInfos table existed.
	MigrateFilenamesToFileInfos(post *model.Post) []*model.FileInfo
	// DO NOT CALL THIS.
	// This is to avoid having to change all the code in cmd/mattermost/commands/* for now
	// shutdown should be called directly on the server
	Shutdown()
	// DefaultChannelNames returns the list of system-wide default channel names.
	//
	// By default the list will be (not necessarily in this order):
	//	['town-square', 'off-topic']
	// However, if TeamSettings.ExperimentalDefaultChannels contains a list of channels then that list will replace
	// 'off-topic' and be included in the return results in addition to 'town-square'. For example:
	//	['town-square', 'game-of-thrones', 'wow']
	//
	DefaultChannelNames() []string
	// DeleteBotIconImage deletes LHS icon for a bot.
	DeleteBotIconImage(botUserId string) *model.AppError
	// DeleteChannelScheme deletes a channels scheme and sets its SchemeId to nil.
	DeleteChannelScheme(channel *model.Channel) (*model.Channel, *model.AppError)
	// DeleteGroupConstrainedMemberships deletes team and channel memberships of users who aren't members of the allowed
	// groups of all group-constrained teams and channels.
	DeleteGroupConstrainedMemberships() error
	// DeletePublicKey will delete plugin public key from the config.
	DeletePublicKey(name string) *model.AppError
	// DemoteUserToGuest Convert user's roles and all his mermbership's roles from
	// regular user roles to guest roles.
	DemoteUserToGuest(user *model.User) *model.AppError
	// DisablePlugin will set the config for an installed plugin to disabled, triggering deactivation if active.
	// Notifies cluster peers through config change.
	DisablePlugin(id string) *model.AppError
	// DoPermissionsMigrations execute all the permissions migrations need by the current version.
	DoPermissionsMigrations() error
	// EnablePlugin will set the config for an installed plugin to enabled, triggering asynchronous
	// activation if inactive anywhere in the cluster.
	// Notifies cluster peers through config change.
	EnablePlugin(id string) *model.AppError
	// Expand announcements in incoming webhooks from Slack. Those announcements
	// can be found in the text attribute, or in the pretext, text, title and value
	// attributes of the attachment structure. The Slack attachment structure is
	// documented here: https://api.slack.com/docs/attachments
	ProcessSlackAttachments(attachments []*model.SlackAttachment) []*model.SlackAttachment
	// ExtendSessionExpiryIfNeeded extends Session.ExpiresAt based on session lengths in config.
	// A new ExpiresAt is only written if enough time has elapsed since last update.
	// Returns true only if the session was extended.
	ExtendSessionExpiryIfNeeded(session *model.Session) bool
	// FillInPostProps should be invoked before saving posts to fill in properties such as
	// channel_mentions.
	//
	// If channel is nil, FillInPostProps will look up the channel corresponding to the post.
	FillInPostProps(post *model.Post, channel *model.Channel) *model.AppError
	// FilterNonGroupChannelMembers returns the subset of the given user IDs of the users who are not members of groups
	// associated to the channel excluding bots
	FilterNonGroupChannelMembers(userIds []string, channel *model.Channel) ([]string, error)
	// FilterNonGroupTeamMembers returns the subset of the given user IDs of the users who are not members of groups
	// associated to the team excluding bots.
	FilterNonGroupTeamMembers(userIds []string, team *model.Team) ([]string, error)
	// GetAllLdapGroupsPage retrieves all LDAP groups under the configured base DN using the default or configured group
	// filter.
	GetAllLdapGroupsPage(page int, perPage int, opts model.LdapGroupSearchOpts) ([]*model.Group, int, *model.AppError)
	// GetBot returns the given bot.
	GetBot(botUserId string, includeDeleted bool) (*model.Bot, *model.AppError)
	// GetBotIconImage retrieves LHS icon for a bot.
	GetBotIconImage(botUserId string) ([]byte, *model.AppError)
	// GetBots returns the requested page of bots.
	GetBots(options *model.BotGetOptions) (model.BotList, *model.AppError)
	// GetChannelGroupUsers returns the users who are associated to the channel via GroupChannels and GroupMembers.
	GetChannelGroupUsers(channelID string) ([]*model.User, *model.AppError)
	// GetChannelModerationsForChannel Gets a channels ChannelModerations from either the higherScoped roles or from the channel scheme roles.
	GetChannelModerationsForChannel(channel *model.Channel) ([]*model.ChannelModeration, *model.AppError)
	// GetClusterPluginStatuses returns the status for plugins installed anywhere in the cluster.
	GetClusterPluginStatuses() (model.PluginStatuses, *model.AppError)
	// GetConfigFile proxies access to the given configuration file to the underlying config store.
	GetConfigFile(name string) ([]byte, error)
	// GetEmojiStaticUrl returns a relative static URL for system default emojis,
	// and the API route for custom ones. Errors if not found or if custom and deleted.
	GetEmojiStaticUrl(emojiName string) (string, *model.AppError)
	// GetEnvironmentConfig returns a map of configuration keys whose values have been overridden by an environment variable.
	GetEnvironmentConfig() map[string]interface{}
	// GetGroupsByTeam returns the paged list and the total count of group associated to the given team.
	GetGroupsByTeam(teamId string, opts model.GroupSearchOpts) ([]*model.GroupWithSchemeAdmin, int, *model.AppError)
	// GetHubForUserId returns the hub for a given user id.
	GetHubForUserId(userId string) *Hub
	// GetKnownUsers returns the list of user ids of users with any direct
	// relationship with a user. That means any user sharing any channel, including
	// direct and group channels.
	GetKnownUsers(userID string) ([]string, *model.AppError)
	// GetLdapGroup retrieves a single LDAP group by the given LDAP group id.
	GetLdapGroup(ldapGroupID string) (*model.Group, *model.AppError)
	// GetMarketplacePlugins returns a list of plugins from the marketplace-server,
	// and plugins that are installed locally.
	GetMarketplacePlugins(filter *model.MarketplacePluginFilter) ([]*model.MarketplacePlugin, *model.AppError)
	// GetPluginPublicKeyFiles returns all public keys listed in the config.
	GetPluginPublicKeyFiles() ([]string, *model.AppError)
	// GetPluginStatus returns the status for a plugin installed on this server.
	GetPluginStatus(id string) (*model.PluginStatus, *model.AppError)
	// GetPluginStatuses returns the status for plugins installed on this server.
	GetPluginStatuses() (model.PluginStatuses, *model.AppError)
	// GetPluginsEnvironment returns the plugin environment for use if plugins are enabled and
	// initialized.
	//
	// To get the plugins environment when the plugins are disabled, manually acquire the plugins
	// lock instead.
	GetPluginsEnvironment() *plugin.Environment
	// GetPublicKey will return the actual public key saved in the `name` file.
	GetPublicKey(name string) ([]byte, *model.AppError)
	// GetSanitizedConfig gets the configuration for a system admin without any secrets.
	GetSanitizedConfig() *model.Config
	// GetSchemeRolesForChannel Checks if a channel or its team has an override scheme for channel roles and returns the scheme roles or default channel roles.
	GetSchemeRolesForChannel(channelId string) (guestRoleName string, userRoleName string, adminRoleName string, err *model.AppError)
	// GetSessionLengthInMillis returns the session length, in milliseconds,
	// based on the type of session (Mobile, SSO, Web/LDAP).
	GetSessionLengthInMillis(session *model.Session) int64
	// GetSuggestions returns suggestions for user input.
	GetSuggestions(commands []*model.Command, userInput, roleID string) []model.AutocompleteSuggestion
	// GetTeamGroupUsers returns the users who are associated to the team via GroupTeams and GroupMembers.
	GetTeamGroupUsers(teamID string) ([]*model.User, *model.AppError)
	// GetTeamSchemeChannelRoles Checks if a team has an override scheme and returns the scheme channel role names or default channel role names.
	GetTeamSchemeChannelRoles(teamId string) (guestRoleName string, userRoleName string, adminRoleName string, err *model.AppError)
	// GetTotalUsersStats is used for the DM list total
	GetTotalUsersStats(viewRestrictions *model.ViewUsersRestrictions) (*model.UsersStats, *model.AppError)
	// HubRegister registers a connection to a hub.
	HubRegister(webConn *WebConn)
	// HubStart starts all the hubs.
	HubStart()
	// HubStop stops all the hubs.
	HubStop()
	// HubUnregister unregisters a connection from a hub.
	HubUnregister(webConn *WebConn)
	// InstallMarketplacePlugin installs a plugin listed in the marketplace server. It will get the plugin bundle
	// from the prepackaged folder, if available, or remotely if EnableRemoteMarketplace is true.
	InstallMarketplacePlugin(request *model.InstallMarketplacePluginRequest) (*model.Manifest, *model.AppError)
	// InstallPlugin unpacks and installs a plugin but does not enable or activate it.
	InstallPlugin(pluginFile io.ReadSeeker, replace bool) (*model.Manifest, *model.AppError)
	// InstallPluginWithSignature verifies and installs plugin.
	InstallPluginWithSignature(pluginFile, signature io.ReadSeeker) (*model.Manifest, *model.AppError)
	// IsUsernameTaken checks if the username is already used by another user. Return false if the username is invalid.
	IsUsernameTaken(name string) bool
	// License returns the currently active license or nil if the application is unlicensed.
	License() *model.License
	// LimitedClientConfigWithComputed gets the configuration in a format suitable for sending to the client.
	LimitedClientConfigWithComputed() map[string]string
	// LogAuditRec logs an audit record using default CLILevel.
	LogAuditRec(rec *audit.Record, err error)
	// LogAuditRecWithLevel logs an audit record using specified Level.
	LogAuditRecWithLevel(rec *audit.Record, level audit.Level, err error)
	// MakeAuditRecord creates a audit record pre-populated with defaults.
	MakeAuditRecord(event string, initialStatus string) *audit.Record
	// MarkChanelAsUnreadFromPost will take a post and set the channel as unread from that one.
	MarkChannelAsUnreadFromPost(postID string, userID string) (*model.ChannelUnreadAt, *model.AppError)
	// NewWebConn returns a new WebConn instance.
	NewWebConn(ws *websocket.Conn, session model.Session, t goi18n.TranslateFunc, locale string) *WebConn
	// NewWebHub creates a new Hub.
	NewWebHub() *Hub
	// OverrideIconURLIfEmoji changes the post icon override URL prop, if it has an emoji icon,
	// so that it points to the URL (relative) of the emoji - static if emoji is default, /api if custom.
	OverrideIconURLIfEmoji(post *model.Post)
	// PatchBot applies the given patch to the bot and corresponding user.
	PatchBot(botUserId string, botPatch *model.BotPatch) (*model.Bot, *model.AppError)
	// PatchChannelModerationsForChannel Updates a channels scheme roles based on a given ChannelModerationPatch, if the permissions match the higher scoped role the scheme is deleted.
	PatchChannelModerationsForChannel(channel *model.Channel, channelModerationsPatch []*model.ChannelModerationPatch) ([]*model.ChannelModeration, *model.AppError)
	// Perform an HTTP POST request to an integration's action endpoint.
	// Caller must consume and close returned http.Response as necessary.
	// For internal requests, requests are routed directly to a plugin ServerHTTP hook
	DoActionRequest(rawURL string, body []byte) (*http.Response, *model.AppError)
	// PermanentDeleteBot permanently deletes a bot and its corresponding user.
	PermanentDeleteBot(botUserId string) *model.AppError
	// PromoteGuestToUser Convert user's roles and all his mermbership's roles from
	// guest roles to regular user roles.
	PromoteGuestToUser(user *model.User, requestorId string) *model.AppError
	// RenameChannel is used to rename the channel Name and the DisplayName fields
	RenameChannel(channel *model.Channel, newChannelName string, newDisplayName string) (*model.Channel, *model.AppError)
	// RenameTeam is used to rename the team Name and the DisplayName fields
	RenameTeam(team *model.Team, newTeamName string, newDisplayName string) (*model.Team, *model.AppError)
	// RequestTrialLicense request a trial license from the mattermost offical license server
	RequestTrialLicense(trialRequest *model.TrialLicenseRequest) *model.AppError
	// RevokeSessionsFromAllUsers will go through all the sessions active
	// in the server and revoke them
	RevokeSessionsFromAllUsers() *model.AppError
	// SaveConfig replaces the active configuration, optionally notifying cluster peers.
	SaveConfig(newCfg *model.Config, sendConfigChangeClusterMessage bool) *model.AppError
	// SearchAllChannels returns a list of channels, the total count of the results of the search (if the paginate search option is true), and an error.
	SearchAllChannels(term string, opts model.ChannelSearchOpts) (*model.ChannelListWithTeamData, int64, *model.AppError)
	// SearchAllTeams returns a team list and the total count of the results
	SearchAllTeams(searchOpts *model.TeamSearch) ([]*model.Team, int64, *model.AppError)
	// ServePluginPublicRequest serves public plugin files
	// at the URL http(s)://$SITE_URL/plugins/$PLUGIN_ID/public/{anything}
	ServePluginPublicRequest(w http.ResponseWriter, r *http.Request)
	// ServerBusyStateChanged is called when a CLUSTER_EVENT_BUSY_STATE_CHANGED is received.
	ServerBusyStateChanged(sbs *model.ServerBusyState)
	// SessionHasPermissionToManageBot returns nil if the session has access to manage the given bot.
	// This function deviates from other authorization checks in returning an error instead of just
	// a boolean, allowing the permission failure to be exposed with more granularity.
	SessionHasPermissionToManageBot(session model.Session, botUserId string) *model.AppError
	// SessionIsRegistered determines if a specific session has been registered
	SessionIsRegistered(session model.Session) bool
	// SetBotIconImage sets LHS icon for a bot.
	SetBotIconImage(botUserId string, file io.ReadSeeker) *model.AppError
	// SetBotIconImageFromMultiPartFile sets LHS icon for a bot.
	SetBotIconImageFromMultiPartFile(botUserId string, imageData *multipart.FileHeader) *model.AppError
	// SetStatusLastActivityAt sets the last activity at for a user on the local app server and updates
	// status to away if needed. Used by the WS to set status to away if an 'online' device disconnects
	// while an 'away' device is still connected
	SetStatusLastActivityAt(userId string, activityAt int64)
	// SyncPlugins synchronizes the plugins installed locally
	// with the plugin bundles available in the file store.
	SyncPlugins() *model.AppError
	// SyncRolesAndMembership updates the SchemeAdmin status and membership of all of the members of the given
	// syncable.
	SyncRolesAndMembership(syncableID string, syncableType model.GroupSyncableType)
	// SyncSyncableRoles updates the SchemeAdmin field value of the given syncable's members based on the configuration of
	// the member's group memberships and the configuration of those groups to the syncable. This method should only
	// be invoked on group-synced (aka group-constrained) syncables.
	SyncSyncableRoles(syncableID string, syncableType model.GroupSyncableType) *model.AppError
	// TeamMembersMinusGroupMembers returns the set of users on the given team minus the set of users in the given
	// groups.
	//
	// The result can be used, for example, to determine the set of users who would be removed from a team if the team
	// were group-constrained with the given groups.
	TeamMembersMinusGroupMembers(teamID string, groupIDs []string, page, perPage int) ([]*model.UserWithGroups, int64, *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.
	MoveChannel(team *model.Team, channel *model.Channel, user *model.User, removeDeactivatedMembers bool) *model.AppError
	// This function migrates the default built in roles from code/config to the database.
	DoAdvancedPermissionsMigration()
	// This to be used for places we check the users password when they are already logged in
	DoubleCheckPassword(user *model.User, password string) *model.AppError
	// UpdateBotActive marks a bot as active or inactive, along with its corresponding user.
	UpdateBotActive(botUserId string, active bool) (*model.Bot, *model.AppError)
	// UpdateBotOwner changes a bot's owner to the given value.
	UpdateBotOwner(botUserId, newOwnerId string) (*model.Bot, *model.AppError)
	// UpdateChannel updates a given channel by its Id. It also publishes the CHANNEL_UPDATED event.
	UpdateChannel(channel *model.Channel) (*model.Channel, *model.AppError)
	// UpdateChannelScheme saves the new SchemeId of the channel passed.
	UpdateChannelScheme(channel *model.Channel) (*model.Channel, *model.AppError)
	// UpdateWebConnUserActivity sets the LastUserActivityAt of the hub for the given session.
	UpdateWebConnUserActivity(session model.Session, activityAt int64)
	// UploadFile uploads a single file in form of a completely constructed byte array for a channel.
	UploadFile(data []byte, channelId string, filename string) (*model.FileInfo, *model.AppError)
	// UploadFileX uploads a single file as specified in t. It applies the upload
	// constraints, executes plugins and image processing logic as needed. It
	// returns a filled-out FileInfo and an optional error. A plugin may reject the
	// upload, returning a rejection error. In this case FileInfo would have
	// contained the last "good" FileInfo before the execution of that plugin.
	UploadFileX(channelId, name string, input io.Reader, opts ...func(*UploadFileTask)) (*model.FileInfo, *model.AppError)
	// Uploads some files to the given team and channel as the given user. files and filenames should have
	// the same length. clientIds should either not be provided or have the same length as files and filenames.
	// The provided files should be closed by the caller so that they are not leaked.
	UploadFiles(teamId string, channelId string, userId string, files []io.ReadCloser, filenames []string, clientIds []string, now time.Time) (*model.FileUploadResponse, *model.AppError)
	// UserIsInAdminRoleGroup returns true at least one of the user's groups are configured to set the members as
	// admins in the given syncable.
	UserIsInAdminRoleGroup(userID, syncableID string, syncableType model.GroupSyncableType) (bool, *model.AppError)
	// VerifyPlugin checks that the given signature corresponds to the given plugin and matches a trusted certificate.
	VerifyPlugin(plugin, signature io.ReadSeeker) *model.AppError
	//GetUserStatusesByIds used by apiV4
	GetUserStatusesByIds(userIds []string) ([]*model.Status, *model.AppError)
	AcceptLanguage() string
	AccountMigration() einterfaces.AccountMigrationInterface
	ActivateMfa(userId, token string) *model.AppError
	AddChannelMember(userId string, channel *model.Channel, userRequestorId string, postRootId string) (*model.ChannelMember, *model.AppError)
	AddConfigListener(listener func(*model.Config, *model.Config)) string
	AddDirectChannels(teamId string, user *model.User) *model.AppError
	AddLicenseListener(listener func(oldLicense, newLicense *model.License)) string
	AddNotificationEmailToBatch(user *model.User, post *model.Post, team *model.Team) *model.AppError
	AddSamlIdpCertificate(fileData *multipart.FileHeader) *model.AppError
	AddSamlPrivateCertificate(fileData *multipart.FileHeader) *model.AppError
	AddSamlPublicCertificate(fileData *multipart.FileHeader) *model.AppError
	AddSessionToCache(session *model.Session)
	AddStatusCache(status *model.Status)
	AddStatusCacheSkipClusterSend(status *model.Status)
	AddTeamMember(teamId, userId string) (*model.TeamMember, *model.AppError)
	AddTeamMemberByInviteId(inviteId, userId string) (*model.TeamMember, *model.AppError)
	AddTeamMemberByToken(userId, tokenId string) (*model.TeamMember, *model.AppError)
	AddTeamMembers(teamId string, userIds []string, userRequestorId string, graceful bool) ([]*model.TeamMemberWithError, *model.AppError)
	AddUserToChannel(user *model.User, channel *model.Channel) (*model.ChannelMember, *model.AppError)
	AddUserToTeam(teamId string, userId string, userRequestorId string) (*model.Team, *model.AppError)
	AddUserToTeamByInviteId(inviteId string, userId string) (*model.Team, *model.AppError)
	AddUserToTeamByTeamId(teamId string, user *model.User) *model.AppError
	AddUserToTeamByToken(userId string, tokenId string) (*model.Team, *model.AppError)
	AdjustImage(file io.Reader) (*bytes.Buffer, *model.AppError)
	AllowOAuthAppAccessToUser(userId string, authRequest *model.AuthorizeRequest) (string, *model.AppError)
	AsymmetricSigningKey() *ecdsa.PrivateKey
	AttachDeviceId(sessionId string, deviceId string, expiresAt int64) *model.AppError
	AttachSessionCookies(w http.ResponseWriter, r *http.Request)
	AuthenticateUserForLogin(id, loginId, password, mfaToken string, ldapOnly bool) (user *model.User, err *model.AppError)
	AuthorizeOAuthUser(w http.ResponseWriter, r *http.Request, service, code, state, redirectUri string) (io.ReadCloser, string, map[string]string, *model.AppError)
	AutocompleteChannels(teamId string, term string) (*model.ChannelList, *model.AppError)
	AutocompleteChannelsForSearch(teamId string, userId string, term string) (*model.ChannelList, *model.AppError)
	AutocompleteUsersInChannel(teamId string, channelId string, term string, options *model.UserSearchOptions) (*model.UserAutocompleteInChannel, *model.AppError)
	AutocompleteUsersInTeam(teamId string, term string, options *model.UserSearchOptions) (*model.UserAutocompleteInTeam, *model.AppError)
	BroadcastStatus(status *model.Status)
	BuildPostReactions(postId string) (*[]ReactionImportData, *model.AppError)
	BuildPushNotificationMessage(contentsConfig string, post *model.Post, user *model.User, channel *model.Channel, channelName string, senderName string, explicitMention bool, channelWideMention bool, replyToThreadType string) (*model.PushNotification, *model.AppError)
	BuildSamlMetadataObject(idpMetadata []byte) (*model.SamlMetadataResponse, *model.AppError)
	BulkExport(writer io.Writer, file string, pathToEmojiDir string, dirNameToExportEmoji string) *model.AppError
	BulkImport(fileReader io.Reader, dryRun bool, workers int) (*model.AppError, int)
	CancelJob(jobId string) *model.AppError
	ChannelMembersToAdd(since int64, channelID *string) ([]*model.UserChannelIDPair, *model.AppError)
	ChannelMembersToRemove(teamID *string) ([]*model.ChannelMember, *model.AppError)
	CheckForClientSideCert(r *http.Request) (string, string, string)
	CheckPasswordAndAllCriteria(user *model.User, password string, mfaToken string) *model.AppError
	CheckRolesExist(roleNames []string) *model.AppError
	CheckUserAllAuthenticationCriteria(user *model.User, mfaToken string) *model.AppError
	CheckUserMfa(user *model.User, token string) *model.AppError
	CheckUserPostflightAuthenticationCriteria(user *model.User) *model.AppError
	CheckUserPreflightAuthenticationCriteria(user *model.User, mfaToken string) *model.AppError
	CheckValidDomains(team *model.Team) *model.AppError
	ClearChannelMembersCache(channelID string)
	ClearSessionCacheForAllUsers()
	ClearSessionCacheForAllUsersSkipClusterSend()
	ClearSessionCacheForUser(userId string)
	ClearSessionCacheForUserSkipClusterSend(userId string)
	ClearTeamMembersCache(teamID string)
	ClientConfig() map[string]string
	ClientConfigHash() string
	ClientLicense() map[string]string
	Cluster() einterfaces.ClusterInterface
	CompareAndDeletePluginKey(pluginId string, key string, oldValue []byte) (bool, *model.AppError)
	CompareAndSetPluginKey(pluginId string, key string, oldValue, newValue []byte) (bool, *model.AppError)
	CompleteOAuth(service string, body io.ReadCloser, teamId string, props map[string]string) (*model.User, *model.AppError)
	CompleteSwitchWithOAuth(service string, userData io.Reader, email string) (*model.User, *model.AppError)
	Compliance() einterfaces.ComplianceInterface
	Config() *model.Config
	Context() context.Context
	CopyFileInfos(userId string, fileIds []string) ([]string, *model.AppError)
	CreateChannel(channel *model.Channel, addMember bool) (*model.Channel, *model.AppError)
	CreateChannelWithUser(channel *model.Channel, userId string) (*model.Channel, *model.AppError)
	CreateCommand(cmd *model.Command) (*model.Command, *model.AppError)
	CreateCommandWebhook(commandId string, args *model.CommandArgs) (*model.CommandWebhook, *model.AppError)
	CreateEmoji(sessionUserId string, emoji *model.Emoji, multiPartImageData *multipart.Form) (*model.Emoji, *model.AppError)
	CreateGroup(group *model.Group) (*model.Group, *model.AppError)
	CreateGroupChannel(userIds []string, creatorId string) (*model.Channel, *model.AppError)
	CreateIncomingWebhookForChannel(creatorId string, channel *model.Channel, hook *model.IncomingWebhook) (*model.IncomingWebhook, *model.AppError)
	CreateJob(job *model.Job) (*model.Job, *model.AppError)
	CreateOAuthApp(app *model.OAuthApp) (*model.OAuthApp, *model.AppError)
	CreateOAuthStateToken(extra string) (*model.Token, *model.AppError)
	CreateOAuthUser(service string, userData io.Reader, teamId string) (*model.User, *model.AppError)
	CreateOutgoingWebhook(hook *model.OutgoingWebhook) (*model.OutgoingWebhook, *model.AppError)
	CreatePasswordRecoveryToken(userId, email string) (*model.Token, *model.AppError)
	CreatePost(post *model.Post, channel *model.Channel, triggerWebhooks bool) (savedPost *model.Post, err *model.AppError)
	CreatePostAsUser(post *model.Post, currentSessionId string) (*model.Post, *model.AppError)
	CreatePostMissingChannel(post *model.Post, triggerWebhooks bool) (*model.Post, *model.AppError)
	CreateRole(role *model.Role) (*model.Role, *model.AppError)
	CreateScheme(scheme *model.Scheme) (*model.Scheme, *model.AppError)
	CreateSession(session *model.Session) (*model.Session, *model.AppError)
	CreateTeam(team *model.Team) (*model.Team, *model.AppError)
	CreateTeamWithUser(team *model.Team, userId string) (*model.Team, *model.AppError)
	CreateTermsOfService(text, userId string) (*model.TermsOfService, *model.AppError)
	CreateUserAccessToken(token *model.UserAccessToken) (*model.UserAccessToken, *model.AppError)
	CreateUserAsAdmin(user *model.User) (*model.User, *model.AppError)
	CreateUserFromSignup(user *model.User) (*model.User, *model.AppError)
	CreateUserWithInviteId(user *model.User, inviteId string) (*model.User, *model.AppError)
	CreateUserWithToken(user *model.User, token *model.Token) (*model.User, *model.AppError)
	CreateVerifyEmailToken(userId string, newEmail string) (*model.Token, *model.AppError)
	CreateWebhookPost(userId string, channel *model.Channel, text, overrideUsername, overrideIconUrl, overrideIconEmoji string, props model.StringInterface, postType string, postRootId string) (*model.Post, *model.AppError)
	DataRetention() einterfaces.DataRetentionInterface
	DeactivateGuests() *model.AppError
	DeactivateMfa(userId string) *model.AppError
	DeauthorizeOAuthAppForUser(userId, appId string) *model.AppError
	DeleteAllExpiredPluginKeys() *model.AppError
	DeleteAllKeysForPlugin(pluginId string) *model.AppError
	DeleteBrandImage() *model.AppError
	DeleteChannel(channel *model.Channel, userId string) *model.AppError
	DeleteCommand(commandId string) *model.AppError
	DeleteEmoji(emoji *model.Emoji) *model.AppError
	DeleteEphemeralPost(userId, postId string)
	DeleteFlaggedPosts(postId string)
	DeleteGroup(groupID string) (*model.Group, *model.AppError)
	DeleteGroupMember(groupID string, userID string) (*model.GroupMember, *model.AppError)
	DeleteGroupSyncable(groupID string, syncableID string, syncableType model.GroupSyncableType) (*model.GroupSyncable, *model.AppError)
	DeleteIncomingWebhook(hookId string) *model.AppError
	DeleteOAuthApp(appId string) *model.AppError
	DeleteOutgoingWebhook(hookId string) *model.AppError
	DeletePluginKey(pluginId string, key string) *model.AppError
	DeletePost(postId, deleteByID string) (*model.Post, *model.AppError)
	DeletePostFiles(post *model.Post)
	DeletePreferences(userId string, preferences model.Preferences) *model.AppError
	DeleteReactionForPost(reaction *model.Reaction) *model.AppError
	DeleteScheme(schemeId string) (*model.Scheme, *model.AppError)
	DeleteToken(token *model.Token) *model.AppError
	DiagnosticId() string
	DisableAutoResponder(userId string, asAdmin bool) *model.AppError
	DisableUserAccessToken(token *model.UserAccessToken) *model.AppError
	DoAppMigrations()
	DoEmojisPermissionsMigration()
	DoGuestRolesCreationMigration()
	DoLocalRequest(rawURL string, body []byte) (*http.Response, *model.AppError)
	DoLogin(w http.ResponseWriter, r *http.Request, user *model.User, deviceId string) *model.AppError
	DoPostAction(postId, actionId, userId, selectedOption string) (string, *model.AppError)
	DoPostActionWithCookie(postId, actionId, userId, selectedOption string, cookie *model.PostActionCookie) (string, *model.AppError)
	DoUploadFile(now time.Time, rawTeamId string, rawChannelId string, rawUserId string, rawFilename string, data []byte) (*model.FileInfo, *model.AppError)
	DoUploadFileExpectModification(now time.Time, rawTeamId string, rawChannelId string, rawUserId string, rawFilename string, data []byte) (*model.FileInfo, []byte, *model.AppError)
	DownloadFromURL(downloadURL string) ([]byte, error)
	EnableUserAccessToken(token *model.UserAccessToken) *model.AppError
	EnvironmentConfig() map[string]interface{}
	ExportPermissions(w io.Writer) error
	FetchSamlMetadataFromIdp(url string) ([]byte, *model.AppError)
	FileBackend() (filesstore.FileBackend, *model.AppError)
	FileExists(path string) (bool, *model.AppError)
	FillInChannelProps(channel *model.Channel) *model.AppError
	FillInChannelsProps(channelList *model.ChannelList) *model.AppError
	FilterUsersByVisible(viewer *model.User, otherUsers []*model.User) ([]*model.User, *model.AppError)
	FindTeamByName(name string) bool
	GenerateMfaSecret(userId string) (*model.MfaSecret, *model.AppError)
	GeneratePublicLink(siteURL string, info *model.FileInfo) string
	GetActivePluginManifests() ([]*model.Manifest, *model.AppError)
	GetAllChannels(page, perPage int, opts model.ChannelSearchOpts) (*model.ChannelListWithTeamData, *model.AppError)
	GetAllChannelsCount(opts model.ChannelSearchOpts) (int64, *model.AppError)
	GetAllPrivateTeams() ([]*model.Team, *model.AppError)
	GetAllPrivateTeamsPage(offset int, limit int) ([]*model.Team, *model.AppError)
	GetAllPrivateTeamsPageWithCount(offset int, limit int) (*model.TeamsWithCount, *model.AppError)
	GetAllPublicTeams() ([]*model.Team, *model.AppError)
	GetAllPublicTeamsPage(offset int, limit int) ([]*model.Team, *model.AppError)
	GetAllPublicTeamsPageWithCount(offset int, limit int) (*model.TeamsWithCount, *model.AppError)
	GetAllRoles() ([]*model.Role, *model.AppError)
	GetAllStatuses() map[string]*model.Status
	GetAllTeams() ([]*model.Team, *model.AppError)
	GetAllTeamsPage(offset int, limit int) ([]*model.Team, *model.AppError)
	GetAllTeamsPageWithCount(offset int, limit int) (*model.TeamsWithCount, *model.AppError)
	GetAnalytics(name string, teamId string) (model.AnalyticsRows, *model.AppError)
	GetAudits(userId string, limit int) (model.Audits, *model.AppError)
	GetAuditsPage(userId string, page int, perPage int) (model.Audits, *model.AppError)
	GetAuthorizationCode(w http.ResponseWriter, r *http.Request, service string, props map[string]string, loginHint string) (string, *model.AppError)
	GetAuthorizedAppsForUser(userId string, page, perPage int) ([]*model.OAuthApp, *model.AppError)
	GetBrandImage() ([]byte, *model.AppError)
	GetBulkReactionsForPosts(postIds []string) (map[string][]*model.Reaction, *model.AppError)
	GetChannel(channelId string) (*model.Channel, *model.AppError)
	GetChannelByName(channelName, teamId string, includeDeleted bool) (*model.Channel, *model.AppError)
	GetChannelByNameForTeamName(channelName, teamName string, includeDeleted bool) (*model.Channel, *model.AppError)
	GetChannelCounts(teamId string, userId string) (*model.ChannelCounts, *model.AppError)
	GetChannelGuestCount(channelId string) (int64, *model.AppError)
	GetChannelMember(channelId string, userId string) (*model.ChannelMember, *model.AppError)
	GetChannelMemberCount(channelId string) (int64, *model.AppError)
	GetChannelMembersByIds(channelId string, userIds []string) (*model.ChannelMembers, *model.AppError)
	GetChannelMembersForUser(teamId string, userId string) (*model.ChannelMembers, *model.AppError)
	GetChannelMembersForUserWithPagination(teamId, userId string, page, perPage int) ([]*model.ChannelMember, *model.AppError)
	GetChannelMembersPage(channelId string, page, perPage int) (*model.ChannelMembers, *model.AppError)
	GetChannelMembersTimezones(channelId string) ([]string, *model.AppError)
	GetChannelPinnedPostCount(channelId string) (int64, *model.AppError)
	GetChannelUnread(channelId, userId string) (*model.ChannelUnread, *model.AppError)
	GetChannelsByNames(channelNames []string, teamId string) ([]*model.Channel, *model.AppError)
	GetChannelsForScheme(scheme *model.Scheme, offset int, limit int) (model.ChannelList, *model.AppError)
	GetChannelsForSchemePage(scheme *model.Scheme, page int, perPage int) (model.ChannelList, *model.AppError)
	GetChannelsForUser(teamId string, userId string, includeDeleted bool) (*model.ChannelList, *model.AppError)
	GetChannelsUserNotIn(teamId string, userId string, offset int, limit int) (*model.ChannelList, *model.AppError)
	GetClusterId() string
	GetClusterStatus() []*model.ClusterInfo
	GetCommand(commandId string) (*model.Command, *model.AppError)
	GetComplianceFile(job *model.Compliance) ([]byte, *model.AppError)
	GetComplianceReport(reportId string) (*model.Compliance, *model.AppError)
	GetComplianceReports(page, perPage int) (model.Compliances, *model.AppError)
	GetCookieDomain() string
	GetDataRetentionPolicy() (*model.DataRetentionPolicy, *model.AppError)
	GetDefaultProfileImage(user *model.User) ([]byte, *model.AppError)
	GetDeletedChannels(teamId string, offset int, limit int, userId string) (*model.ChannelList, *model.AppError)
	GetEmoji(emojiId string) (*model.Emoji, *model.AppError)
	GetEmojiByName(emojiName string) (*model.Emoji, *model.AppError)
	GetEmojiImage(emojiId string) ([]byte, string, *model.AppError)
	GetEmojiList(page, perPage int, sort string) ([]*model.Emoji, *model.AppError)
	GetFile(fileId string) ([]byte, *model.AppError)
	GetFileInfo(fileId string) (*model.FileInfo, *model.AppError)
	GetFileInfos(page, perPage int, opt *model.GetFileInfosOptions) ([]*model.FileInfo, *model.AppError)
	GetFileInfosForPost(postId string, fromMaster bool) ([]*model.FileInfo, *model.AppError)
	GetFileInfosForPostWithMigration(postId string) ([]*model.FileInfo, *model.AppError)
	GetFlaggedPosts(userId string, offset int, limit int) (*model.PostList, *model.AppError)
	GetFlaggedPostsForChannel(userId, channelId string, offset int, limit int) (*model.PostList, *model.AppError)
	GetFlaggedPostsForTeam(userId, teamId string, offset int, limit int) (*model.PostList, *model.AppError)
	GetGroup(id string) (*model.Group, *model.AppError)
	GetGroupByName(name string, opts model.GroupSearchOpts) (*model.Group, *model.AppError)
	GetGroupByRemoteID(remoteID string, groupSource model.GroupSource) (*model.Group, *model.AppError)
	GetGroupChannel(userIds []string) (*model.Channel, *model.AppError)
	GetGroupMemberUsers(groupID string) ([]*model.User, *model.AppError)
	GetGroupMemberUsersPage(groupID string, page int, perPage int) ([]*model.User, int, *model.AppError)
	GetGroupSyncable(groupID string, syncableID string, syncableType model.GroupSyncableType) (*model.GroupSyncable, *model.AppError)
	GetGroupSyncables(groupID string, syncableType model.GroupSyncableType) ([]*model.GroupSyncable, *model.AppError)
	GetGroups(page, perPage int, opts model.GroupSearchOpts) ([]*model.Group, *model.AppError)
	GetGroupsAssociatedToChannelsByTeam(teamId string, opts model.GroupSearchOpts) (map[string][]*model.GroupWithSchemeAdmin, *model.AppError)
	GetGroupsByChannel(channelId string, opts model.GroupSearchOpts) ([]*model.GroupWithSchemeAdmin, int, *model.AppError)
	GetGroupsByIDs(groupIDs []string) ([]*model.Group, *model.AppError)
	GetGroupsBySource(groupSource model.GroupSource) ([]*model.Group, *model.AppError)
	GetGroupsByUserId(userId string) ([]*model.Group, *model.AppError)
	GetIncomingWebhook(hookId string) (*model.IncomingWebhook, *model.AppError)
	GetIncomingWebhooksForTeamPage(teamId string, page, perPage int) ([]*model.IncomingWebhook, *model.AppError)
	GetIncomingWebhooksForTeamPageByUser(teamId string, userId string, page, perPage int) ([]*model.IncomingWebhook, *model.AppError)
	GetIncomingWebhooksPage(page, perPage int) ([]*model.IncomingWebhook, *model.AppError)
	GetIncomingWebhooksPageByUser(userId string, page, perPage int) ([]*model.IncomingWebhook, *model.AppError)
	GetJob(id string) (*model.Job, *model.AppError)
	GetJobs(offset int, limit int) ([]*model.Job, *model.AppError)
	GetJobsByType(jobType string, offset int, limit int) ([]*model.Job, *model.AppError)
	GetJobsByTypePage(jobType string, page int, perPage int) ([]*model.Job, *model.AppError)
	GetJobsPage(page int, perPage int) ([]*model.Job, *model.AppError)
	GetLatestTermsOfService() (*model.TermsOfService, *model.AppError)
	GetLogs(page, perPage int) ([]string, *model.AppError)
	GetLogsSkipSend(page, perPage int) ([]string, *model.AppError)
	GetMessageForNotification(post *model.Post, translateFunc i18n.TranslateFunc) string
	GetMultipleEmojiByName(names []string) ([]*model.Emoji, *model.AppError)
	GetNewUsersForTeamPage(teamId string, page, perPage int, asAdmin bool, viewRestrictions *model.ViewUsersRestrictions) ([]*model.User, *model.AppError)
	GetNextPostIdFromPostList(postList *model.PostList) string
	GetNotificationNameFormat(user *model.User) string
	GetNumberOfChannelsOnTeam(teamId string) (int, *model.AppError)
	GetOAuthAccessTokenForCodeFlow(clientId, grantType, redirectUri, code, secret, refreshToken string) (*model.AccessResponse, *model.AppError)
	GetOAuthAccessTokenForImplicitFlow(userId string, authRequest *model.AuthorizeRequest) (*model.Session, *model.AppError)
	GetOAuthApp(appId string) (*model.OAuthApp, *model.AppError)
	GetOAuthApps(page, perPage int) ([]*model.OAuthApp, *model.AppError)
	GetOAuthAppsByCreator(userId string, page, perPage int) ([]*model.OAuthApp, *model.AppError)
	GetOAuthCodeRedirect(userId string, authRequest *model.AuthorizeRequest) (string, *model.AppError)
	GetOAuthImplicitRedirect(userId string, authRequest *model.AuthorizeRequest) (string, *model.AppError)
	GetOAuthLoginEndpoint(w http.ResponseWriter, r *http.Request, service, teamId, action, redirectTo, loginHint string) (string, *model.AppError)
	GetOAuthSignupEndpoint(w http.ResponseWriter, r *http.Request, service, teamId string) (string, *model.AppError)
	GetOAuthStateToken(token string) (*model.Token, *model.AppError)
	GetOpenGraphMetadata(requestURL string) *opengraph.OpenGraph
	GetOrCreateDirectChannel(userId, otherUserId string) (*model.Channel, *model.AppError)
	GetOutgoingWebhook(hookId string) (*model.OutgoingWebhook, *model.AppError)
	GetOutgoingWebhooksForChannelPageByUser(channelId string, userId string, page, perPage int) ([]*model.OutgoingWebhook, *model.AppError)
	GetOutgoingWebhooksForTeamPage(teamId string, page, perPage int) ([]*model.OutgoingWebhook, *model.AppError)
	GetOutgoingWebhooksForTeamPageByUser(teamId string, userId string, page, perPage int) ([]*model.OutgoingWebhook, *model.AppError)
	GetOutgoingWebhooksPage(page, perPage int) ([]*model.OutgoingWebhook, *model.AppError)
	GetOutgoingWebhooksPageByUser(userId string, page, perPage int) ([]*model.OutgoingWebhook, *model.AppError)
	GetPasswordRecoveryToken(token string) (*model.Token, *model.AppError)
	GetPermalinkPost(postId string, userId string) (*model.PostList, *model.AppError)
	GetPinnedPosts(channelId string) (*model.PostList, *model.AppError)
	GetPluginKey(pluginId string, key string) ([]byte, *model.AppError)
	GetPlugins() (*model.PluginsResponse, *model.AppError)
	GetPostAfterTime(channelId string, time int64) (*model.Post, *model.AppError)
	GetPostIdAfterTime(channelId string, time int64) (string, *model.AppError)
	GetPostIdBeforeTime(channelId string, time int64) (string, *model.AppError)
	GetPostThread(postId string, skipFetchThreads bool) (*model.PostList, *model.AppError)
	GetPosts(channelId string, offset int, limit int) (*model.PostList, *model.AppError)
	GetPostsAfterPost(options model.GetPostsOptions) (*model.PostList, *model.AppError)
	GetPostsAroundPost(before bool, options model.GetPostsOptions) (*model.PostList, *model.AppError)
	GetPostsBeforePost(options model.GetPostsOptions) (*model.PostList, *model.AppError)
	GetPostsEtag(channelId string) string
	GetPostsForChannelAroundLastUnread(channelId, userId string, limitBefore, limitAfter int, skipFetchThreads bool) (*model.PostList, *model.AppError)
	GetPostsPage(options model.GetPostsOptions) (*model.PostList, *model.AppError)
	GetPostsSince(options model.GetPostsSinceOptions) (*model.PostList, *model.AppError)
	GetPreferenceByCategoryAndNameForUser(userId string, category string, preferenceName string) (*model.Preference, *model.AppError)
	GetPreferenceByCategoryForUser(userId string, category string) (model.Preferences, *model.AppError)
	GetPreferencesForUser(userId string) (model.Preferences, *model.AppError)
	GetPrevPostIdFromPostList(postList *model.PostList) string
	GetProfileImage(user *model.User) ([]byte, bool, *model.AppError)
	GetPublicChannelsByIdsForTeam(teamId string, channelIds []string) (*model.ChannelList, *model.AppError)
	GetPublicChannelsForTeam(teamId string, offset int, limit int) (*model.ChannelList, *model.AppError)
	GetReactionsForPost(postId string) ([]*model.Reaction, *model.AppError)
	GetRecentlyActiveUsersForTeam(teamId string) (map[string]*model.User, *model.AppError)
	GetRecentlyActiveUsersForTeamPage(teamId string, page, perPage int, asAdmin bool, viewRestrictions *model.ViewUsersRestrictions) ([]*model.User, *model.AppError)
	GetRole(id string) (*model.Role, *model.AppError)
	GetRoleByName(name string) (*model.Role, *model.AppError)
	GetRolesByNames(names []string) ([]*model.Role, *model.AppError)
	GetSamlCertificateStatus() *model.SamlCertificateStatus
	GetSamlMetadata() (string, *model.AppError)
	GetSamlMetadataFromIdp(idpMetadataUrl string) (*model.SamlMetadataResponse, *model.AppError)
	GetSanitizeOptions(asAdmin bool) map[string]bool
	GetSanitizedClientLicense() map[string]string
	GetScheme(id string) (*model.Scheme, *model.AppError)
	GetSchemeByName(name string) (*model.Scheme, *model.AppError)
	GetSchemeRolesForTeam(teamId string) (string, string, string, *model.AppError)
	GetSchemes(scope string, offset int, limit int) ([]*model.Scheme, *model.AppError)
	GetSchemesPage(scope string, page int, perPage int) ([]*model.Scheme, *model.AppError)
	GetSession(token string) (*model.Session, *model.AppError)
	GetSessionById(sessionId string) (*model.Session, *model.AppError)
	GetSessions(userId string) ([]*model.Session, *model.AppError)
	GetSinglePost(postId string) (*model.Post, *model.AppError)
	GetSiteURL() string
	GetStatus(userId string) (*model.Status, *model.AppError)
	GetStatusFromCache(userId string) *model.Status
	GetStatusesByIds(userIds []string) (map[string]interface{}, *model.AppError)
	GetT() goi18n.TranslateFunc
	GetTeam(teamId string) (*model.Team, *model.AppError)
	GetTeamByInviteId(inviteId string) (*model.Team, *model.AppError)
	GetTeamByName(name string) (*model.Team, *model.AppError)
	GetTeamIcon(team *model.Team) ([]byte, *model.AppError)
	GetTeamIdFromQuery(query url.Values) (string, *model.AppError)
	GetTeamMember(teamId, userId string) (*model.TeamMember, *model.AppError)
	GetTeamMembers(teamId string, offset int, limit int, teamMembersGetOptions *model.TeamMembersGetOptions) ([]*model.TeamMember, *model.AppError)
	GetTeamMembersByIds(teamId string, userIds []string, restrictions *model.ViewUsersRestrictions) ([]*model.TeamMember, *model.AppError)
	GetTeamMembersForUser(userId string) ([]*model.TeamMember, *model.AppError)
	GetTeamMembersForUserWithPagination(userId string, page, perPage int) ([]*model.TeamMember, *model.AppError)
	GetTeamStats(teamId string, restrictions *model.ViewUsersRestrictions) (*model.TeamStats, *model.AppError)
	GetTeamUnread(teamId, userId string) (*model.TeamUnread, *model.AppError)
	GetTeamsForScheme(scheme *model.Scheme, offset int, limit int) ([]*model.Team, *model.AppError)
	GetTeamsForSchemePage(scheme *model.Scheme, page int, perPage int) ([]*model.Team, *model.AppError)
	GetTeamsForUser(userId string) ([]*model.Team, *model.AppError)
	GetTeamsUnreadForUser(excludeTeamId string, userId string) ([]*model.TeamUnread, *model.AppError)
	GetTermsOfService(id string) (*model.TermsOfService, *model.AppError)
	GetUser(userId string) (*model.User, *model.AppError)
	GetUserAccessToken(tokenId string, sanitize bool) (*model.UserAccessToken, *model.AppError)
	GetUserAccessTokens(page, perPage int) ([]*model.UserAccessToken, *model.AppError)
	GetUserAccessTokensForUser(userId string, page, perPage int) ([]*model.UserAccessToken, *model.AppError)
	GetUserByAuth(authData *string, authService string) (*model.User, *model.AppError)
	GetUserByEmail(email string) (*model.User, *model.AppError)
	GetUserByUsername(username string) (*model.User, *model.AppError)
	GetUserForLogin(id, loginId string) (*model.User, *model.AppError)
	GetUserTermsOfService(userId string) (*model.UserTermsOfService, *model.AppError)
	GetUsers(options *model.UserGetOptions) ([]*model.User, *model.AppError)
	GetUsersByGroupChannelIds(channelIds []string, asAdmin bool) (map[string][]*model.User, *model.AppError)
	GetUsersByIds(userIds []string, options *store.UserGetByIdsOpts) ([]*model.User, *model.AppError)
	GetUsersByUsernames(usernames []string, asAdmin bool, viewRestrictions *model.ViewUsersRestrictions) ([]*model.User, *model.AppError)
	GetUsersEtag(restrictionsHash string) string
	GetUsersInChannel(channelId string, offset int, limit int) ([]*model.User, *model.AppError)
	GetUsersInChannelByStatus(channelId string, offset int, limit int) ([]*model.User, *model.AppError)
	GetUsersInChannelMap(channelId string, offset int, limit int, asAdmin bool) (map[string]*model.User, *model.AppError)
	GetUsersInChannelPage(channelId string, page int, perPage int, asAdmin bool) ([]*model.User, *model.AppError)
	GetUsersInChannelPageByStatus(channelId string, page int, perPage int, asAdmin bool) ([]*model.User, *model.AppError)
	GetUsersInTeam(options *model.UserGetOptions) ([]*model.User, *model.AppError)
	GetUsersInTeamEtag(teamId string, restrictionsHash string) string
	GetUsersInTeamPage(options *model.UserGetOptions, asAdmin bool) ([]*model.User, *model.AppError)
	GetUsersNotInChannel(teamId string, channelId string, groupConstrained bool, offset int, limit int, viewRestrictions *model.ViewUsersRestrictions) ([]*model.User, *model.AppError)
	GetUsersNotInChannelMap(teamId string, channelId string, groupConstrained bool, offset int, limit int, asAdmin bool, viewRestrictions *model.ViewUsersRestrictions) (map[string]*model.User, *model.AppError)
	GetUsersNotInChannelPage(teamId string, channelId string, groupConstrained bool, page int, perPage int, asAdmin bool, viewRestrictions *model.ViewUsersRestrictions) ([]*model.User, *model.AppError)
	GetUsersNotInTeam(teamId string, groupConstrained bool, offset int, limit int, viewRestrictions *model.ViewUsersRestrictions) ([]*model.User, *model.AppError)
	GetUsersNotInTeamEtag(teamId string, restrictionsHash string) string
	GetUsersNotInTeamPage(teamId string, groupConstrained bool, page int, perPage int, asAdmin bool, viewRestrictions *model.ViewUsersRestrictions) ([]*model.User, *model.AppError)
	GetUsersPage(options *model.UserGetOptions, asAdmin bool) ([]*model.User, *model.AppError)
	GetUsersWithoutTeam(options *model.UserGetOptions) ([]*model.User, *model.AppError)
	GetUsersWithoutTeamPage(options *model.UserGetOptions, asAdmin bool) ([]*model.User, *model.AppError)
	GetVerifyEmailToken(token string) (*model.Token, *model.AppError)
	GetViewUsersRestrictions(userId string) (*model.ViewUsersRestrictions, *model.AppError)
	HTMLTemplates() *template.Template
	HTTPService() httpservice.HTTPService
	Handle404(w http.ResponseWriter, r *http.Request)
	HandleCommandResponse(command *model.Command, args *model.CommandArgs, response *model.CommandResponse, builtIn bool) (*model.CommandResponse, *model.AppError)
	HandleCommandResponsePost(command *model.Command, args *model.CommandArgs, response *model.CommandResponse, builtIn bool) (*model.Post, *model.AppError)
	HandleCommandWebhook(hookId string, response *model.CommandResponse) *model.AppError
	HandleImages(previewPathList []string, thumbnailPathList []string, fileData [][]byte)
	HandleIncomingWebhook(hookId string, req *model.IncomingWebhookRequest) *model.AppError
	HandleMessageExportConfig(cfg *model.Config, appCfg *model.Config)
	HasPermissionTo(askingUserId string, permission *model.Permission) bool
	HasPermissionToChannel(askingUserId string, channelId string, permission *model.Permission) bool
	HasPermissionToChannelByPost(askingUserId string, postId string, permission *model.Permission) bool
	HasPermissionToTeam(askingUserId string, teamId string, permission *model.Permission) bool
	HasPermissionToUser(askingUserId string, userId string) bool
	ImageProxy() *imageproxy.ImageProxy
	ImageProxyAdder() func(string) string
	ImageProxyRemover() (f func(string) string)
	ImportPermissions(jsonl io.Reader) error
	InitPlugins(pluginDir, webappPluginDir string)
	InitPostMetadata()
	InstallPluginFromData(data model.PluginEventData)
	InvalidateAllCaches() *model.AppError
	InvalidateAllCachesSkipSend()
	InvalidateAllEmailInvites() *model.AppError
	InvalidateCacheForUser(userId string)
	InvalidateWebConnSessionCacheForUser(userId string)
	InviteGuestsToChannels(teamId string, guestsInvite *model.GuestsInvite, senderId string) *model.AppError
	InviteGuestsToChannelsGracefully(teamId string, guestsInvite *model.GuestsInvite, senderId string) ([]*model.EmailInviteWithError, *model.AppError)
	InviteNewUsersToTeam(emailList []string, teamId, senderId string) *model.AppError
	InviteNewUsersToTeamGracefully(emailList []string, teamId, senderId string) ([]*model.EmailInviteWithError, *model.AppError)
	IpAddress() string
	IsFirstUserAccount() bool
	IsLeader() bool
	IsPasswordValid(password string) *model.AppError
	IsPhase2MigrationCompleted() *model.AppError
	IsUserAway(lastActivityAt int64) bool
	IsUserSignUpAllowed() *model.AppError
	JoinChannel(channel *model.Channel, userId string) *model.AppError
	JoinDefaultChannels(teamId string, user *model.User, shouldBeAdmin bool, userRequestorId string) *model.AppError
	JoinUserToTeam(team *model.Team, user *model.User, userRequestorId string) *model.AppError
	Ldap() einterfaces.LdapInterface
	LeaveChannel(channelId string, userId string) *model.AppError
	LeaveTeam(team *model.Team, user *model.User, requestorId string) *model.AppError
	LimitedClientConfig() map[string]string
	ListAllCommands(teamId string, T goi18n.TranslateFunc) ([]*model.Command, *model.AppError)
	ListDirectory(path string) ([]string, *model.AppError)
	ListPluginKeys(pluginId string, page, perPage int) ([]string, *model.AppError)
	ListTeamCommands(teamId string) ([]*model.Command, *model.AppError)
	LoadLicense()
	Log() *mlog.Logger
	LoginByOAuth(service string, userData io.Reader, teamId string) (*model.User, *model.AppError)
	MakePermissionError(permission *model.Permission) *model.AppError
	MarkChannelsAsViewed(channelIds []string, userId string, currentSessionId string) (map[string]int64, *model.AppError)
	MaxPostSize() int
	MessageExport() einterfaces.MessageExportInterface
	Metrics() einterfaces.MetricsInterface
	MoveCommand(team *model.Team, command *model.Command) *model.AppError
	MoveFile(oldPath, newPath string) *model.AppError
	NewClusterDiscoveryService() *ClusterDiscoveryService
	NewPluginAPI(manifest *model.Manifest) plugin.API
	Notification() einterfaces.NotificationInterface
	NotificationsLog() *mlog.Logger
	OpenInteractiveDialog(request model.OpenDialogRequest) *model.AppError
	OriginChecker() func(*http.Request) bool
	PatchChannel(channel *model.Channel, patch *model.ChannelPatch, userId string) (*model.Channel, *model.AppError)
	PatchPost(postId string, patch *model.PostPatch) (*model.Post, *model.AppError)
	PatchRole(role *model.Role, patch *model.RolePatch) (*model.Role, *model.AppError)
	PatchScheme(scheme *model.Scheme, patch *model.SchemePatch) (*model.Scheme, *model.AppError)
	PatchTeam(teamId string, patch *model.TeamPatch) (*model.Team, *model.AppError)
	PatchUser(userId string, patch *model.UserPatch, asAdmin bool) (*model.User, *model.AppError)
	Path() string
	PermanentDeleteAllUsers() *model.AppError
	PermanentDeleteChannel(channel *model.Channel) *model.AppError
	PermanentDeleteTeam(team *model.Team) *model.AppError
	PermanentDeleteTeamId(teamId string) *model.AppError
	PermanentDeleteUser(user *model.User) *model.AppError
	PluginCommandsForTeam(teamId string) []*model.Command
	PluginContext() *plugin.Context
	PostActionCookieSecret() []byte
	PostAddToChannelMessage(user *model.User, addedUser *model.User, channel *model.Channel, postRootId string) *model.AppError
	PostPatchWithProxyRemovedFromImageURLs(patch *model.PostPatch) *model.PostPatch
	PostUpdateChannelDisplayNameMessage(userId string, channel *model.Channel, oldChannelDisplayName, newChannelDisplayName string) *model.AppError
	PostUpdateChannelHeaderMessage(userId string, channel *model.Channel, oldChannelHeader, newChannelHeader string) *model.AppError
	PostUpdateChannelPurposeMessage(userId string, channel *model.Channel, oldChannelPurpose string, newChannelPurpose string) *model.AppError
	PostWithProxyAddedToImageURLs(post *model.Post) *model.Post
	PostWithProxyRemovedFromImageURLs(post *model.Post) *model.Post
	PreparePostForClient(originalPost *model.Post, isNewPost bool, isEditPost bool) *model.Post
	PreparePostListForClient(originalList *model.PostList) *model.PostList
	ProcessSlackText(text string) string
	Publish(message *model.WebSocketEvent)
	PublishSkipClusterSend(message *model.WebSocketEvent)
	PurgeBleveIndexes() *model.AppError
	PurgeElasticsearchIndexes() *model.AppError
	ReadFile(path string) ([]byte, *model.AppError)
	RecycleDatabaseConnection()
	RegenCommandToken(cmd *model.Command) (*model.Command, *model.AppError)
	RegenOutgoingWebhookToken(hook *model.OutgoingWebhook) (*model.OutgoingWebhook, *model.AppError)
	RegenerateOAuthAppSecret(app *model.OAuthApp) (*model.OAuthApp, *model.AppError)
	RegenerateTeamInviteId(teamId string) (*model.Team, *model.AppError)
	RegisterPluginCommand(pluginId string, command *model.Command) error
	ReloadConfig() error
	RemoveConfigListener(id string)
	RemoveFile(path string) *model.AppError
	RemoveLicense() *model.AppError
	RemoveLicenseListener(id string)
	RemovePlugin(id string) *model.AppError
	RemovePluginFromData(data model.PluginEventData)
	RemoveSamlIdpCertificate() *model.AppError
	RemoveSamlPrivateCertificate() *model.AppError
	RemoveSamlPublicCertificate() *model.AppError
	RemoveTeamIcon(teamId string) *model.AppError
	RemoveTeamMemberFromTeam(teamMember *model.TeamMember, requestorId string) *model.AppError
	RemoveUserFromChannel(userIdToRemove string, removerUserId string, channel *model.Channel) *model.AppError
	RemoveUserFromTeam(teamId string, userId string, requestorId string) *model.AppError
	RequestId() string
	ResetPasswordFromToken(userSuppliedTokenString, newPassword string) *model.AppError
	ResetPermissionsSystem() *model.AppError
	RestoreChannel(channel *model.Channel, userId string) (*model.Channel, *model.AppError)
	RestoreTeam(teamId string) *model.AppError
	RestrictUsersGetByPermissions(userId string, options *model.UserGetOptions) (*model.UserGetOptions, *model.AppError)
	RestrictUsersSearchByPermissions(userId string, options *model.UserSearchOptions) (*model.UserSearchOptions, *model.AppError)
	RevokeAccessToken(token string) *model.AppError
	RevokeAllSessions(userId string) *model.AppError
	RevokeSession(session *model.Session) *model.AppError
	RevokeSessionById(sessionId string) *model.AppError
	RevokeSessionsForDeviceId(userId string, deviceId string, currentSessionId string) *model.AppError
	RevokeUserAccessToken(token *model.UserAccessToken) *model.AppError
	RolesGrantPermission(roleNames []string, permissionId string) bool
	Saml() einterfaces.SamlInterface
	SanitizeProfile(user *model.User, asAdmin bool)
	SanitizeTeam(session model.Session, team *model.Team) *model.Team
	SanitizeTeams(session model.Session, teams []*model.Team) []*model.Team
	SaveAndBroadcastStatus(status *model.Status)
	SaveBrandImage(imageData *multipart.FileHeader) *model.AppError
	SaveComplianceReport(job *model.Compliance) (*model.Compliance, *model.AppError)
	SaveLicense(licenseBytes []byte) (*model.License, *model.AppError)
	SaveReactionForPost(reaction *model.Reaction) (*model.Reaction, *model.AppError)
	SaveUserTermsOfService(userId, termsOfServiceId string, accepted bool) *model.AppError
	SchemesIterator(scope string, batchSize int) func() []*model.Scheme
	SearchArchivedChannels(teamId string, term string, userId string) (*model.ChannelList, *model.AppError)
	SearchChannels(teamId string, term string) (*model.ChannelList, *model.AppError)
	SearchChannelsForUser(userId, teamId, term string) (*model.ChannelList, *model.AppError)
	SearchChannelsUserNotIn(teamId string, userId string, term string) (*model.ChannelList, *model.AppError)
	SearchEmoji(name string, prefixOnly bool, limit int) ([]*model.Emoji, *model.AppError)
	SearchEngine() *searchengine.Broker
	SearchGroupChannels(userId, term string) (*model.ChannelList, *model.AppError)
	SearchPostsInTeam(teamId string, paramsList []*model.SearchParams) (*model.PostList, *model.AppError)
	SearchPostsInTeamForUser(terms string, userId string, teamId string, isOrSearch bool, includeDeletedChannels bool, timeZoneOffset int, page, perPage int) (*model.PostSearchResults, *model.AppError)
	SearchPrivateTeams(term string) ([]*model.Team, *model.AppError)
	SearchPublicTeams(term string) ([]*model.Team, *model.AppError)
	SearchUserAccessTokens(term string) ([]*model.UserAccessToken, *model.AppError)
	SearchUsers(props *model.UserSearch, options *model.UserSearchOptions) ([]*model.User, *model.AppError)
	SearchUsersInChannel(channelId string, term string, options *model.UserSearchOptions) ([]*model.User, *model.AppError)
	SearchUsersInTeam(teamId, term string, options *model.UserSearchOptions) ([]*model.User, *model.AppError)
	SearchUsersNotInChannel(teamId string, channelId string, term string, options *model.UserSearchOptions) ([]*model.User, *model.AppError)
	SearchUsersNotInTeam(notInTeamId string, term string, options *model.UserSearchOptions) ([]*model.User, *model.AppError)
	SearchUsersWithoutTeam(term string, options *model.UserSearchOptions) ([]*model.User, *model.AppError)
	SendAckToPushProxy(ack *model.PushNotificationAck) error
	SendAutoResponse(channel *model.Channel, receiver *model.User) (bool, *model.AppError)
	SendAutoResponseIfNecessary(channel *model.Channel, sender *model.User) (bool, *model.AppError)
	SendDailyDiagnostics()
	SendDeactivateAccountEmail(email string, locale, siteURL string) *model.AppError
	SendDiagnostic(event string, properties map[string]interface{})
	SendEmailVerification(user *model.User, newEmail string) *model.AppError
	SendEphemeralPost(userId string, post *model.Post) *model.Post
	SendInviteEmails(team *model.Team, senderName string, senderUserId string, invites []string, siteURL string)
	SendNotifications(post *model.Post, team *model.Team, channel *model.Channel, sender *model.User, parentPostList *model.PostList) ([]string, error)
	SendPasswordReset(email string, siteURL string) (bool, *model.AppError)
	SendPasswordResetEmail(email string, token *model.Token, locale, siteURL string) (bool, *model.AppError)
	SendRemoveExpiredLicenseEmail(email string, locale, siteURL string, licenseId string) *model.AppError
	SendSignInChangeEmail(email, method, locale, siteURL string) *model.AppError
	ServeInterPluginRequest(w http.ResponseWriter, r *http.Request, sourcePluginId, destinationPluginId string)
	ServePluginRequest(w http.ResponseWriter, r *http.Request)
	Session() *model.Session
	SessionCacheLength() int
	SessionHasPermissionTo(session model.Session, permission *model.Permission) bool
	SessionHasPermissionToChannel(session model.Session, channelId string, permission *model.Permission) bool
	SessionHasPermissionToChannelByPost(session model.Session, postId string, permission *model.Permission) bool
	SessionHasPermissionToTeam(session model.Session, teamId string, permission *model.Permission) bool
	SessionHasPermissionToUser(session model.Session, userId string) bool
	SessionHasPermissionToUserOrBot(session model.Session, userId string) bool
	SetAcceptLanguage(s string)
	SetActiveChannel(userId string, channelId string) *model.AppError
	SetAutoResponderStatus(user *model.User, oldNotifyProps model.StringMap)
	SetClientLicense(m map[string]string)
	SetContext(c context.Context)
	SetDefaultProfileImage(user *model.User) *model.AppError
	SetDiagnosticId(id string)
	SetIpAddress(s string)
	SetLicense(license *model.License) bool
	SetLog(l *mlog.Logger)
	SetPath(s string)
	SetPhase2PermissionsMigrationStatus(isComplete bool) error
	SetPluginKey(pluginId string, key string, value []byte) *model.AppError
	SetPluginKeyWithExpiry(pluginId string, key string, value []byte, expireInSeconds int64) *model.AppError
	SetPluginKeyWithOptions(pluginId string, key string, value []byte, options model.PluginKVSetOptions) (bool, *model.AppError)
	SetPluginsEnvironment(pluginsEnvironment *plugin.Environment)
	SetProfileImage(userId string, imageData *multipart.FileHeader) *model.AppError
	SetProfileImageFromFile(userId string, file io.Reader) *model.AppError
	SetProfileImageFromMultiPartFile(userId string, file multipart.File) *model.AppError
	SetRequestId(s string)
	SetSamlIdpCertificateFromMetadata(data []byte) *model.AppError
	SetSearchEngine(se *searchengine.Broker)
	SetServer(srv *Server)
	SetSession(s *model.Session)
	SetStatusAwayIfNeeded(userId string, manual bool)
	SetStatusDoNotDisturb(userId string)
	SetStatusOffline(userId string, manual bool)
	SetStatusOnline(userId string, manual bool)
	SetStatusOutOfOffice(userId string)
	SetT(t goi18n.TranslateFunc)
	SetTeamIcon(teamId string, imageData *multipart.FileHeader) *model.AppError
	SetTeamIconFromFile(team *model.Team, file io.Reader) *model.AppError
	SetTeamIconFromMultiPartFile(teamId string, file multipart.File) *model.AppError
	SetUserAgent(s string)
	SetupInviteEmailRateLimiting() error
	ShutDownPlugins()
	SlackAddBotUser(teamId string, log *bytes.Buffer) *model.User
	SlackAddChannels(teamId string, slackchannels []SlackChannel, posts map[string][]SlackPost, users map[string]*model.User, uploads map[string]*zip.File, botUser *model.User, importerLog *bytes.Buffer) map[string]*model.Channel
	SlackAddPosts(teamId string, channel *model.Channel, posts []SlackPost, users map[string]*model.User, uploads map[string]*zip.File, botUser *model.User)
	SlackAddUsers(teamId string, slackusers []SlackUser, importerLog *bytes.Buffer) map[string]*model.User
	SlackImport(fileData multipart.File, fileSize int64, teamID string) (*model.AppError, *bytes.Buffer)
	SlackUploadFile(slackPostFile *SlackFile, uploads map[string]*zip.File, teamId string, channelId string, userId string, slackTimestamp string) (*model.FileInfo, bool)
	SoftDeleteTeam(teamId string) *model.AppError
	Srv() *Server
	StartPushNotificationsHubWorkers()
	StopPushNotificationsHubWorkers()
	SubmitInteractiveDialog(request model.SubmitDialogRequest) (*model.SubmitDialogResponse, *model.AppError)
	SwitchEmailToLdap(email, password, code, ldapLoginId, ldapPassword string) (string, *model.AppError)
	SwitchEmailToOAuth(w http.ResponseWriter, r *http.Request, email, password, code, service string) (string, *model.AppError)
	SwitchLdapToEmail(ldapPassword, code, email, newPassword string) (string, *model.AppError)
	SwitchOAuthToEmail(email, password, requesterId string) (string, *model.AppError)
	SyncLdap()
	SyncPluginsActiveState()
	T(translationID string, args ...interface{}) string
	TeamMembersToAdd(since int64, teamID *string) ([]*model.UserTeamIDPair, *model.AppError)
	TeamMembersToRemove(teamID *string) ([]*model.TeamMember, *model.AppError)
	TestElasticsearch(cfg *model.Config) *model.AppError
	TestEmail(userId string, cfg *model.Config) *model.AppError
	TestLdap() *model.AppError
	TestSiteURL(siteURL string) *model.AppError
	Timezones() *timezones.Timezones
	ToggleMuteChannel(channelId string, userId string) *model.ChannelMember
	TotalWebsocketConnections() int
	TriggerWebhook(payload *model.OutgoingWebhookPayload, hook *model.OutgoingWebhook, post *model.Post, channel *model.Channel)
	UnregisterPluginCommand(pluginId, teamId, trigger string)
	UnregisterPluginCommands(pluginId string)
	UpdateActive(user *model.User, active bool) (*model.User, *model.AppError)
	UpdateChannelLastViewedAt(channelIds []string, userId string) *model.AppError
	UpdateChannelMemberNotifyProps(data map[string]string, channelId string, userId string) (*model.ChannelMember, *model.AppError)
	UpdateChannelMemberRoles(channelId string, userId string, newRoles string) (*model.ChannelMember, *model.AppError)
	UpdateChannelMemberSchemeRoles(channelId string, userId string, isSchemeGuest bool, isSchemeUser bool, isSchemeAdmin bool) (*model.ChannelMember, *model.AppError)
	UpdateChannelPrivacy(oldChannel *model.Channel, user *model.User) (*model.Channel, *model.AppError)
	UpdateCommand(oldCmd, updatedCmd *model.Command) (*model.Command, *model.AppError)
	UpdateConfig(f func(*model.Config))
	UpdateEphemeralPost(userId string, post *model.Post) *model.Post
	UpdateGroup(group *model.Group) (*model.Group, *model.AppError)
	UpdateGroupSyncable(groupSyncable *model.GroupSyncable) (*model.GroupSyncable, *model.AppError)
	UpdateIncomingWebhook(oldHook, updatedHook *model.IncomingWebhook) (*model.IncomingWebhook, *model.AppError)
	UpdateLastActivityAtIfNeeded(session model.Session)
	UpdateMfa(activate bool, userId, token string) *model.AppError
	UpdateMobileAppBadge(userId string)
	UpdateOAuthUserAttrs(userData io.Reader, user *model.User, provider einterfaces.OauthProvider, service string) *model.AppError
	UpdateOauthApp(oldApp, updatedApp *model.OAuthApp) (*model.OAuthApp, *model.AppError)
	UpdateOutgoingWebhook(oldHook, updatedHook *model.OutgoingWebhook) (*model.OutgoingWebhook, *model.AppError)
	UpdatePassword(user *model.User, newPassword string) *model.AppError
	UpdatePasswordAsUser(userId, currentPassword, newPassword string) *model.AppError
	UpdatePasswordByUserIdSendEmail(userId, newPassword, method string) *model.AppError
	UpdatePasswordSendEmail(user *model.User, newPassword, method string) *model.AppError
	UpdatePost(post *model.Post, safeUpdate bool) (*model.Post, *model.AppError)
	UpdatePreferences(userId string, preferences model.Preferences) *model.AppError
	UpdateRole(role *model.Role) (*model.Role, *model.AppError)
	UpdateScheme(scheme *model.Scheme) (*model.Scheme, *model.AppError)
	UpdateSessionsIsGuest(userId string, isGuest bool)
	UpdateTeam(team *model.Team) (*model.Team, *model.AppError)
	UpdateTeamMemberRoles(teamId string, userId string, newRoles string) (*model.TeamMember, *model.AppError)
	UpdateTeamMemberSchemeRoles(teamId string, userId string, isSchemeGuest bool, isSchemeUser bool, isSchemeAdmin bool) (*model.TeamMember, *model.AppError)
	UpdateTeamPrivacy(teamId string, teamType string, allowOpenInvite bool) *model.AppError
	UpdateTeamScheme(team *model.Team) (*model.Team, *model.AppError)
	UpdateUser(user *model.User, sendNotifications bool) (*model.User, *model.AppError)
	UpdateUserActive(userId string, active bool) *model.AppError
	UpdateUserAsUser(user *model.User, asAdmin bool) (*model.User, *model.AppError)
	UpdateUserAuth(userId string, userAuth *model.UserAuth) (*model.UserAuth, *model.AppError)
	UpdateUserNotifyProps(userId string, props map[string]string) (*model.User, *model.AppError)
	UpdateUserRoles(userId string, newRoles string, sendWebSocketEvent bool) (*model.User, *model.AppError)
	UploadEmojiImage(id string, imageData *multipart.FileHeader) *model.AppError
	UploadMultipartFiles(teamId string, channelId string, userId string, fileHeaders []*multipart.FileHeader, clientIds []string, now time.Time) (*model.FileUploadResponse, *model.AppError)
	UpsertGroupMember(groupID string, userID string) (*model.GroupMember, *model.AppError)
	UpsertGroupSyncable(groupSyncable *model.GroupSyncable) (*model.GroupSyncable, *model.AppError)
	UserAgent() string
	UserCanSeeOtherUser(userId string, otherUserId string) (bool, *model.AppError)
	ValidateAndSetLicenseBytes(b []byte)
	VerifyEmailFromToken(userSuppliedTokenString string) *model.AppError
	VerifyUserEmail(userId, email string) *model.AppError
	ViewChannel(view *model.ChannelView, userId string, currentSessionId string) (map[string]int64, *model.AppError)
	WaitForChannelMembership(channelId string, userId string)
	WriteFile(fr io.Reader, path string) (int64, *model.AppError)
}

AppIface is extracted from App struct and contains all it's exported methods. It's provided to allow partial interface passing and app layers creation.

type AppOption

type AppOption func(a *App)

func ServerConnector

func ServerConnector(s *Server) AppOption

type AppOptionCreator

type AppOptionCreator func() []AppOption

type AttachmentImportData

type AttachmentImportData struct {
	Path *string `json:"path"`
}

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.Client4, team *model.Team) *AutoChannelCreator

func (*AutoChannelCreator) CreateTestChannels

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

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.Client4, channelid string) *AutoPostCreator

Automatic poster used for testing

func (*AutoPostCreator) CreateRandomPost

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

func (*AutoPostCreator) CreateRandomPostNested added in v5.22.0

func (cfg *AutoPostCreator) CreateRandomPostNested(parentId, rootId string) (*model.Post, error)

func (*AutoPostCreator) UploadTestFile

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

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.Client4) *AutoTeamCreator

func (*AutoTeamCreator) CreateTestTeams

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

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(a *App, client *model.Client4, team *model.Team) *AutoUserCreator

func (*AutoUserCreator) CreateTestUsers

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

type AwayProvider

type AwayProvider struct {
}

func (*AwayProvider) DoCommand

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

func (*AwayProvider) GetCommand

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

func (*AwayProvider) GetTrigger

func (me *AwayProvider) GetTrigger() string

type Busy added in v5.20.0

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

Busy represents the busy state of the server. A server marked busy will have non-critical services disabled. If a Cluster is provided any changes will be propagated to each node.

func NewBusy added in v5.20.0

func NewBusy(cluster einterfaces.ClusterInterface) *Busy

NewBusy creates a new Busy instance with optional cluster which will be notified of busy state changes.

func (*Busy) Clear added in v5.20.0

func (b *Busy) Clear()

ClearBusy marks the server as not busy and notifies cluster nodes.

func (*Busy) ClusterEventChanged added in v5.20.0

func (b *Busy) ClusterEventChanged(sbs *model.ServerBusyState)

ClusterEventChanged is called when a CLUSTER_EVENT_BUSY_STATE_CHANGED is received.

func (*Busy) Expires added in v5.20.0

func (b *Busy) Expires() time.Time

Expires returns the expected time that the server will be marked not busy. This expiry can be extended via additional calls to SetBusy.

func (*Busy) IsBusy added in v5.20.0

func (b *Busy) IsBusy() bool

IsBusy returns true if the server has been marked as busy.

func (*Busy) Set added in v5.20.0

func (b *Busy) Set(dur time.Duration)

Set marks the server as busy for dur duration and notifies cluster nodes.

func (*Busy) ToJson added in v5.20.0

func (b *Busy) ToJson() 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,omitempty"`
	Purpose     *string `json:"purpose,omitempty"`
	Scheme      *string `json:"scheme,omitempty"`
}

type ClusterDiscoveryService

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

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(a *App, args *model.CommandArgs, message string) *model.CommandResponse

func (*CodeProvider) GetCommand

func (me *CodeProvider) GetCommand(a *App, 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(a *App, args *model.CommandArgs, message string) *model.CommandResponse

func (*CollapseProvider) GetCommand

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

func (*CollapseProvider) GetTrigger

func (me *CollapseProvider) GetTrigger() string

type CommandProvider

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

func GetCommandProvider

func GetCommandProvider(name string) CommandProvider

type ComparablePreference

type ComparablePreference struct {
	Category string
	Name     string
}

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"`
	Props    *model.StringInterface `json:"props"`
	CreateAt *int64                 `json:"create_at"`

	FlaggedBy   *[]string               `json:"flagged_by"`
	Reactions   *[]ReactionImportData   `json:"reactions"`
	Replies     *[]ReplyImportData      `json:"replies"`
	Attachments *[]AttachmentImportData `json:"attachments"`
}

type DndProvider

type DndProvider struct {
}

func (*DndProvider) DoCommand

func (me *DndProvider) DoCommand(a *App, args *model.CommandArgs, message string) *model.CommandResponse

func (*DndProvider) GetCommand

func (me *DndProvider) GetCommand(a *App, T goi18n.TranslateFunc) *model.Command

func (*DndProvider) GetTrigger

func (me *DndProvider) GetTrigger() string

type EchoProvider

type EchoProvider struct {
}

func (*EchoProvider) DoCommand

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

func (*EchoProvider) GetCommand

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

func (*EchoProvider) GetTrigger

func (me *EchoProvider) GetTrigger() string

type EmailBatchingJob

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

func NewEmailBatchingJob

func NewEmailBatchingJob(s *Server, 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 EmojiImportData

type EmojiImportData struct {
	Name  *string `json:"name"`
	Image *string `json:"image"`
}

type ExpandProvider

type ExpandProvider struct {
}

func (*ExpandProvider) DoCommand

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

func (*ExpandProvider) GetCommand

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

func (*ExpandProvider) GetTrigger

func (me *ExpandProvider) GetTrigger() string

type ExplicitMentions

type ExplicitMentions struct {
	// Mentions contains the ID of each user that was mentioned and how they were mentioned.
	Mentions map[string]MentionType

	// Contains a map of groups that were mentioned
	GroupMentions map[string]*model.Group

	// OtherPotentialMentions contains a list of strings that looked like mentions, but didn't have
	// a corresponding keyword.
	OtherPotentialMentions []string

	// HereMentioned is true if the message contained @here.
	HereMentioned bool

	// AllMentioned is true if the message contained @all.
	AllMentioned bool

	// ChannelMentioned is true if the message contained @channel.
	ChannelMentioned bool
}

type HeaderProvider

type HeaderProvider struct {
}

func (*HeaderProvider) DoCommand

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

func (*HeaderProvider) GetCommand

func (me *HeaderProvider) GetCommand(a *App, 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(a *App, args *model.CommandArgs, message string) *model.CommandResponse

func (*HelpProvider) GetCommand

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

func (*HelpProvider) GetTrigger

func (h *HelpProvider) GetTrigger() string

type Hub

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

Hub is the central place to manage all websocket connections in the server. It handles different websocket events and sending messages to individual user connections.

func (*Hub) Broadcast

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

Broadcast broadcasts the message to all connections in the hub.

func (*Hub) InvalidateUser

func (h *Hub) InvalidateUser(userId string)

InvalidateUser invalidates the cache for the given user.

func (*Hub) IsRegistered added in v5.24.0

func (h *Hub) IsRegistered(userId, sessionToken string) bool

Determines if a user's session is registered a connection from the hub.

func (*Hub) Register

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

Register registers a connection to the hub.

func (*Hub) SendMessage added in v5.24.0

func (h *Hub) SendMessage(conn *WebConn, msg model.WebSocketMessage)

SendMessage sends the given message to the given connection.

func (*Hub) Start

func (h *Hub) Start()

Start starts the hub.

func (*Hub) Stop

func (h *Hub) Stop()

Stop stops the hub.

func (*Hub) Unregister

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

Unregister unregisters a connection from the hub.

func (*Hub) UpdateActivity

func (h *Hub) UpdateActivity(userId, sessionToken string, activityAt int64)

UpdateActivity sets the LastUserActivityAt field for the connection of the user.

type InvitePeopleProvider

type InvitePeopleProvider struct {
}

func (*InvitePeopleProvider) DoCommand

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

func (*InvitePeopleProvider) GetCommand

func (me *InvitePeopleProvider) GetCommand(a *App, T goi18n.TranslateFunc) *model.Command

func (*InvitePeopleProvider) GetTrigger

func (me *InvitePeopleProvider) GetTrigger() string

type InviteProvider

type InviteProvider struct {
}

func (*InviteProvider) DoCommand

func (me *InviteProvider) DoCommand(a *App, args *model.CommandArgs, message string) *model.CommandResponse

func (*InviteProvider) GetCommand

func (me *InviteProvider) GetCommand(a *App, T goi18n.TranslateFunc) *model.Command

func (*InviteProvider) GetTrigger

func (me *InviteProvider) GetTrigger() string

type JoinProvider

type JoinProvider struct {
}

func (*JoinProvider) DoCommand

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

func (*JoinProvider) GetCommand

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

func (*JoinProvider) GetTrigger

func (me *JoinProvider) GetTrigger() string

type KickProvider

type KickProvider struct {
}

func (*KickProvider) DoCommand

func (me *KickProvider) DoCommand(a *App, args *model.CommandArgs, message string) *model.CommandResponse

func (*KickProvider) GetCommand

func (me *KickProvider) GetCommand(a *App, T goi18n.TranslateFunc) *model.Command

func (*KickProvider) GetTrigger

func (me *KickProvider) GetTrigger() string

type LeaveProvider

type LeaveProvider struct {
}

func (*LeaveProvider) DoCommand

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

func (*LeaveProvider) GetCommand

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

func (*LeaveProvider) GetTrigger

func (me *LeaveProvider) GetTrigger() string

type LineImportData

type LineImportData struct {
	Type          string                   `json:"type"`
	Scheme        *SchemeImportData        `json:"scheme,omitempty"`
	Team          *TeamImportData          `json:"team,omitempty"`
	Channel       *ChannelImportData       `json:"channel,omitempty"`
	User          *UserImportData          `json:"user,omitempty"`
	Post          *PostImportData          `json:"post,omitempty"`
	DirectChannel *DirectChannelImportData `json:"direct_channel,omitempty"`
	DirectPost    *DirectPostImportData    `json:"direct_post,omitempty"`
	Emoji         *EmojiImportData         `json:"emoji,omitempty"`
	Version       *int                     `json:"version,omitempty"`
}

func ImportLineForDirectPost

func ImportLineForDirectPost(post *model.DirectPostForExport) *LineImportData

func ImportLineForPost

func ImportLineForPost(post *model.PostForExport) *LineImportData

func ImportLineFromChannel

func ImportLineFromChannel(channel *model.ChannelForExport) *LineImportData

func ImportLineFromDirectChannel

func ImportLineFromDirectChannel(channel *model.DirectChannelForExport) *LineImportData

func ImportLineFromEmoji

func ImportLineFromEmoji(emoji *model.Emoji, filePath string) *LineImportData

func ImportLineFromTeam

func ImportLineFromTeam(team *model.TeamForExport) *LineImportData

func ImportLineFromUser

func ImportLineFromUser(user *model.User, exportedPrefs map[string]*string) *LineImportData

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

func (me *LoadTestProvider) ActivateUserCommand(a *App, args *model.CommandArgs, message string) (*model.CommandResponse, error)

func (*LoadTestProvider) ChannelsCommand

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

func (*LoadTestProvider) DeActivateUserCommand

func (me *LoadTestProvider) DeActivateUserCommand(a *App, args *model.CommandArgs, message string) (*model.CommandResponse, error)

func (*LoadTestProvider) DoCommand

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

func (*LoadTestProvider) GetCommand

func (me *LoadTestProvider) GetCommand(a *App, 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(a *App, args *model.CommandArgs, message string) (*model.CommandResponse, error)

func (*LoadTestProvider) PostCommand

func (me *LoadTestProvider) PostCommand(a *App, args *model.CommandArgs, message string) (*model.CommandResponse, error)

func (*LoadTestProvider) PostsCommand

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

func (*LoadTestProvider) SetupCommand

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

func (*LoadTestProvider) ThreadedPostCommand added in v5.22.0

func (me *LoadTestProvider) ThreadedPostCommand(a *App, args *model.CommandArgs, message string) (*model.CommandResponse, error)

func (*LoadTestProvider) UrlCommand

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

func (*LoadTestProvider) UsersCommand

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

type LocalResponseWriter

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

func (*LocalResponseWriter) Header

func (w *LocalResponseWriter) Header() http.Header

func (*LocalResponseWriter) Write

func (w *LocalResponseWriter) Write(bytes []byte) (int, error)

func (*LocalResponseWriter) WriteHeader

func (w *LocalResponseWriter) WriteHeader(statusCode int)

type LogoutProvider

type LogoutProvider struct {
}

func (*LogoutProvider) DoCommand

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

func (*LogoutProvider) GetCommand

func (me *LogoutProvider) GetCommand(a *App, 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(a *App, args *model.CommandArgs, message string) *model.CommandResponse

func (*MeProvider) GetCommand

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

func (*MeProvider) GetTrigger

func (me *MeProvider) GetTrigger() string

type MentionType

type MentionType int
const (

	// A placeholder that should never be used in practice
	NoMention MentionType = iota

	// The post is in a thread that the user has commented on
	ThreadMention

	// The post is a comment on a thread started by the user
	CommentMention

	// The post contains an at-channel, at-all, or at-here
	ChannelMention

	// The post is a DM
	DMMention

	// The post contains an at-mention for the user
	KeywordMention

	// The post contains a group mention for the user
	GroupMention
)

type MuteProvider

type MuteProvider struct {
}

func (*MuteProvider) DoCommand

func (me *MuteProvider) DoCommand(a *App, args *model.CommandArgs, message string) *model.CommandResponse

func (*MuteProvider) GetCommand

func (me *MuteProvider) GetCommand(a *App, T goi18n.TranslateFunc) *model.Command

func (*MuteProvider) GetTrigger

func (me *MuteProvider) GetTrigger() string

type OfflineProvider

type OfflineProvider struct {
}

func (*OfflineProvider) DoCommand

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

func (*OfflineProvider) GetCommand

func (me *OfflineProvider) GetCommand(a *App, 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(a *App, args *model.CommandArgs, message string) *model.CommandResponse

func (*OnlineProvider) GetCommand

func (me *OnlineProvider) GetCommand(a *App, 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(a *App, T goi18n.TranslateFunc) *model.Command

func (*OpenProvider) GetTrigger

func (open *OpenProvider) GetTrigger() string

type OpenTracingAppLayer added in v5.22.0

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

func NewOpenTracingAppLayer added in v5.22.0

func NewOpenTracingAppLayer(childApp AppIface, ctx context.Context) *OpenTracingAppLayer

func (*OpenTracingAppLayer) AcceptLanguage added in v5.22.0

func (a *OpenTracingAppLayer) AcceptLanguage() string

func (*OpenTracingAppLayer) AccountMigration added in v5.22.0

func (*OpenTracingAppLayer) ActivateMfa added in v5.22.0

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

func (*OpenTracingAppLayer) AddChannelMember added in v5.22.0

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

func (*OpenTracingAppLayer) AddConfigListener added in v5.22.0

func (a *OpenTracingAppLayer) AddConfigListener(listener func(*model.Config, *model.Config)) string

func (*OpenTracingAppLayer) AddCursorIdsForPostList added in v5.22.0

func (a *OpenTracingAppLayer) AddCursorIdsForPostList(originalList *model.PostList, afterPost string, beforePost string, since int64, page int, perPage int)

func (*OpenTracingAppLayer) AddDirectChannels added in v5.22.0

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

func (*OpenTracingAppLayer) AddLicenseListener added in v5.22.0

func (a *OpenTracingAppLayer) AddLicenseListener(listener func(oldLicense, newLicense *model.License)) string

func (*OpenTracingAppLayer) AddNotificationEmailToBatch added in v5.22.0

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

func (*OpenTracingAppLayer) AddPublicKey added in v5.22.0

func (a *OpenTracingAppLayer) AddPublicKey(name string, key io.Reader) *model.AppError

func (*OpenTracingAppLayer) AddSamlIdpCertificate added in v5.22.0

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

func (*OpenTracingAppLayer) AddSamlPrivateCertificate added in v5.22.0

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

func (*OpenTracingAppLayer) AddSamlPublicCertificate added in v5.22.0

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

func (*OpenTracingAppLayer) AddSessionToCache added in v5.22.0

func (a *OpenTracingAppLayer) AddSessionToCache(session *model.Session)

func (*OpenTracingAppLayer) AddStatusCache added in v5.22.0

func (a *OpenTracingAppLayer) AddStatusCache(status *model.Status)

func (*OpenTracingAppLayer) AddStatusCacheSkipClusterSend added in v5.22.0

func (a *OpenTracingAppLayer) AddStatusCacheSkipClusterSend(status *model.Status)

func (*OpenTracingAppLayer) AddTeamMember added in v5.22.0

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

func (*OpenTracingAppLayer) AddTeamMemberByInviteId added in v5.22.0

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

func (*OpenTracingAppLayer) AddTeamMemberByToken added in v5.22.0

func (a *OpenTracingAppLayer) AddTeamMemberByToken(userId string, tokenId string) (*model.TeamMember, *model.AppError)

func (*OpenTracingAppLayer) AddTeamMembers added in v5.22.0

func (a *OpenTracingAppLayer) AddTeamMembers(teamId string, userIds []string, userRequestorId string, graceful bool) ([]*model.TeamMemberWithError, *model.AppError)

func (*OpenTracingAppLayer) AddUserToChannel added in v5.22.0

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

func (*OpenTracingAppLayer) AddUserToTeam added in v5.22.0

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

func (*OpenTracingAppLayer) AddUserToTeamByInviteId added in v5.22.0

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

func (*OpenTracingAppLayer) AddUserToTeamByTeamId added in v5.22.0

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

func (*OpenTracingAppLayer) AddUserToTeamByToken added in v5.22.0

func (a *OpenTracingAppLayer) AddUserToTeamByToken(userId string, tokenId string) (*model.Team, *model.AppError)

func (*OpenTracingAppLayer) AdjustImage added in v5.24.0

func (a *OpenTracingAppLayer) AdjustImage(file io.Reader) (*bytes.Buffer, *model.AppError)

func (*OpenTracingAppLayer) AllowOAuthAppAccessToUser added in v5.22.0

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

func (*OpenTracingAppLayer) AsymmetricSigningKey added in v5.22.0

func (a *OpenTracingAppLayer) AsymmetricSigningKey() *ecdsa.PrivateKey

func (*OpenTracingAppLayer) AttachDeviceId added in v5.22.0

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

func (*OpenTracingAppLayer) AttachSessionCookies added in v5.22.0

func (a *OpenTracingAppLayer) AttachSessionCookies(w http.ResponseWriter, r *http.Request)

func (*OpenTracingAppLayer) AuthenticateUserForLogin added in v5.22.0

func (a *OpenTracingAppLayer) AuthenticateUserForLogin(id string, loginId string, password string, mfaToken string, ldapOnly bool) (user *model.User, err *model.AppError)

func (*OpenTracingAppLayer) AuthorizeOAuthUser added in v5.22.0

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

func (*OpenTracingAppLayer) AutocompleteChannels added in v5.22.0

func (a *OpenTracingAppLayer) AutocompleteChannels(teamId string, term string) (*model.ChannelList, *model.AppError)

func (*OpenTracingAppLayer) AutocompleteChannelsForSearch added in v5.22.0

func (a *OpenTracingAppLayer) AutocompleteChannelsForSearch(teamId string, userId string, term string) (*model.ChannelList, *model.AppError)

func (*OpenTracingAppLayer) AutocompleteUsersInChannel added in v5.22.0

func (a *OpenTracingAppLayer) AutocompleteUsersInChannel(teamId string, channelId string, term string, options *model.UserSearchOptions) (*model.UserAutocompleteInChannel, *model.AppError)

func (*OpenTracingAppLayer) AutocompleteUsersInTeam added in v5.22.0

func (a *OpenTracingAppLayer) AutocompleteUsersInTeam(teamId string, term string, options *model.UserSearchOptions) (*model.UserAutocompleteInTeam, *model.AppError)

func (*OpenTracingAppLayer) BroadcastStatus added in v5.22.0

func (a *OpenTracingAppLayer) BroadcastStatus(status *model.Status)

func (*OpenTracingAppLayer) BuildPostReactions added in v5.22.0

func (a *OpenTracingAppLayer) BuildPostReactions(postId string) (*[]ReactionImportData, *model.AppError)

func (*OpenTracingAppLayer) BuildPushNotificationMessage added in v5.22.0

func (a *OpenTracingAppLayer) BuildPushNotificationMessage(contentsConfig string, post *model.Post, user *model.User, channel *model.Channel, channelName string, senderName string, explicitMention bool, channelWideMention bool, replyToThreadType string) (*model.PushNotification, *model.AppError)

func (*OpenTracingAppLayer) BuildSamlMetadataObject added in v5.22.0

func (a *OpenTracingAppLayer) BuildSamlMetadataObject(idpMetadata []byte) (*model.SamlMetadataResponse, *model.AppError)

func (*OpenTracingAppLayer) BulkExport added in v5.22.0

func (a *OpenTracingAppLayer) BulkExport(writer io.Writer, file string, pathToEmojiDir string, dirNameToExportEmoji string) *model.AppError

func (*OpenTracingAppLayer) BulkImport added in v5.22.0

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

func (*OpenTracingAppLayer) CancelJob added in v5.22.0

func (a *OpenTracingAppLayer) CancelJob(jobId string) *model.AppError

func (*OpenTracingAppLayer) ChannelMembersMinusGroupMembers added in v5.22.0

func (a *OpenTracingAppLayer) ChannelMembersMinusGroupMembers(channelID string, groupIDs []string, page int, perPage int) ([]*model.UserWithGroups, int64, *model.AppError)

func (*OpenTracingAppLayer) ChannelMembersToAdd added in v5.22.0

func (a *OpenTracingAppLayer) ChannelMembersToAdd(since int64, channelID *string) ([]*model.UserChannelIDPair, *model.AppError)

func (*OpenTracingAppLayer) ChannelMembersToRemove added in v5.22.0

func (a *OpenTracingAppLayer) ChannelMembersToRemove(teamID *string) ([]*model.ChannelMember, *model.AppError)

func (*OpenTracingAppLayer) CheckForClientSideCert added in v5.22.0

func (a *OpenTracingAppLayer) CheckForClientSideCert(r *http.Request) (string, string, string)

func (*OpenTracingAppLayer) CheckPasswordAndAllCriteria added in v5.22.0

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

func (*OpenTracingAppLayer) CheckRolesExist added in v5.22.0

func (a *OpenTracingAppLayer) CheckRolesExist(roleNames []string) *model.AppError

func (*OpenTracingAppLayer) CheckUserAllAuthenticationCriteria added in v5.22.0

func (a *OpenTracingAppLayer) CheckUserAllAuthenticationCriteria(user *model.User, mfaToken string) *model.AppError

func (*OpenTracingAppLayer) CheckUserMfa added in v5.22.0

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

func (*OpenTracingAppLayer) CheckUserPostflightAuthenticationCriteria added in v5.22.0

func (a *OpenTracingAppLayer) CheckUserPostflightAuthenticationCriteria(user *model.User) *model.AppError

func (*OpenTracingAppLayer) CheckUserPreflightAuthenticationCriteria added in v5.22.0

func (a *OpenTracingAppLayer) CheckUserPreflightAuthenticationCriteria(user *model.User, mfaToken string) *model.AppError

func (*OpenTracingAppLayer) CheckValidDomains added in v5.24.0

func (a *OpenTracingAppLayer) CheckValidDomains(team *model.Team) *model.AppError

func (*OpenTracingAppLayer) ClearChannelMembersCache added in v5.22.0

func (a *OpenTracingAppLayer) ClearChannelMembersCache(channelID string)

func (*OpenTracingAppLayer) ClearSessionCacheForAllUsers added in v5.22.0

func (a *OpenTracingAppLayer) ClearSessionCacheForAllUsers()

func (*OpenTracingAppLayer) ClearSessionCacheForAllUsersSkipClusterSend added in v5.22.0

func (a *OpenTracingAppLayer) ClearSessionCacheForAllUsersSkipClusterSend()

func (*OpenTracingAppLayer) ClearSessionCacheForUser added in v5.22.0

func (a *OpenTracingAppLayer) ClearSessionCacheForUser(userId string)

func (*OpenTracingAppLayer) ClearSessionCacheForUserSkipClusterSend added in v5.22.0

func (a *OpenTracingAppLayer) ClearSessionCacheForUserSkipClusterSend(userId string)

func (*OpenTracingAppLayer) ClearTeamMembersCache added in v5.22.0

func (a *OpenTracingAppLayer) ClearTeamMembersCache(teamID string)

func (*OpenTracingAppLayer) ClientConfig added in v5.22.0

func (a *OpenTracingAppLayer) ClientConfig() map[string]string

func (*OpenTracingAppLayer) ClientConfigHash added in v5.22.0

func (a *OpenTracingAppLayer) ClientConfigHash() string

func (*OpenTracingAppLayer) ClientConfigWithComputed added in v5.22.0

func (a *OpenTracingAppLayer) ClientConfigWithComputed() map[string]string

func (*OpenTracingAppLayer) ClientLicense added in v5.22.0

func (a *OpenTracingAppLayer) ClientLicense() map[string]string

func (*OpenTracingAppLayer) Cluster added in v5.22.0

func (*OpenTracingAppLayer) CompareAndDeletePluginKey added in v5.22.0

func (a *OpenTracingAppLayer) CompareAndDeletePluginKey(pluginId string, key string, oldValue []byte) (bool, *model.AppError)

func (*OpenTracingAppLayer) CompareAndSetPluginKey added in v5.22.0

func (a *OpenTracingAppLayer) CompareAndSetPluginKey(pluginId string, key string, oldValue []byte, newValue []byte) (bool, *model.AppError)

func (*OpenTracingAppLayer) CompleteOAuth added in v5.22.0

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

func (*OpenTracingAppLayer) CompleteSwitchWithOAuth added in v5.22.0

func (a *OpenTracingAppLayer) CompleteSwitchWithOAuth(service string, userData io.Reader, email string) (*model.User, *model.AppError)

func (*OpenTracingAppLayer) Compliance added in v5.22.0

func (*OpenTracingAppLayer) Config added in v5.22.0

func (a *OpenTracingAppLayer) Config() *model.Config

func (*OpenTracingAppLayer) Context added in v5.22.0

func (a *OpenTracingAppLayer) Context() context.Context

func (*OpenTracingAppLayer) ConvertUserToBot added in v5.22.0

func (a *OpenTracingAppLayer) ConvertUserToBot(user *model.User) (*model.Bot, *model.AppError)

func (*OpenTracingAppLayer) CopyFileInfos added in v5.22.0

func (a *OpenTracingAppLayer) CopyFileInfos(userId string, fileIds []string) ([]string, *model.AppError)

func (*OpenTracingAppLayer) CreateBasicUser added in v5.22.0

func (a *OpenTracingAppLayer) CreateBasicUser(client *model.Client4) *model.AppError

func (*OpenTracingAppLayer) CreateBot added in v5.22.0

func (a *OpenTracingAppLayer) CreateBot(bot *model.Bot) (*model.Bot, *model.AppError)

func (*OpenTracingAppLayer) CreateChannel added in v5.22.0

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

func (*OpenTracingAppLayer) CreateChannelScheme added in v5.24.0

func (a *OpenTracingAppLayer) CreateChannelScheme(channel *model.Channel) (*model.Scheme, *model.AppError)

func (*OpenTracingAppLayer) CreateChannelWithUser added in v5.22.0

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

func (*OpenTracingAppLayer) CreateCommand added in v5.22.0

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

func (*OpenTracingAppLayer) CreateCommandPost added in v5.22.0

func (a *OpenTracingAppLayer) CreateCommandPost(post *model.Post, teamId string, response *model.CommandResponse, skipSlackParsing bool) (*model.Post, *model.AppError)

func (*OpenTracingAppLayer) CreateCommandWebhook added in v5.22.0

func (a *OpenTracingAppLayer) CreateCommandWebhook(commandId string, args *model.CommandArgs) (*model.CommandWebhook, *model.AppError)

func (*OpenTracingAppLayer) CreateDefaultChannels added in v5.22.0

func (a *OpenTracingAppLayer) CreateDefaultChannels(teamID string) ([]*model.Channel, *model.AppError)

func (*OpenTracingAppLayer) CreateDefaultMemberships added in v5.22.0

func (a *OpenTracingAppLayer) CreateDefaultMemberships(since int64) error

func (*OpenTracingAppLayer) CreateEmoji added in v5.22.0

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

func (*OpenTracingAppLayer) CreateGroup added in v5.22.0

func (a *OpenTracingAppLayer) CreateGroup(group *model.Group) (*model.Group, *model.AppError)

func (*OpenTracingAppLayer) CreateGroupChannel added in v5.22.0

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

func (*OpenTracingAppLayer) CreateGuest added in v5.22.0

func (a *OpenTracingAppLayer) CreateGuest(user *model.User) (*model.User, *model.AppError)

func (*OpenTracingAppLayer) CreateIncomingWebhookForChannel added in v5.22.0

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

func (*OpenTracingAppLayer) CreateJob added in v5.22.0

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

func (*OpenTracingAppLayer) CreateOAuthApp added in v5.22.0

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

func (*OpenTracingAppLayer) CreateOAuthStateToken added in v5.22.0

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

func (*OpenTracingAppLayer) CreateOAuthUser added in v5.22.0

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

func (*OpenTracingAppLayer) CreateOutgoingWebhook added in v5.22.0

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

func (*OpenTracingAppLayer) CreatePasswordRecoveryToken added in v5.22.0

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

func (*OpenTracingAppLayer) CreatePost added in v5.22.0

func (a *OpenTracingAppLayer) CreatePost(post *model.Post, channel *model.Channel, triggerWebhooks bool) (savedPost *model.Post, err *model.AppError)

func (*OpenTracingAppLayer) CreatePostAsUser added in v5.22.0

func (a *OpenTracingAppLayer) CreatePostAsUser(post *model.Post, currentSessionId string) (*model.Post, *model.AppError)

func (*OpenTracingAppLayer) CreatePostMissingChannel added in v5.22.0

func (a *OpenTracingAppLayer) CreatePostMissingChannel(post *model.Post, triggerWebhooks bool) (*model.Post, *model.AppError)

func (*OpenTracingAppLayer) CreateRole added in v5.22.0

func (a *OpenTracingAppLayer) CreateRole(role *model.Role) (*model.Role, *model.AppError)

func (*OpenTracingAppLayer) CreateScheme added in v5.22.0

func (a *OpenTracingAppLayer) CreateScheme(scheme *model.Scheme) (*model.Scheme, *model.AppError)

func (*OpenTracingAppLayer) CreateSession added in v5.22.0

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

func (*OpenTracingAppLayer) CreateTeam added in v5.22.0

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

func (*OpenTracingAppLayer) CreateTeamWithUser added in v5.22.0

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

func (*OpenTracingAppLayer) CreateTermsOfService added in v5.22.0

func (a *OpenTracingAppLayer) CreateTermsOfService(text string, userId string) (*model.TermsOfService, *model.AppError)

func (*OpenTracingAppLayer) CreateUser added in v5.22.0

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

func (*OpenTracingAppLayer) CreateUserAccessToken added in v5.22.0

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

func (*OpenTracingAppLayer) CreateUserAsAdmin added in v5.22.0

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

func (*OpenTracingAppLayer) CreateUserFromSignup added in v5.22.0

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

func (*OpenTracingAppLayer) CreateUserWithInviteId added in v5.22.0

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

func (*OpenTracingAppLayer) CreateUserWithToken added in v5.22.0

func (a *OpenTracingAppLayer) CreateUserWithToken(user *model.User, token *model.Token) (*model.User, *model.AppError)

func (*OpenTracingAppLayer) CreateVerifyEmailToken added in v5.22.0

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

func (*OpenTracingAppLayer) CreateWebhookPost added in v5.22.0

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

func (*OpenTracingAppLayer) DataRetention added in v5.22.0

func (*OpenTracingAppLayer) DeactivateGuests added in v5.22.0

func (a *OpenTracingAppLayer) DeactivateGuests() *model.AppError

func (*OpenTracingAppLayer) DeactivateMfa added in v5.22.0

func (a *OpenTracingAppLayer) DeactivateMfa(userId string) *model.AppError

func (*OpenTracingAppLayer) DeauthorizeOAuthAppForUser added in v5.22.0

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

func (*OpenTracingAppLayer) DefaultChannelNames added in v5.22.0

func (a *OpenTracingAppLayer) DefaultChannelNames() []string

func (*OpenTracingAppLayer) DeleteAllExpiredPluginKeys added in v5.22.0

func (a *OpenTracingAppLayer) DeleteAllExpiredPluginKeys() *model.AppError

func (*OpenTracingAppLayer) DeleteAllKeysForPlugin added in v5.22.0

func (a *OpenTracingAppLayer) DeleteAllKeysForPlugin(pluginId string) *model.AppError

func (*OpenTracingAppLayer) DeleteBotIconImage added in v5.22.0

func (a *OpenTracingAppLayer) DeleteBotIconImage(botUserId string) *model.AppError

func (*OpenTracingAppLayer) DeleteBrandImage added in v5.22.0

func (a *OpenTracingAppLayer) DeleteBrandImage() *model.AppError

func (*OpenTracingAppLayer) DeleteChannel added in v5.22.0

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

func (*OpenTracingAppLayer) DeleteChannelScheme added in v5.24.0

func (a *OpenTracingAppLayer) DeleteChannelScheme(channel *model.Channel) (*model.Channel, *model.AppError)

func (*OpenTracingAppLayer) DeleteCommand added in v5.22.0

func (a *OpenTracingAppLayer) DeleteCommand(commandId string) *model.AppError

func (*OpenTracingAppLayer) DeleteEmoji added in v5.22.0

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

func (*OpenTracingAppLayer) DeleteEphemeralPost added in v5.22.0

func (a *OpenTracingAppLayer) DeleteEphemeralPost(userId string, postId string)

func (*OpenTracingAppLayer) DeleteFlaggedPosts added in v5.22.0

func (a *OpenTracingAppLayer) DeleteFlaggedPosts(postId string)

func (*OpenTracingAppLayer) DeleteGroup added in v5.22.0

func (a *OpenTracingAppLayer) DeleteGroup(groupID string) (*model.Group, *model.AppError)

func (*OpenTracingAppLayer) DeleteGroupConstrainedMemberships added in v5.22.0

func (a *OpenTracingAppLayer) DeleteGroupConstrainedMemberships() error

func (*OpenTracingAppLayer) DeleteGroupMember added in v5.22.0

func (a *OpenTracingAppLayer) DeleteGroupMember(groupID string, userID string) (*model.GroupMember, *model.AppError)

func (*OpenTracingAppLayer) DeleteGroupSyncable added in v5.22.0

func (a *OpenTracingAppLayer) DeleteGroupSyncable(groupID string, syncableID string, syncableType model.GroupSyncableType) (*model.GroupSyncable, *model.AppError)

func (*OpenTracingAppLayer) DeleteIncomingWebhook added in v5.22.0

func (a *OpenTracingAppLayer) DeleteIncomingWebhook(hookId string) *model.AppError

func (*OpenTracingAppLayer) DeleteOAuthApp added in v5.22.0

func (a *OpenTracingAppLayer) DeleteOAuthApp(appId string) *model.AppError

func (*OpenTracingAppLayer) DeleteOutgoingWebhook added in v5.22.0

func (a *OpenTracingAppLayer) DeleteOutgoingWebhook(hookId string) *model.AppError

func (*OpenTracingAppLayer) DeletePluginKey added in v5.22.0

func (a *OpenTracingAppLayer) DeletePluginKey(pluginId string, key string) *model.AppError

func (*OpenTracingAppLayer) DeletePost added in v5.22.0

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

func (*OpenTracingAppLayer) DeletePostFiles added in v5.22.0

func (a *OpenTracingAppLayer) DeletePostFiles(post *model.Post)

func (*OpenTracingAppLayer) DeletePreferences added in v5.22.0

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

func (*OpenTracingAppLayer) DeletePublicKey added in v5.22.0

func (a *OpenTracingAppLayer) DeletePublicKey(name string) *model.AppError

func (*OpenTracingAppLayer) DeleteReactionForPost added in v5.22.0

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

func (*OpenTracingAppLayer) DeleteScheme added in v5.22.0

func (a *OpenTracingAppLayer) DeleteScheme(schemeId string) (*model.Scheme, *model.AppError)

func (*OpenTracingAppLayer) DeleteToken added in v5.22.0

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

func (*OpenTracingAppLayer) DemoteUserToGuest added in v5.22.0

func (a *OpenTracingAppLayer) DemoteUserToGuest(user *model.User) *model.AppError

func (*OpenTracingAppLayer) DiagnosticId added in v5.22.0

func (a *OpenTracingAppLayer) DiagnosticId() string

func (*OpenTracingAppLayer) DisableAutoResponder added in v5.22.0

func (a *OpenTracingAppLayer) DisableAutoResponder(userId string, asAdmin bool) *model.AppError

func (*OpenTracingAppLayer) DisablePlugin added in v5.22.0

func (a *OpenTracingAppLayer) DisablePlugin(id string) *model.AppError

func (*OpenTracingAppLayer) DisableUserAccessToken added in v5.22.0

func (a *OpenTracingAppLayer) DisableUserAccessToken(token *model.UserAccessToken) *model.AppError

func (*OpenTracingAppLayer) DoActionRequest added in v5.22.0

func (a *OpenTracingAppLayer) DoActionRequest(rawURL string, body []byte) (*http.Response, *model.AppError)

func (*OpenTracingAppLayer) DoAdvancedPermissionsMigration added in v5.22.0

func (a *OpenTracingAppLayer) DoAdvancedPermissionsMigration()

func (*OpenTracingAppLayer) DoAppMigrations added in v5.22.0

func (a *OpenTracingAppLayer) DoAppMigrations()

func (*OpenTracingAppLayer) DoEmojisPermissionsMigration added in v5.22.0

func (a *OpenTracingAppLayer) DoEmojisPermissionsMigration()

func (*OpenTracingAppLayer) DoGuestRolesCreationMigration added in v5.22.0

func (a *OpenTracingAppLayer) DoGuestRolesCreationMigration()

func (*OpenTracingAppLayer) DoLocalRequest added in v5.22.0

func (a *OpenTracingAppLayer) DoLocalRequest(rawURL string, body []byte) (*http.Response, *model.AppError)

func (*OpenTracingAppLayer) DoLogin added in v5.22.0

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

func (*OpenTracingAppLayer) DoPermissionsMigrations added in v5.22.0

func (a *OpenTracingAppLayer) DoPermissionsMigrations() error

func (*OpenTracingAppLayer) DoPostAction added in v5.22.0

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

func (*OpenTracingAppLayer) DoPostActionWithCookie added in v5.22.0

func (a *OpenTracingAppLayer) DoPostActionWithCookie(postId string, actionId string, userId string, selectedOption string, cookie *model.PostActionCookie) (string, *model.AppError)

func (*OpenTracingAppLayer) DoUploadFile added in v5.22.0

func (a *OpenTracingAppLayer) DoUploadFile(now time.Time, rawTeamId string, rawChannelId string, rawUserId string, rawFilename string, data []byte) (*model.FileInfo, *model.AppError)

func (*OpenTracingAppLayer) DoUploadFileExpectModification added in v5.22.0

func (a *OpenTracingAppLayer) DoUploadFileExpectModification(now time.Time, rawTeamId string, rawChannelId string, rawUserId string, rawFilename string, data []byte) (*model.FileInfo, []byte, *model.AppError)

func (*OpenTracingAppLayer) DoubleCheckPassword added in v5.22.0

func (a *OpenTracingAppLayer) DoubleCheckPassword(user *model.User, password string) *model.AppError

func (*OpenTracingAppLayer) DownloadFromURL added in v5.22.0

func (a *OpenTracingAppLayer) DownloadFromURL(downloadURL string) ([]byte, error)

func (*OpenTracingAppLayer) EnablePlugin added in v5.22.0

func (a *OpenTracingAppLayer) EnablePlugin(id string) *model.AppError

func (*OpenTracingAppLayer) EnableUserAccessToken added in v5.22.0

func (a *OpenTracingAppLayer) EnableUserAccessToken(token *model.UserAccessToken) *model.AppError

func (*OpenTracingAppLayer) EnvironmentConfig added in v5.22.0

func (a *OpenTracingAppLayer) EnvironmentConfig() map[string]interface{}

func (*OpenTracingAppLayer) ExecuteCommand added in v5.22.0

func (*OpenTracingAppLayer) ExportPermissions added in v5.22.0

func (a *OpenTracingAppLayer) ExportPermissions(w io.Writer) error

func (*OpenTracingAppLayer) ExtendSessionExpiryIfNeeded added in v5.24.0

func (a *OpenTracingAppLayer) ExtendSessionExpiryIfNeeded(session *model.Session) bool

func (*OpenTracingAppLayer) FetchSamlMetadataFromIdp added in v5.22.0

func (a *OpenTracingAppLayer) FetchSamlMetadataFromIdp(url string) ([]byte, *model.AppError)

func (*OpenTracingAppLayer) FileBackend added in v5.22.0

func (*OpenTracingAppLayer) FileExists added in v5.22.0

func (a *OpenTracingAppLayer) FileExists(path string) (bool, *model.AppError)

func (*OpenTracingAppLayer) FileReader added in v5.22.0

func (*OpenTracingAppLayer) FillInChannelProps added in v5.22.0

func (a *OpenTracingAppLayer) FillInChannelProps(channel *model.Channel) *model.AppError

func (*OpenTracingAppLayer) FillInChannelsProps added in v5.22.0

func (a *OpenTracingAppLayer) FillInChannelsProps(channelList *model.ChannelList) *model.AppError

func (*OpenTracingAppLayer) FillInPostProps added in v5.22.0

func (a *OpenTracingAppLayer) FillInPostProps(post *model.Post, channel *model.Channel) *model.AppError

func (*OpenTracingAppLayer) FilterNonGroupChannelMembers added in v5.22.0

func (a *OpenTracingAppLayer) FilterNonGroupChannelMembers(userIds []string, channel *model.Channel) ([]string, error)

func (*OpenTracingAppLayer) FilterNonGroupTeamMembers added in v5.22.0

func (a *OpenTracingAppLayer) FilterNonGroupTeamMembers(userIds []string, team *model.Team) ([]string, error)

func (*OpenTracingAppLayer) FilterUsersByVisible added in v5.23.0

func (a *OpenTracingAppLayer) FilterUsersByVisible(viewer *model.User, otherUsers []*model.User) ([]*model.User, *model.AppError)

func (*OpenTracingAppLayer) FindTeamByName added in v5.22.0

func (a *OpenTracingAppLayer) FindTeamByName(name string) bool

func (*OpenTracingAppLayer) GenerateMfaSecret added in v5.22.0

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

func (*OpenTracingAppLayer) GetActivePluginManifests added in v5.22.0

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

func (*OpenTracingAppLayer) GetAllChannels added in v5.22.0

func (a *OpenTracingAppLayer) GetAllChannels(page int, perPage int, opts model.ChannelSearchOpts) (*model.ChannelListWithTeamData, *model.AppError)

func (*OpenTracingAppLayer) GetAllChannelsCount added in v5.22.0

func (a *OpenTracingAppLayer) GetAllChannelsCount(opts model.ChannelSearchOpts) (int64, *model.AppError)

func (*OpenTracingAppLayer) GetAllLdapGroupsPage added in v5.22.0

func (a *OpenTracingAppLayer) GetAllLdapGroupsPage(page int, perPage int, opts model.LdapGroupSearchOpts) ([]*model.Group, int, *model.AppError)

func (*OpenTracingAppLayer) GetAllPrivateTeams added in v5.22.0

func (a *OpenTracingAppLayer) GetAllPrivateTeams() ([]*model.Team, *model.AppError)

func (*OpenTracingAppLayer) GetAllPrivateTeamsPage added in v5.22.0

func (a *OpenTracingAppLayer) GetAllPrivateTeamsPage(offset int, limit int) ([]*model.Team, *model.AppError)

func (*OpenTracingAppLayer) GetAllPrivateTeamsPageWithCount added in v5.22.0

func (a *OpenTracingAppLayer) GetAllPrivateTeamsPageWithCount(offset int, limit int) (*model.TeamsWithCount, *model.AppError)

func (*OpenTracingAppLayer) GetAllPublicTeams added in v5.22.0

func (a *OpenTracingAppLayer) GetAllPublicTeams() ([]*model.Team, *model.AppError)

func (*OpenTracingAppLayer) GetAllPublicTeamsPage added in v5.22.0

func (a *OpenTracingAppLayer) GetAllPublicTeamsPage(offset int, limit int) ([]*model.Team, *model.AppError)

func (*OpenTracingAppLayer) GetAllPublicTeamsPageWithCount added in v5.22.0

func (a *OpenTracingAppLayer) GetAllPublicTeamsPageWithCount(offset int, limit int) (*model.TeamsWithCount, *model.AppError)

func (*OpenTracingAppLayer) GetAllRoles added in v5.22.0

func (a *OpenTracingAppLayer) GetAllRoles() ([]*model.Role, *model.AppError)

func (*OpenTracingAppLayer) GetAllStatuses added in v5.22.0

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

func (*OpenTracingAppLayer) GetAllTeams added in v5.22.0

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

func (*OpenTracingAppLayer) GetAllTeamsPage added in v5.22.0

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

func (*OpenTracingAppLayer) GetAllTeamsPageWithCount added in v5.22.0

func (a *OpenTracingAppLayer) GetAllTeamsPageWithCount(offset int, limit int) (*model.TeamsWithCount, *model.AppError)

func (*OpenTracingAppLayer) GetAnalytics added in v5.22.0

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

func (*OpenTracingAppLayer) GetAudits added in v5.22.0

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

func (*OpenTracingAppLayer) GetAuditsPage added in v5.22.0

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

func (*OpenTracingAppLayer) GetAuthorizationCode added in v5.22.0

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

func (*OpenTracingAppLayer) GetAuthorizedAppsForUser added in v5.22.0

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

func (*OpenTracingAppLayer) GetBot added in v5.22.0

func (a *OpenTracingAppLayer) GetBot(botUserId string, includeDeleted bool) (*model.Bot, *model.AppError)

func (*OpenTracingAppLayer) GetBotIconImage added in v5.22.0

func (a *OpenTracingAppLayer) GetBotIconImage(botUserId string) ([]byte, *model.AppError)

func (*OpenTracingAppLayer) GetBots added in v5.22.0

func (*OpenTracingAppLayer) GetBrandImage added in v5.22.0

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

func (*OpenTracingAppLayer) GetBulkReactionsForPosts added in v5.22.0

func (a *OpenTracingAppLayer) GetBulkReactionsForPosts(postIds []string) (map[string][]*model.Reaction, *model.AppError)

func (*OpenTracingAppLayer) GetChannel added in v5.22.0

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

func (*OpenTracingAppLayer) GetChannelByName added in v5.22.0

func (a *OpenTracingAppLayer) GetChannelByName(channelName string, teamId string, includeDeleted bool) (*model.Channel, *model.AppError)

func (*OpenTracingAppLayer) GetChannelByNameForTeamName added in v5.22.0

func (a *OpenTracingAppLayer) GetChannelByNameForTeamName(channelName string, teamName string, includeDeleted bool) (*model.Channel, *model.AppError)

func (*OpenTracingAppLayer) GetChannelCounts added in v5.22.0

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

func (*OpenTracingAppLayer) GetChannelGroupUsers added in v5.22.0

func (a *OpenTracingAppLayer) GetChannelGroupUsers(channelID string) ([]*model.User, *model.AppError)

func (*OpenTracingAppLayer) GetChannelGuestCount added in v5.22.0

func (a *OpenTracingAppLayer) GetChannelGuestCount(channelId string) (int64, *model.AppError)

func (*OpenTracingAppLayer) GetChannelMember added in v5.22.0

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

func (*OpenTracingAppLayer) GetChannelMemberCount added in v5.22.0

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

func (*OpenTracingAppLayer) GetChannelMembersByIds added in v5.22.0

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

func (*OpenTracingAppLayer) GetChannelMembersForUser added in v5.22.0

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

func (*OpenTracingAppLayer) GetChannelMembersForUserWithPagination added in v5.22.0

func (a *OpenTracingAppLayer) GetChannelMembersForUserWithPagination(teamId string, userId string, page int, perPage int) ([]*model.ChannelMember, *model.AppError)

func (*OpenTracingAppLayer) GetChannelMembersPage added in v5.22.0

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

func (*OpenTracingAppLayer) GetChannelMembersTimezones added in v5.22.0

func (a *OpenTracingAppLayer) GetChannelMembersTimezones(channelId string) ([]string, *model.AppError)

func (*OpenTracingAppLayer) GetChannelModerationsForChannel added in v5.22.0

func (a *OpenTracingAppLayer) GetChannelModerationsForChannel(channel *model.Channel) ([]*model.ChannelModeration, *model.AppError)

func (*OpenTracingAppLayer) GetChannelPinnedPostCount added in v5.22.0

func (a *OpenTracingAppLayer) GetChannelPinnedPostCount(channelId string) (int64, *model.AppError)

func (*OpenTracingAppLayer) GetChannelUnread added in v5.22.0

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

func (*OpenTracingAppLayer) GetChannelsByNames added in v5.22.0

func (a *OpenTracingAppLayer) GetChannelsByNames(channelNames []string, teamId string) ([]*model.Channel, *model.AppError)

func (*OpenTracingAppLayer) GetChannelsForScheme added in v5.22.0

func (a *OpenTracingAppLayer) GetChannelsForScheme(scheme *model.Scheme, offset int, limit int) (model.ChannelList, *model.AppError)

func (*OpenTracingAppLayer) GetChannelsForSchemePage added in v5.22.0

func (a *OpenTracingAppLayer) GetChannelsForSchemePage(scheme *model.Scheme, page int, perPage int) (model.ChannelList, *model.AppError)

func (*OpenTracingAppLayer) GetChannelsForUser added in v5.22.0

func (a *OpenTracingAppLayer) GetChannelsForUser(teamId string, userId string, includeDeleted bool) (*model.ChannelList, *model.AppError)

func (*OpenTracingAppLayer) GetChannelsUserNotIn added in v5.22.0

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

func (*OpenTracingAppLayer) GetClusterId added in v5.22.0

func (a *OpenTracingAppLayer) GetClusterId() string

func (*OpenTracingAppLayer) GetClusterPluginStatuses added in v5.22.0

func (a *OpenTracingAppLayer) GetClusterPluginStatuses() (model.PluginStatuses, *model.AppError)

func (*OpenTracingAppLayer) GetClusterStatus added in v5.22.0

func (a *OpenTracingAppLayer) GetClusterStatus() []*model.ClusterInfo

func (*OpenTracingAppLayer) GetCommand added in v5.22.0

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

func (*OpenTracingAppLayer) GetComplianceFile added in v5.22.0

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

func (*OpenTracingAppLayer) GetComplianceReport added in v5.22.0

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

func (*OpenTracingAppLayer) GetComplianceReports added in v5.22.0

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

func (*OpenTracingAppLayer) GetConfigFile added in v5.22.0

func (a *OpenTracingAppLayer) GetConfigFile(name string) ([]byte, error)

func (*OpenTracingAppLayer) GetCookieDomain added in v5.22.0

func (a *OpenTracingAppLayer) GetCookieDomain() string

func (*OpenTracingAppLayer) GetDataRetentionPolicy added in v5.22.0

func (a *OpenTracingAppLayer) GetDataRetentionPolicy() (*model.DataRetentionPolicy, *model.AppError)

func (*OpenTracingAppLayer) GetDefaultProfileImage added in v5.22.0

func (a *OpenTracingAppLayer) GetDefaultProfileImage(user *model.User) ([]byte, *model.AppError)

func (*OpenTracingAppLayer) GetDeletedChannels added in v5.22.0

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

func (*OpenTracingAppLayer) GetEmoji added in v5.22.0

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

func (*OpenTracingAppLayer) GetEmojiByName added in v5.22.0

func (a *OpenTracingAppLayer) GetEmojiByName(emojiName string) (*model.Emoji, *model.AppError)

func (*OpenTracingAppLayer) GetEmojiImage added in v5.22.0

func (a *OpenTracingAppLayer) GetEmojiImage(emojiId string) ([]byte, string, *model.AppError)

func (*OpenTracingAppLayer) GetEmojiList added in v5.22.0

func (a *OpenTracingAppLayer) GetEmojiList(page int, perPage int, sort string) ([]*model.Emoji, *model.AppError)

func (*OpenTracingAppLayer) GetEmojiStaticUrl added in v5.22.0

func (a *OpenTracingAppLayer) GetEmojiStaticUrl(emojiName string) (string, *model.AppError)

func (*OpenTracingAppLayer) GetEnvironmentConfig added in v5.22.0

func (a *OpenTracingAppLayer) GetEnvironmentConfig() map[string]interface{}

func (*OpenTracingAppLayer) GetFile added in v5.22.0

func (a *OpenTracingAppLayer) GetFile(fileId string) ([]byte, *model.AppError)

func (*OpenTracingAppLayer) GetFileInfo added in v5.22.0

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

func (*OpenTracingAppLayer) GetFileInfos added in v5.22.0

func (a *OpenTracingAppLayer) GetFileInfos(page int, perPage int, opt *model.GetFileInfosOptions) ([]*model.FileInfo, *model.AppError)

func (*OpenTracingAppLayer) GetFileInfosForPost added in v5.22.0

func (a *OpenTracingAppLayer) GetFileInfosForPost(postId string, fromMaster bool) ([]*model.FileInfo, *model.AppError)

func (*OpenTracingAppLayer) GetFileInfosForPostWithMigration added in v5.22.0

func (a *OpenTracingAppLayer) GetFileInfosForPostWithMigration(postId string) ([]*model.FileInfo, *model.AppError)

func (*OpenTracingAppLayer) GetFlaggedPosts added in v5.22.0

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

func (*OpenTracingAppLayer) GetFlaggedPostsForChannel added in v5.22.0

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

func (*OpenTracingAppLayer) GetFlaggedPostsForTeam added in v5.22.0

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

func (*OpenTracingAppLayer) GetGroup added in v5.22.0

func (a *OpenTracingAppLayer) GetGroup(id string) (*model.Group, *model.AppError)

func (*OpenTracingAppLayer) GetGroupByName added in v5.22.0

func (a *OpenTracingAppLayer) GetGroupByName(name string, opts model.GroupSearchOpts) (*model.Group, *model.AppError)

func (*OpenTracingAppLayer) GetGroupByRemoteID added in v5.22.0

func (a *OpenTracingAppLayer) GetGroupByRemoteID(remoteID string, groupSource model.GroupSource) (*model.Group, *model.AppError)

func (*OpenTracingAppLayer) GetGroupChannel added in v5.22.0

func (a *OpenTracingAppLayer) GetGroupChannel(userIds []string) (*model.Channel, *model.AppError)

func (*OpenTracingAppLayer) GetGroupMemberUsers added in v5.22.0

func (a *OpenTracingAppLayer) GetGroupMemberUsers(groupID string) ([]*model.User, *model.AppError)

func (*OpenTracingAppLayer) GetGroupMemberUsersPage added in v5.22.0

func (a *OpenTracingAppLayer) GetGroupMemberUsersPage(groupID string, page int, perPage int) ([]*model.User, int, *model.AppError)

func (*OpenTracingAppLayer) GetGroupSyncable added in v5.22.0

func (a *OpenTracingAppLayer) GetGroupSyncable(groupID string, syncableID string, syncableType model.GroupSyncableType) (*model.GroupSyncable, *model.AppError)

func (*OpenTracingAppLayer) GetGroupSyncables added in v5.22.0

func (a *OpenTracingAppLayer) GetGroupSyncables(groupID string, syncableType model.GroupSyncableType) ([]*model.GroupSyncable, *model.AppError)

func (*OpenTracingAppLayer) GetGroups added in v5.22.0

func (a *OpenTracingAppLayer) GetGroups(page int, perPage int, opts model.GroupSearchOpts) ([]*model.Group, *model.AppError)

func (*OpenTracingAppLayer) GetGroupsAssociatedToChannelsByTeam added in v5.24.0

func (a *OpenTracingAppLayer) GetGroupsAssociatedToChannelsByTeam(teamId string, opts model.GroupSearchOpts) (map[string][]*model.GroupWithSchemeAdmin, *model.AppError)

func (*OpenTracingAppLayer) GetGroupsByChannel added in v5.22.0

func (a *OpenTracingAppLayer) GetGroupsByChannel(channelId string, opts model.GroupSearchOpts) ([]*model.GroupWithSchemeAdmin, int, *model.AppError)

func (*OpenTracingAppLayer) GetGroupsByIDs added in v5.22.0

func (a *OpenTracingAppLayer) GetGroupsByIDs(groupIDs []string) ([]*model.Group, *model.AppError)

func (*OpenTracingAppLayer) GetGroupsBySource added in v5.22.0

func (a *OpenTracingAppLayer) GetGroupsBySource(groupSource model.GroupSource) ([]*model.Group, *model.AppError)

func (*OpenTracingAppLayer) GetGroupsByTeam added in v5.22.0

func (a *OpenTracingAppLayer) GetGroupsByTeam(teamId string, opts model.GroupSearchOpts) ([]*model.GroupWithSchemeAdmin, int, *model.AppError)

func (*OpenTracingAppLayer) GetGroupsByUserId added in v5.22.0

func (a *OpenTracingAppLayer) GetGroupsByUserId(userId string) ([]*model.Group, *model.AppError)

func (*OpenTracingAppLayer) GetHubForUserId added in v5.22.0

func (a *OpenTracingAppLayer) GetHubForUserId(userId string) *Hub

func (*OpenTracingAppLayer) GetIncomingWebhook added in v5.22.0

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

func (*OpenTracingAppLayer) GetIncomingWebhooksForTeamPage added in v5.22.0

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

func (*OpenTracingAppLayer) GetIncomingWebhooksForTeamPageByUser added in v5.22.0

func (a *OpenTracingAppLayer) GetIncomingWebhooksForTeamPageByUser(teamId string, userId string, page int, perPage int) ([]*model.IncomingWebhook, *model.AppError)

func (*OpenTracingAppLayer) GetIncomingWebhooksPage added in v5.22.0

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

func (*OpenTracingAppLayer) GetIncomingWebhooksPageByUser added in v5.22.0

func (a *OpenTracingAppLayer) GetIncomingWebhooksPageByUser(userId string, page int, perPage int) ([]*model.IncomingWebhook, *model.AppError)

func (*OpenTracingAppLayer) GetJob added in v5.22.0

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

func (*OpenTracingAppLayer) GetJobs added in v5.22.0

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

func (*OpenTracingAppLayer) GetJobsByType added in v5.22.0

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

func (*OpenTracingAppLayer) GetJobsByTypePage added in v5.22.0

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

func (*OpenTracingAppLayer) GetJobsPage added in v5.22.0

func (a *OpenTracingAppLayer) GetJobsPage(page int, perPage int) ([]*model.Job, *model.AppError)

func (*OpenTracingAppLayer) GetKnownUsers added in v5.23.0

func (a *OpenTracingAppLayer) GetKnownUsers(userID string) ([]string, *model.AppError)

func (*OpenTracingAppLayer) GetLatestTermsOfService added in v5.22.0

func (a *OpenTracingAppLayer) GetLatestTermsOfService() (*model.TermsOfService, *model.AppError)

func (*OpenTracingAppLayer) GetLdapGroup added in v5.22.0

func (a *OpenTracingAppLayer) GetLdapGroup(ldapGroupID string) (*model.Group, *model.AppError)

func (*OpenTracingAppLayer) GetLogs added in v5.22.0

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

func (*OpenTracingAppLayer) GetLogsSkipSend added in v5.22.0

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

func (*OpenTracingAppLayer) GetMarketplacePlugins added in v5.22.0

func (a *OpenTracingAppLayer) GetMarketplacePlugins(filter *model.MarketplacePluginFilter) ([]*model.MarketplacePlugin, *model.AppError)

func (*OpenTracingAppLayer) GetMessageForNotification added in v5.22.0

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

func (*OpenTracingAppLayer) GetMultipleEmojiByName added in v5.22.0

func (a *OpenTracingAppLayer) GetMultipleEmojiByName(names []string) ([]*model.Emoji, *model.AppError)

func (*OpenTracingAppLayer) GetNewUsersForTeamPage added in v5.22.0

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

func (*OpenTracingAppLayer) GetNextPostIdFromPostList added in v5.22.0

func (a *OpenTracingAppLayer) GetNextPostIdFromPostList(postList *model.PostList) string

func (*OpenTracingAppLayer) GetNotificationNameFormat added in v5.22.0

func (a *OpenTracingAppLayer) GetNotificationNameFormat(user *model.User) string

func (*OpenTracingAppLayer) GetNumberOfChannelsOnTeam added in v5.22.0

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

func (*OpenTracingAppLayer) GetOAuthAccessTokenForCodeFlow added in v5.22.0

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

func (*OpenTracingAppLayer) GetOAuthAccessTokenForImplicitFlow added in v5.22.0

func (a *OpenTracingAppLayer) GetOAuthAccessTokenForImplicitFlow(userId string, authRequest *model.AuthorizeRequest) (*model.Session, *model.AppError)

func (*OpenTracingAppLayer) GetOAuthApp added in v5.22.0

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

func (*OpenTracingAppLayer) GetOAuthApps added in v5.22.0

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

func (*OpenTracingAppLayer) GetOAuthAppsByCreator added in v5.22.0

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

func (*OpenTracingAppLayer) GetOAuthCodeRedirect added in v5.22.0

func (a *OpenTracingAppLayer) GetOAuthCodeRedirect(userId string, authRequest *model.AuthorizeRequest) (string, *model.AppError)

func (*OpenTracingAppLayer) GetOAuthImplicitRedirect added in v5.22.0

func (a *OpenTracingAppLayer) GetOAuthImplicitRedirect(userId string, authRequest *model.AuthorizeRequest) (string, *model.AppError)

func (*OpenTracingAppLayer) GetOAuthLoginEndpoint added in v5.22.0

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

func (*OpenTracingAppLayer) GetOAuthSignupEndpoint added in v5.22.0

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

func (*OpenTracingAppLayer) GetOAuthStateToken added in v5.22.0

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

func (*OpenTracingAppLayer) GetOpenGraphMetadata added in v5.22.0

func (a *OpenTracingAppLayer) GetOpenGraphMetadata(requestURL string) *opengraph.OpenGraph

func (*OpenTracingAppLayer) GetOrCreateDirectChannel added in v5.22.0

func (a *OpenTracingAppLayer) GetOrCreateDirectChannel(userId string, otherUserId string) (*model.Channel, *model.AppError)

func (*OpenTracingAppLayer) GetOutgoingWebhook added in v5.22.0

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

func (*OpenTracingAppLayer) GetOutgoingWebhooksForChannelPageByUser added in v5.22.0

func (a *OpenTracingAppLayer) GetOutgoingWebhooksForChannelPageByUser(channelId string, userId string, page int, perPage int) ([]*model.OutgoingWebhook, *model.AppError)

func (*OpenTracingAppLayer) GetOutgoingWebhooksForTeamPage added in v5.22.0

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

func (*OpenTracingAppLayer) GetOutgoingWebhooksForTeamPageByUser added in v5.22.0

func (a *OpenTracingAppLayer) GetOutgoingWebhooksForTeamPageByUser(teamId string, userId string, page int, perPage int) ([]*model.OutgoingWebhook, *model.AppError)

func (*OpenTracingAppLayer) GetOutgoingWebhooksPage added in v5.22.0

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

func (*OpenTracingAppLayer) GetOutgoingWebhooksPageByUser added in v5.22.0

func (a *OpenTracingAppLayer) GetOutgoingWebhooksPageByUser(userId string, page int, perPage int) ([]*model.OutgoingWebhook, *model.AppError)

func (*OpenTracingAppLayer) GetPasswordRecoveryToken added in v5.22.0

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

func (*OpenTracingAppLayer) GetPermalinkPost added in v5.22.0

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

func (*OpenTracingAppLayer) GetPinnedPosts added in v5.22.0

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

func (*OpenTracingAppLayer) GetPluginKey added in v5.22.0

func (a *OpenTracingAppLayer) GetPluginKey(pluginId string, key string) ([]byte, *model.AppError)

func (*OpenTracingAppLayer) GetPluginPublicKeyFiles added in v5.22.0

func (a *OpenTracingAppLayer) GetPluginPublicKeyFiles() ([]string, *model.AppError)

func (*OpenTracingAppLayer) GetPluginStatus added in v5.22.0

func (a *OpenTracingAppLayer) GetPluginStatus(id string) (*model.PluginStatus, *model.AppError)

func (*OpenTracingAppLayer) GetPluginStatuses added in v5.22.0

func (a *OpenTracingAppLayer) GetPluginStatuses() (model.PluginStatuses, *model.AppError)

func (*OpenTracingAppLayer) GetPlugins added in v5.22.0

func (*OpenTracingAppLayer) GetPluginsEnvironment added in v5.22.0

func (a *OpenTracingAppLayer) GetPluginsEnvironment() *plugin.Environment

func (*OpenTracingAppLayer) GetPostAfterTime added in v5.22.0

func (a *OpenTracingAppLayer) GetPostAfterTime(channelId string, time int64) (*model.Post, *model.AppError)

func (*OpenTracingAppLayer) GetPostIdAfterTime added in v5.22.0

func (a *OpenTracingAppLayer) GetPostIdAfterTime(channelId string, time int64) (string, *model.AppError)

func (*OpenTracingAppLayer) GetPostIdBeforeTime added in v5.22.0

func (a *OpenTracingAppLayer) GetPostIdBeforeTime(channelId string, time int64) (string, *model.AppError)

func (*OpenTracingAppLayer) GetPostThread added in v5.22.0

func (a *OpenTracingAppLayer) GetPostThread(postId string, skipFetchThreads bool) (*model.PostList, *model.AppError)

func (*OpenTracingAppLayer) GetPosts added in v5.22.0

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

func (*OpenTracingAppLayer) GetPostsAfterPost added in v5.22.0

func (a *OpenTracingAppLayer) GetPostsAfterPost(options model.GetPostsOptions) (*model.PostList, *model.AppError)

func (*OpenTracingAppLayer) GetPostsAroundPost added in v5.22.0

func (a *OpenTracingAppLayer) GetPostsAroundPost(before bool, options model.GetPostsOptions) (*model.PostList, *model.AppError)

func (*OpenTracingAppLayer) GetPostsBeforePost added in v5.22.0

func (a *OpenTracingAppLayer) GetPostsBeforePost(options model.GetPostsOptions) (*model.PostList, *model.AppError)

func (*OpenTracingAppLayer) GetPostsEtag added in v5.22.0

func (a *OpenTracingAppLayer) GetPostsEtag(channelId string) string

func (*OpenTracingAppLayer) GetPostsForChannelAroundLastUnread added in v5.22.0

func (a *OpenTracingAppLayer) GetPostsForChannelAroundLastUnread(channelId string, userId string, limitBefore int, limitAfter int, skipFetchThreads bool) (*model.PostList, *model.AppError)

func (*OpenTracingAppLayer) GetPostsPage added in v5.22.0

func (a *OpenTracingAppLayer) GetPostsPage(options model.GetPostsOptions) (*model.PostList, *model.AppError)

func (*OpenTracingAppLayer) GetPostsSince added in v5.22.0

func (*OpenTracingAppLayer) GetPreferenceByCategoryAndNameForUser added in v5.22.0

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

func (*OpenTracingAppLayer) GetPreferenceByCategoryForUser added in v5.22.0

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

func (*OpenTracingAppLayer) GetPreferencesForUser added in v5.22.0

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

func (*OpenTracingAppLayer) GetPrevPostIdFromPostList added in v5.22.0

func (a *OpenTracingAppLayer) GetPrevPostIdFromPostList(postList *model.PostList) string

func (*OpenTracingAppLayer) GetProfileImage added in v5.22.0

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

func (*OpenTracingAppLayer) GetPublicChannelsByIdsForTeam added in v5.22.0

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

func (*OpenTracingAppLayer) GetPublicChannelsForTeam added in v5.22.0

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

func (*OpenTracingAppLayer) GetPublicKey added in v5.22.0

func (a *OpenTracingAppLayer) GetPublicKey(name string) ([]byte, *model.AppError)

func (*OpenTracingAppLayer) GetReactionsForPost added in v5.22.0

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

func (*OpenTracingAppLayer) GetRecentlyActiveUsersForTeam added in v5.22.0

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

func (*OpenTracingAppLayer) GetRecentlyActiveUsersForTeamPage added in v5.22.0

func (a *OpenTracingAppLayer) GetRecentlyActiveUsersForTeamPage(teamId string, page int, perPage int, asAdmin bool, viewRestrictions *model.ViewUsersRestrictions) ([]*model.User, *model.AppError)

func (*OpenTracingAppLayer) GetRole added in v5.22.0

func (a *OpenTracingAppLayer) GetRole(id string) (*model.Role, *model.AppError)

func (*OpenTracingAppLayer) GetRoleByName added in v5.22.0

func (a *OpenTracingAppLayer) GetRoleByName(name string) (*model.Role, *model.AppError)

func (*OpenTracingAppLayer) GetRolesByNames added in v5.22.0

func (a *OpenTracingAppLayer) GetRolesByNames(names []string) ([]*model.Role, *model.AppError)

func (*OpenTracingAppLayer) GetSamlCertificateStatus added in v5.22.0

func (a *OpenTracingAppLayer) GetSamlCertificateStatus() *model.SamlCertificateStatus

func (*OpenTracingAppLayer) GetSamlMetadata added in v5.22.0

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

func (*OpenTracingAppLayer) GetSamlMetadataFromIdp added in v5.22.0

func (a *OpenTracingAppLayer) GetSamlMetadataFromIdp(idpMetadataUrl string) (*model.SamlMetadataResponse, *model.AppError)

func (*OpenTracingAppLayer) GetSanitizeOptions added in v5.22.0

func (a *OpenTracingAppLayer) GetSanitizeOptions(asAdmin bool) map[string]bool

func (*OpenTracingAppLayer) GetSanitizedClientLicense added in v5.22.0

func (a *OpenTracingAppLayer) GetSanitizedClientLicense() map[string]string

func (*OpenTracingAppLayer) GetSanitizedConfig added in v5.22.0

func (a *OpenTracingAppLayer) GetSanitizedConfig() *model.Config

func (*OpenTracingAppLayer) GetScheme added in v5.22.0

func (a *OpenTracingAppLayer) GetScheme(id string) (*model.Scheme, *model.AppError)

func (*OpenTracingAppLayer) GetSchemeByName added in v5.22.0

func (a *OpenTracingAppLayer) GetSchemeByName(name string) (*model.Scheme, *model.AppError)

func (*OpenTracingAppLayer) GetSchemeRolesForChannel added in v5.22.0

func (a *OpenTracingAppLayer) GetSchemeRolesForChannel(channelId string) (guestRoleName string, userRoleName string, adminRoleName string, err *model.AppError)

func (*OpenTracingAppLayer) GetSchemeRolesForTeam added in v5.22.0

func (a *OpenTracingAppLayer) GetSchemeRolesForTeam(teamId string) (string, string, string, *model.AppError)

func (*OpenTracingAppLayer) GetSchemes added in v5.22.0

func (a *OpenTracingAppLayer) GetSchemes(scope string, offset int, limit int) ([]*model.Scheme, *model.AppError)

func (*OpenTracingAppLayer) GetSchemesPage added in v5.22.0

func (a *OpenTracingAppLayer) GetSchemesPage(scope string, page int, perPage int) ([]*model.Scheme, *model.AppError)

func (*OpenTracingAppLayer) GetSession added in v5.22.0

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

func (*OpenTracingAppLayer) GetSessionById added in v5.22.0

func (a *OpenTracingAppLayer) GetSessionById(sessionId string) (*model.Session, *model.AppError)

func (*OpenTracingAppLayer) GetSessionLengthInMillis added in v5.24.0

func (a *OpenTracingAppLayer) GetSessionLengthInMillis(session *model.Session) int64

func (*OpenTracingAppLayer) GetSessions added in v5.22.0

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

func (*OpenTracingAppLayer) GetSinglePost added in v5.22.0

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

func (*OpenTracingAppLayer) GetSiteURL added in v5.22.0

func (a *OpenTracingAppLayer) GetSiteURL() string

func (*OpenTracingAppLayer) GetStatus added in v5.22.0

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

func (*OpenTracingAppLayer) GetStatusFromCache added in v5.22.0

func (a *OpenTracingAppLayer) GetStatusFromCache(userId string) *model.Status

func (*OpenTracingAppLayer) GetStatusesByIds added in v5.22.0

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

func (*OpenTracingAppLayer) GetSuggestions added in v5.24.0

func (a *OpenTracingAppLayer) GetSuggestions(commands []*model.Command, userInput string, roleID string) []model.AutocompleteSuggestion

func (*OpenTracingAppLayer) GetT added in v5.22.0

func (*OpenTracingAppLayer) GetTeam added in v5.22.0

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

func (*OpenTracingAppLayer) GetTeamByInviteId added in v5.22.0

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

func (*OpenTracingAppLayer) GetTeamByName added in v5.22.0

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

func (*OpenTracingAppLayer) GetTeamGroupUsers added in v5.22.0

func (a *OpenTracingAppLayer) GetTeamGroupUsers(teamID string) ([]*model.User, *model.AppError)

func (*OpenTracingAppLayer) GetTeamIcon added in v5.22.0

func (a *OpenTracingAppLayer) GetTeamIcon(team *model.Team) ([]byte, *model.AppError)

func (*OpenTracingAppLayer) GetTeamIdFromQuery added in v5.22.0

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

func (*OpenTracingAppLayer) GetTeamMember added in v5.22.0

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

func (*OpenTracingAppLayer) GetTeamMembers added in v5.22.0

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

func (*OpenTracingAppLayer) GetTeamMembersByIds added in v5.22.0

func (a *OpenTracingAppLayer) GetTeamMembersByIds(teamId string, userIds []string, restrictions *model.ViewUsersRestrictions) ([]*model.TeamMember, *model.AppError)

func (*OpenTracingAppLayer) GetTeamMembersForUser added in v5.22.0

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

func (*OpenTracingAppLayer) GetTeamMembersForUserWithPagination added in v5.22.0

func (a *OpenTracingAppLayer) GetTeamMembersForUserWithPagination(userId string, page int, perPage int) ([]*model.TeamMember, *model.AppError)

func (*OpenTracingAppLayer) GetTeamSchemeChannelRoles added in v5.24.0

func (a *OpenTracingAppLayer) GetTeamSchemeChannelRoles(teamId string) (guestRoleName string, userRoleName string, adminRoleName string, err *model.AppError)

func (*OpenTracingAppLayer) GetTeamStats added in v5.22.0

func (a *OpenTracingAppLayer) GetTeamStats(teamId string, restrictions *model.ViewUsersRestrictions) (*model.TeamStats, *model.AppError)

func (*OpenTracingAppLayer) GetTeamUnread added in v5.22.0

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

func (*OpenTracingAppLayer) GetTeamsForScheme added in v5.22.0

func (a *OpenTracingAppLayer) GetTeamsForScheme(scheme *model.Scheme, offset int, limit int) ([]*model.Team, *model.AppError)

func (*OpenTracingAppLayer) GetTeamsForSchemePage added in v5.22.0

func (a *OpenTracingAppLayer) GetTeamsForSchemePage(scheme *model.Scheme, page int, perPage int) ([]*model.Team, *model.AppError)

func (*OpenTracingAppLayer) GetTeamsForUser added in v5.22.0

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

func (*OpenTracingAppLayer) GetTeamsUnreadForUser added in v5.22.0

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

func (*OpenTracingAppLayer) GetTermsOfService added in v5.22.0

func (a *OpenTracingAppLayer) GetTermsOfService(id string) (*model.TermsOfService, *model.AppError)

func (*OpenTracingAppLayer) GetTotalUsersStats added in v5.22.0

func (a *OpenTracingAppLayer) GetTotalUsersStats(viewRestrictions *model.ViewUsersRestrictions) (*model.UsersStats, *model.AppError)

func (*OpenTracingAppLayer) GetUser added in v5.22.0

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

func (*OpenTracingAppLayer) GetUserAccessToken added in v5.22.0

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

func (*OpenTracingAppLayer) GetUserAccessTokens added in v5.22.0

func (a *OpenTracingAppLayer) GetUserAccessTokens(page int, perPage int) ([]*model.UserAccessToken, *model.AppError)

func (*OpenTracingAppLayer) GetUserAccessTokensForUser added in v5.22.0

func (a *OpenTracingAppLayer) GetUserAccessTokensForUser(userId string, page int, perPage int) ([]*model.UserAccessToken, *model.AppError)

func (*OpenTracingAppLayer) GetUserByAuth added in v5.22.0

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

func (*OpenTracingAppLayer) GetUserByEmail added in v5.22.0

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

func (*OpenTracingAppLayer) GetUserByUsername added in v5.22.0

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

func (*OpenTracingAppLayer) GetUserForLogin added in v5.22.0

func (a *OpenTracingAppLayer) GetUserForLogin(id string, loginId string) (*model.User, *model.AppError)

func (*OpenTracingAppLayer) GetUserStatusesByIds added in v5.22.0

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

func (*OpenTracingAppLayer) GetUserTermsOfService added in v5.22.0

func (a *OpenTracingAppLayer) GetUserTermsOfService(userId string) (*model.UserTermsOfService, *model.AppError)

func (*OpenTracingAppLayer) GetUsers added in v5.22.0

func (a *OpenTracingAppLayer) GetUsers(options *model.UserGetOptions) ([]*model.User, *model.AppError)

func (*OpenTracingAppLayer) GetUsersByGroupChannelIds added in v5.22.0

func (a *OpenTracingAppLayer) GetUsersByGroupChannelIds(channelIds []string, asAdmin bool) (map[string][]*model.User, *model.AppError)

func (*OpenTracingAppLayer) GetUsersByIds added in v5.22.0

func (a *OpenTracingAppLayer) GetUsersByIds(userIds []string, options *store.UserGetByIdsOpts) ([]*model.User, *model.AppError)

func (*OpenTracingAppLayer) GetUsersByUsernames added in v5.22.0

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

func (*OpenTracingAppLayer) GetUsersEtag added in v5.22.0

func (a *OpenTracingAppLayer) GetUsersEtag(restrictionsHash string) string

func (*OpenTracingAppLayer) GetUsersInChannel added in v5.22.0

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

func (*OpenTracingAppLayer) GetUsersInChannelByStatus added in v5.22.0

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

func (*OpenTracingAppLayer) GetUsersInChannelMap added in v5.22.0

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

func (*OpenTracingAppLayer) GetUsersInChannelPage added in v5.22.0

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

func (*OpenTracingAppLayer) GetUsersInChannelPageByStatus added in v5.22.0

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

func (*OpenTracingAppLayer) GetUsersInTeam added in v5.22.0

func (a *OpenTracingAppLayer) GetUsersInTeam(options *model.UserGetOptions) ([]*model.User, *model.AppError)

func (*OpenTracingAppLayer) GetUsersInTeamEtag added in v5.22.0

func (a *OpenTracingAppLayer) GetUsersInTeamEtag(teamId string, restrictionsHash string) string

func (*OpenTracingAppLayer) GetUsersInTeamPage added in v5.22.0

func (a *OpenTracingAppLayer) GetUsersInTeamPage(options *model.UserGetOptions, asAdmin bool) ([]*model.User, *model.AppError)

func (*OpenTracingAppLayer) GetUsersNotInChannel added in v5.22.0

func (a *OpenTracingAppLayer) GetUsersNotInChannel(teamId string, channelId string, groupConstrained bool, offset int, limit int, viewRestrictions *model.ViewUsersRestrictions) ([]*model.User, *model.AppError)

func (*OpenTracingAppLayer) GetUsersNotInChannelMap added in v5.22.0

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

func (*OpenTracingAppLayer) GetUsersNotInChannelPage added in v5.22.0

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

func (*OpenTracingAppLayer) GetUsersNotInTeam added in v5.22.0

func (a *OpenTracingAppLayer) GetUsersNotInTeam(teamId string, groupConstrained bool, offset int, limit int, viewRestrictions *model.ViewUsersRestrictions) ([]*model.User, *model.AppError)

func (*OpenTracingAppLayer) GetUsersNotInTeamEtag added in v5.22.0

func (a *OpenTracingAppLayer) GetUsersNotInTeamEtag(teamId string, restrictionsHash string) string

func (*OpenTracingAppLayer) GetUsersNotInTeamPage added in v5.22.0

func (a *OpenTracingAppLayer) GetUsersNotInTeamPage(teamId string, groupConstrained bool, page int, perPage int, asAdmin bool, viewRestrictions *model.ViewUsersRestrictions) ([]*model.User, *model.AppError)

func (*OpenTracingAppLayer) GetUsersPage added in v5.22.0

func (a *OpenTracingAppLayer) GetUsersPage(options *model.UserGetOptions, asAdmin bool) ([]*model.User, *model.AppError)

func (*OpenTracingAppLayer) GetUsersWithoutTeam added in v5.22.0

func (a *OpenTracingAppLayer) GetUsersWithoutTeam(options *model.UserGetOptions) ([]*model.User, *model.AppError)

func (*OpenTracingAppLayer) GetUsersWithoutTeamPage added in v5.22.0

func (a *OpenTracingAppLayer) GetUsersWithoutTeamPage(options *model.UserGetOptions, asAdmin bool) ([]*model.User, *model.AppError)

func (*OpenTracingAppLayer) GetVerifyEmailToken added in v5.22.0

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

func (*OpenTracingAppLayer) GetViewUsersRestrictions added in v5.22.0

func (a *OpenTracingAppLayer) GetViewUsersRestrictions(userId string) (*model.ViewUsersRestrictions, *model.AppError)

func (*OpenTracingAppLayer) HTMLTemplates added in v5.22.0

func (a *OpenTracingAppLayer) HTMLTemplates() *template.Template

func (*OpenTracingAppLayer) HTTPService added in v5.22.0

func (a *OpenTracingAppLayer) HTTPService() httpservice.HTTPService

func (*OpenTracingAppLayer) Handle404 added in v5.22.0

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

func (*OpenTracingAppLayer) HandleCommandResponse added in v5.22.0

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

func (*OpenTracingAppLayer) HandleCommandResponsePost added in v5.22.0

func (a *OpenTracingAppLayer) HandleCommandResponsePost(command *model.Command, args *model.CommandArgs, response *model.CommandResponse, builtIn bool) (*model.Post, *model.AppError)

func (*OpenTracingAppLayer) HandleCommandWebhook added in v5.22.0

func (a *OpenTracingAppLayer) HandleCommandWebhook(hookId string, response *model.CommandResponse) *model.AppError

func (*OpenTracingAppLayer) HandleImages added in v5.22.0

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

func (*OpenTracingAppLayer) HandleIncomingWebhook added in v5.22.0

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

func (*OpenTracingAppLayer) HandleMessageExportConfig added in v5.22.0

func (a *OpenTracingAppLayer) HandleMessageExportConfig(cfg *model.Config, appCfg *model.Config)

func (*OpenTracingAppLayer) HasPermissionTo added in v5.22.0

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

func (*OpenTracingAppLayer) HasPermissionToChannel added in v5.22.0

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

func (*OpenTracingAppLayer) HasPermissionToChannelByPost added in v5.22.0

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

func (*OpenTracingAppLayer) HasPermissionToTeam added in v5.22.0

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

func (*OpenTracingAppLayer) HasPermissionToUser added in v5.22.0

func (a *OpenTracingAppLayer) HasPermissionToUser(askingUserId string, userId string) bool

func (*OpenTracingAppLayer) HubRegister added in v5.22.0

func (a *OpenTracingAppLayer) HubRegister(webConn *WebConn)

func (*OpenTracingAppLayer) HubStart added in v5.22.0

func (a *OpenTracingAppLayer) HubStart()

func (*OpenTracingAppLayer) HubStop added in v5.22.0

func (a *OpenTracingAppLayer) HubStop()

func (*OpenTracingAppLayer) HubUnregister added in v5.22.0

func (a *OpenTracingAppLayer) HubUnregister(webConn *WebConn)

func (*OpenTracingAppLayer) ImageProxy added in v5.22.0

func (a *OpenTracingAppLayer) ImageProxy() *imageproxy.ImageProxy

func (*OpenTracingAppLayer) ImageProxyAdder added in v5.22.0

func (a *OpenTracingAppLayer) ImageProxyAdder() func(string) string

func (*OpenTracingAppLayer) ImageProxyRemover added in v5.22.0

func (a *OpenTracingAppLayer) ImageProxyRemover() (f func(string) string)

func (*OpenTracingAppLayer) ImportPermissions added in v5.22.0

func (a *OpenTracingAppLayer) ImportPermissions(jsonl io.Reader) error

func (*OpenTracingAppLayer) InitPlugins added in v5.22.0

func (a *OpenTracingAppLayer) InitPlugins(pluginDir string, webappPluginDir string)

func (*OpenTracingAppLayer) InitPostMetadata added in v5.22.0

func (a *OpenTracingAppLayer) InitPostMetadata()

func (*OpenTracingAppLayer) InstallMarketplacePlugin added in v5.22.0

func (a *OpenTracingAppLayer) InstallMarketplacePlugin(request *model.InstallMarketplacePluginRequest) (*model.Manifest, *model.AppError)

func (*OpenTracingAppLayer) InstallPlugin added in v5.22.0

func (a *OpenTracingAppLayer) InstallPlugin(pluginFile io.ReadSeeker, replace bool) (*model.Manifest, *model.AppError)

func (*OpenTracingAppLayer) InstallPluginFromData added in v5.22.0

func (a *OpenTracingAppLayer) InstallPluginFromData(data model.PluginEventData)

func (*OpenTracingAppLayer) InstallPluginWithSignature added in v5.22.0

func (a *OpenTracingAppLayer) InstallPluginWithSignature(pluginFile io.ReadSeeker, signature io.ReadSeeker) (*model.Manifest, *model.AppError)

func (*OpenTracingAppLayer) InvalidateAllCaches added in v5.22.0

func (a *OpenTracingAppLayer) InvalidateAllCaches() *model.AppError

func (*OpenTracingAppLayer) InvalidateAllCachesSkipSend added in v5.22.0

func (a *OpenTracingAppLayer) InvalidateAllCachesSkipSend()

func (*OpenTracingAppLayer) InvalidateAllEmailInvites added in v5.22.0

func (a *OpenTracingAppLayer) InvalidateAllEmailInvites() *model.AppError

func (*OpenTracingAppLayer) InvalidateCacheForUser added in v5.24.0

func (a *OpenTracingAppLayer) InvalidateCacheForUser(userId string)

func (*OpenTracingAppLayer) InvalidateWebConnSessionCacheForUser added in v5.22.0

func (a *OpenTracingAppLayer) InvalidateWebConnSessionCacheForUser(userId string)

func (*OpenTracingAppLayer) InviteGuestsToChannels added in v5.22.0

func (a *OpenTracingAppLayer) InviteGuestsToChannels(teamId string, guestsInvite *model.GuestsInvite, senderId string) *model.AppError

func (*OpenTracingAppLayer) InviteGuestsToChannelsGracefully added in v5.22.0

func (a *OpenTracingAppLayer) InviteGuestsToChannelsGracefully(teamId string, guestsInvite *model.GuestsInvite, senderId string) ([]*model.EmailInviteWithError, *model.AppError)

func (*OpenTracingAppLayer) InviteNewUsersToTeam added in v5.22.0

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

func (*OpenTracingAppLayer) InviteNewUsersToTeamGracefully added in v5.22.0

func (a *OpenTracingAppLayer) InviteNewUsersToTeamGracefully(emailList []string, teamId string, senderId string) ([]*model.EmailInviteWithError, *model.AppError)

func (*OpenTracingAppLayer) IpAddress added in v5.22.0

func (a *OpenTracingAppLayer) IpAddress() string

func (*OpenTracingAppLayer) IsFirstUserAccount added in v5.22.0

func (a *OpenTracingAppLayer) IsFirstUserAccount() bool

func (*OpenTracingAppLayer) IsLeader added in v5.22.0

func (a *OpenTracingAppLayer) IsLeader() bool

func (*OpenTracingAppLayer) IsPasswordValid added in v5.22.0

func (a *OpenTracingAppLayer) IsPasswordValid(password string) *model.AppError

func (*OpenTracingAppLayer) IsPhase2MigrationCompleted added in v5.22.0

func (a *OpenTracingAppLayer) IsPhase2MigrationCompleted() *model.AppError

func (*OpenTracingAppLayer) IsUserAway added in v5.22.0

func (a *OpenTracingAppLayer) IsUserAway(lastActivityAt int64) bool

func (*OpenTracingAppLayer) IsUserSignUpAllowed added in v5.22.0

func (a *OpenTracingAppLayer) IsUserSignUpAllowed() *model.AppError

func (*OpenTracingAppLayer) IsUsernameTaken added in v5.22.0

func (a *OpenTracingAppLayer) IsUsernameTaken(name string) bool

func (*OpenTracingAppLayer) JoinChannel added in v5.22.0

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

func (*OpenTracingAppLayer) JoinDefaultChannels added in v5.22.0

func (a *OpenTracingAppLayer) JoinDefaultChannels(teamId string, user *model.User, shouldBeAdmin bool, userRequestorId string) *model.AppError

func (*OpenTracingAppLayer) JoinUserToTeam added in v5.22.0

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

func (*OpenTracingAppLayer) Ldap added in v5.22.0

func (*OpenTracingAppLayer) LeaveChannel added in v5.22.0

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

func (*OpenTracingAppLayer) LeaveTeam added in v5.22.0

func (a *OpenTracingAppLayer) LeaveTeam(team *model.Team, user *model.User, requestorId string) *model.AppError

func (*OpenTracingAppLayer) License added in v5.22.0

func (a *OpenTracingAppLayer) License() *model.License

func (*OpenTracingAppLayer) LimitedClientConfig added in v5.22.0

func (a *OpenTracingAppLayer) LimitedClientConfig() map[string]string

func (*OpenTracingAppLayer) LimitedClientConfigWithComputed added in v5.22.0

func (a *OpenTracingAppLayer) LimitedClientConfigWithComputed() map[string]string

func (*OpenTracingAppLayer) ListAllCommands added in v5.22.0

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

func (*OpenTracingAppLayer) ListAutocompleteCommands added in v5.22.0

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

func (*OpenTracingAppLayer) ListDirectory added in v5.22.0

func (a *OpenTracingAppLayer) ListDirectory(path string) ([]string, *model.AppError)

func (*OpenTracingAppLayer) ListPluginKeys added in v5.22.0

func (a *OpenTracingAppLayer) ListPluginKeys(pluginId string, page int, perPage int) ([]string, *model.AppError)

func (*OpenTracingAppLayer) ListTeamCommands added in v5.22.0

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

func (*OpenTracingAppLayer) LoadLicense added in v5.22.0

func (a *OpenTracingAppLayer) LoadLicense()

func (*OpenTracingAppLayer) Log added in v5.22.0

func (a *OpenTracingAppLayer) Log() *mlog.Logger

func (*OpenTracingAppLayer) LogAuditRec added in v5.24.0

func (a *OpenTracingAppLayer) LogAuditRec(rec *audit.Record, err error)

func (*OpenTracingAppLayer) LogAuditRecWithLevel added in v5.24.0

func (a *OpenTracingAppLayer) LogAuditRecWithLevel(rec *audit.Record, level audit.Level, err error)

func (*OpenTracingAppLayer) LoginByOAuth added in v5.22.0

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

func (*OpenTracingAppLayer) MakeAuditRecord added in v5.24.0

func (a *OpenTracingAppLayer) MakeAuditRecord(event string, initialStatus string) *audit.Record

func (*OpenTracingAppLayer) MakePermissionError added in v5.22.0

func (a *OpenTracingAppLayer) MakePermissionError(permission *model.Permission) *model.AppError

func (*OpenTracingAppLayer) MarkChannelAsUnreadFromPost added in v5.22.0

func (a *OpenTracingAppLayer) MarkChannelAsUnreadFromPost(postID string, userID string) (*model.ChannelUnreadAt, *model.AppError)

func (*OpenTracingAppLayer) MarkChannelsAsViewed added in v5.22.0

func (a *OpenTracingAppLayer) MarkChannelsAsViewed(channelIds []string, userId string, currentSessionId string) (map[string]int64, *model.AppError)

func (*OpenTracingAppLayer) MaxPostSize added in v5.22.0

func (a *OpenTracingAppLayer) MaxPostSize() int

func (*OpenTracingAppLayer) MessageExport added in v5.22.0

func (*OpenTracingAppLayer) Metrics added in v5.22.0

func (*OpenTracingAppLayer) MigrateFilenamesToFileInfos added in v5.22.0

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

func (*OpenTracingAppLayer) MoveChannel added in v5.22.0

func (a *OpenTracingAppLayer) MoveChannel(team *model.Team, channel *model.Channel, user *model.User, removeDeactivatedMembers bool) *model.AppError

func (*OpenTracingAppLayer) MoveCommand added in v5.22.0

func (a *OpenTracingAppLayer) MoveCommand(team *model.Team, command *model.Command) *model.AppError

func (*OpenTracingAppLayer) MoveFile added in v5.22.0

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

func (*OpenTracingAppLayer) NewClusterDiscoveryService added in v5.22.0

func (a *OpenTracingAppLayer) NewClusterDiscoveryService() *ClusterDiscoveryService

func (*OpenTracingAppLayer) NewPluginAPI added in v5.22.0

func (a *OpenTracingAppLayer) NewPluginAPI(manifest *model.Manifest) plugin.API

func (*OpenTracingAppLayer) NewWebConn added in v5.22.0

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

func (*OpenTracingAppLayer) NewWebHub added in v5.22.0

func (a *OpenTracingAppLayer) NewWebHub() *Hub

func (*OpenTracingAppLayer) Notification added in v5.22.0

func (*OpenTracingAppLayer) NotificationsLog added in v5.22.0

func (a *OpenTracingAppLayer) NotificationsLog() *mlog.Logger

func (*OpenTracingAppLayer) OpenInteractiveDialog added in v5.22.0

func (a *OpenTracingAppLayer) OpenInteractiveDialog(request model.OpenDialogRequest) *model.AppError

func (*OpenTracingAppLayer) OriginChecker added in v5.22.0

func (a *OpenTracingAppLayer) OriginChecker() func(*http.Request) bool

func (*OpenTracingAppLayer) OverrideIconURLIfEmoji added in v5.22.0

func (a *OpenTracingAppLayer) OverrideIconURLIfEmoji(post *model.Post)

func (*OpenTracingAppLayer) PatchBot added in v5.22.0

func (a *OpenTracingAppLayer) PatchBot(botUserId string, botPatch *model.BotPatch) (*model.Bot, *model.AppError)

func (*OpenTracingAppLayer) PatchChannel added in v5.22.0

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

func (*OpenTracingAppLayer) PatchChannelModerationsForChannel added in v5.22.0

func (a *OpenTracingAppLayer) PatchChannelModerationsForChannel(channel *model.Channel, channelModerationsPatch []*model.ChannelModerationPatch) ([]*model.ChannelModeration, *model.AppError)

func (*OpenTracingAppLayer) PatchPost added in v5.22.0

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

func (*OpenTracingAppLayer) PatchRole added in v5.22.0

func (a *OpenTracingAppLayer) PatchRole(role *model.Role, patch *model.RolePatch) (*model.Role, *model.AppError)

func (*OpenTracingAppLayer) PatchScheme added in v5.22.0

func (a *OpenTracingAppLayer) PatchScheme(scheme *model.Scheme, patch *model.SchemePatch) (*model.Scheme, *model.AppError)

func (*OpenTracingAppLayer) PatchTeam added in v5.22.0

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

func (*OpenTracingAppLayer) PatchUser added in v5.22.0

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

func (*OpenTracingAppLayer) Path added in v5.22.0

func (a *OpenTracingAppLayer) Path() string

func (*OpenTracingAppLayer) PermanentDeleteAllUsers added in v5.22.0

func (a *OpenTracingAppLayer) PermanentDeleteAllUsers() *model.AppError

func (*OpenTracingAppLayer) PermanentDeleteBot added in v5.22.0

func (a *OpenTracingAppLayer) PermanentDeleteBot(botUserId string) *model.AppError

func (*OpenTracingAppLayer) PermanentDeleteChannel added in v5.22.0

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

func (*OpenTracingAppLayer) PermanentDeleteTeam added in v5.22.0

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

func (*OpenTracingAppLayer) PermanentDeleteTeamId added in v5.22.0

func (a *OpenTracingAppLayer) PermanentDeleteTeamId(teamId string) *model.AppError

func (*OpenTracingAppLayer) PermanentDeleteUser added in v5.22.0

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

func (*OpenTracingAppLayer) PluginCommandsForTeam added in v5.22.0

func (a *OpenTracingAppLayer) PluginCommandsForTeam(teamId string) []*model.Command

func (*OpenTracingAppLayer) PluginContext added in v5.22.0

func (a *OpenTracingAppLayer) PluginContext() *plugin.Context

func (*OpenTracingAppLayer) PostActionCookieSecret added in v5.22.0

func (a *OpenTracingAppLayer) PostActionCookieSecret() []byte

func (*OpenTracingAppLayer) PostAddToChannelMessage added in v5.22.0

func (a *OpenTracingAppLayer) PostAddToChannelMessage(user *model.User, addedUser *model.User, channel *model.Channel, postRootId string) *model.AppError

func (*OpenTracingAppLayer) PostPatchWithProxyRemovedFromImageURLs added in v5.22.0

func (a *OpenTracingAppLayer) PostPatchWithProxyRemovedFromImageURLs(patch *model.PostPatch) *model.PostPatch

func (*OpenTracingAppLayer) PostUpdateChannelDisplayNameMessage added in v5.22.0

func (a *OpenTracingAppLayer) PostUpdateChannelDisplayNameMessage(userId string, channel *model.Channel, oldChannelDisplayName string, newChannelDisplayName string) *model.AppError

func (*OpenTracingAppLayer) PostUpdateChannelHeaderMessage added in v5.22.0

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

func (*OpenTracingAppLayer) PostUpdateChannelPurposeMessage added in v5.22.0

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

func (*OpenTracingAppLayer) PostWithProxyAddedToImageURLs added in v5.22.0

func (a *OpenTracingAppLayer) PostWithProxyAddedToImageURLs(post *model.Post) *model.Post

func (*OpenTracingAppLayer) PostWithProxyRemovedFromImageURLs added in v5.22.0

func (a *OpenTracingAppLayer) PostWithProxyRemovedFromImageURLs(post *model.Post) *model.Post

func (*OpenTracingAppLayer) PreparePostForClient added in v5.22.0

func (a *OpenTracingAppLayer) PreparePostForClient(originalPost *model.Post, isNewPost bool, isEditPost bool) *model.Post

func (*OpenTracingAppLayer) PreparePostListForClient added in v5.22.0

func (a *OpenTracingAppLayer) PreparePostListForClient(originalList *model.PostList) *model.PostList

func (*OpenTracingAppLayer) ProcessSlackAttachments added in v5.22.0

func (a *OpenTracingAppLayer) ProcessSlackAttachments(attachments []*model.SlackAttachment) []*model.SlackAttachment

func (*OpenTracingAppLayer) ProcessSlackText added in v5.22.0

func (a *OpenTracingAppLayer) ProcessSlackText(text string) string

func (*OpenTracingAppLayer) PromoteGuestToUser added in v5.22.0

func (a *OpenTracingAppLayer) PromoteGuestToUser(user *model.User, requestorId string) *model.AppError

func (*OpenTracingAppLayer) Publish added in v5.22.0

func (a *OpenTracingAppLayer) Publish(message *model.WebSocketEvent)

func (*OpenTracingAppLayer) PublishSkipClusterSend added in v5.22.0

func (a *OpenTracingAppLayer) PublishSkipClusterSend(message *model.WebSocketEvent)

func (*OpenTracingAppLayer) PurgeBleveIndexes added in v5.24.0

func (a *OpenTracingAppLayer) PurgeBleveIndexes() *model.AppError

func (*OpenTracingAppLayer) PurgeElasticsearchIndexes added in v5.22.0

func (a *OpenTracingAppLayer) PurgeElasticsearchIndexes() *model.AppError

func (*OpenTracingAppLayer) ReadFile added in v5.22.0

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

func (*OpenTracingAppLayer) RecycleDatabaseConnection added in v5.22.0

func (a *OpenTracingAppLayer) RecycleDatabaseConnection()

func (*OpenTracingAppLayer) RegenCommandToken added in v5.22.0

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

func (*OpenTracingAppLayer) RegenOutgoingWebhookToken added in v5.22.0

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

func (*OpenTracingAppLayer) RegenerateOAuthAppSecret added in v5.22.0

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

func (*OpenTracingAppLayer) RegenerateTeamInviteId added in v5.22.0

func (a *OpenTracingAppLayer) RegenerateTeamInviteId(teamId string) (*model.Team, *model.AppError)

func (*OpenTracingAppLayer) RegisterPluginCommand added in v5.22.0

func (a *OpenTracingAppLayer) RegisterPluginCommand(pluginId string, command *model.Command) error

func (*OpenTracingAppLayer) ReloadConfig added in v5.22.0

func (a *OpenTracingAppLayer) ReloadConfig() error

func (*OpenTracingAppLayer) RemoveConfigListener added in v5.22.0

func (a *OpenTracingAppLayer) RemoveConfigListener(id string)

func (*OpenTracingAppLayer) RemoveFile added in v5.22.0

func (a *OpenTracingAppLayer) RemoveFile(path string) *model.AppError

func (*OpenTracingAppLayer) RemoveLicense added in v5.22.0

func (a *OpenTracingAppLayer) RemoveLicense() *model.AppError

func (*OpenTracingAppLayer) RemoveLicenseListener added in v5.22.0

func (a *OpenTracingAppLayer) RemoveLicenseListener(id string)

func (*OpenTracingAppLayer) RemovePlugin added in v5.22.0

func (a *OpenTracingAppLayer) RemovePlugin(id string) *model.AppError

func (*OpenTracingAppLayer) RemovePluginFromData added in v5.22.0

func (a *OpenTracingAppLayer) RemovePluginFromData(data model.PluginEventData)

func (*OpenTracingAppLayer) RemoveSamlIdpCertificate added in v5.22.0

func (a *OpenTracingAppLayer) RemoveSamlIdpCertificate() *model.AppError

func (*OpenTracingAppLayer) RemoveSamlPrivateCertificate added in v5.22.0

func (a *OpenTracingAppLayer) RemoveSamlPrivateCertificate() *model.AppError

func (*OpenTracingAppLayer) RemoveSamlPublicCertificate added in v5.22.0

func (a *OpenTracingAppLayer) RemoveSamlPublicCertificate() *model.AppError

func (*OpenTracingAppLayer) RemoveTeamIcon added in v5.22.0

func (a *OpenTracingAppLayer) RemoveTeamIcon(teamId string) *model.AppError

func (*OpenTracingAppLayer) RemoveTeamMemberFromTeam added in v5.22.0

func (a *OpenTracingAppLayer) RemoveTeamMemberFromTeam(teamMember *model.TeamMember, requestorId string) *model.AppError

func (*OpenTracingAppLayer) RemoveUserFromChannel added in v5.22.0

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

func (*OpenTracingAppLayer) RemoveUserFromTeam added in v5.22.0

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

func (*OpenTracingAppLayer) RenameChannel added in v5.22.0

func (a *OpenTracingAppLayer) RenameChannel(channel *model.Channel, newChannelName string, newDisplayName string) (*model.Channel, *model.AppError)

func (*OpenTracingAppLayer) RenameTeam added in v5.22.0

func (a *OpenTracingAppLayer) RenameTeam(team *model.Team, newTeamName string, newDisplayName string) (*model.Team, *model.AppError)

func (*OpenTracingAppLayer) RequestId added in v5.22.0

func (a *OpenTracingAppLayer) RequestId() string

func (*OpenTracingAppLayer) RequestTrialLicense added in v5.25.0

func (a *OpenTracingAppLayer) RequestTrialLicense(trialRequest *model.TrialLicenseRequest) *model.AppError

func (*OpenTracingAppLayer) ResetPasswordFromToken added in v5.22.0

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

func (*OpenTracingAppLayer) ResetPermissionsSystem added in v5.22.0

func (a *OpenTracingAppLayer) ResetPermissionsSystem() *model.AppError

func (*OpenTracingAppLayer) RestoreChannel added in v5.22.0

func (a *OpenTracingAppLayer) RestoreChannel(channel *model.Channel, userId string) (*model.Channel, *model.AppError)

func (*OpenTracingAppLayer) RestoreTeam added in v5.22.0

func (a *OpenTracingAppLayer) RestoreTeam(teamId string) *model.AppError

func (*OpenTracingAppLayer) RestrictUsersGetByPermissions added in v5.22.0

func (a *OpenTracingAppLayer) RestrictUsersGetByPermissions(userId string, options *model.UserGetOptions) (*model.UserGetOptions, *model.AppError)

func (*OpenTracingAppLayer) RestrictUsersSearchByPermissions added in v5.22.0

func (a *OpenTracingAppLayer) RestrictUsersSearchByPermissions(userId string, options *model.UserSearchOptions) (*model.UserSearchOptions, *model.AppError)

func (*OpenTracingAppLayer) RevokeAccessToken added in v5.22.0

func (a *OpenTracingAppLayer) RevokeAccessToken(token string) *model.AppError

func (*OpenTracingAppLayer) RevokeAllSessions added in v5.22.0

func (a *OpenTracingAppLayer) RevokeAllSessions(userId string) *model.AppError

func (*OpenTracingAppLayer) RevokeSession added in v5.22.0

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

func (*OpenTracingAppLayer) RevokeSessionById added in v5.22.0

func (a *OpenTracingAppLayer) RevokeSessionById(sessionId string) *model.AppError

func (*OpenTracingAppLayer) RevokeSessionsForDeviceId added in v5.22.0

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

func (*OpenTracingAppLayer) RevokeSessionsFromAllUsers added in v5.22.0

func (a *OpenTracingAppLayer) RevokeSessionsFromAllUsers() *model.AppError

func (*OpenTracingAppLayer) RevokeUserAccessToken added in v5.22.0

func (a *OpenTracingAppLayer) RevokeUserAccessToken(token *model.UserAccessToken) *model.AppError

func (*OpenTracingAppLayer) RolesGrantPermission added in v5.22.0

func (a *OpenTracingAppLayer) RolesGrantPermission(roleNames []string, permissionId string) bool

func (*OpenTracingAppLayer) Saml added in v5.22.0

func (*OpenTracingAppLayer) SanitizeProfile added in v5.22.0

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

func (*OpenTracingAppLayer) SanitizeTeam added in v5.22.0

func (a *OpenTracingAppLayer) SanitizeTeam(session model.Session, team *model.Team) *model.Team

func (*OpenTracingAppLayer) SanitizeTeams added in v5.22.0

func (a *OpenTracingAppLayer) SanitizeTeams(session model.Session, teams []*model.Team) []*model.Team

func (*OpenTracingAppLayer) SaveAndBroadcastStatus added in v5.22.0

func (a *OpenTracingAppLayer) SaveAndBroadcastStatus(status *model.Status)

func (*OpenTracingAppLayer) SaveBrandImage added in v5.22.0

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

func (*OpenTracingAppLayer) SaveComplianceReport added in v5.22.0

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

func (*OpenTracingAppLayer) SaveConfig added in v5.22.0

func (a *OpenTracingAppLayer) SaveConfig(newCfg *model.Config, sendConfigChangeClusterMessage bool) *model.AppError

func (*OpenTracingAppLayer) SaveLicense added in v5.22.0

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

func (*OpenTracingAppLayer) SaveReactionForPost added in v5.22.0

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

func (*OpenTracingAppLayer) SaveUserTermsOfService added in v5.22.0

func (a *OpenTracingAppLayer) SaveUserTermsOfService(userId string, termsOfServiceId string, accepted bool) *model.AppError

func (*OpenTracingAppLayer) SchemesIterator added in v5.22.0

func (a *OpenTracingAppLayer) SchemesIterator(scope string, batchSize int) func() []*model.Scheme

func (*OpenTracingAppLayer) SearchAllChannels added in v5.22.0

func (*OpenTracingAppLayer) SearchAllTeams added in v5.22.0

func (a *OpenTracingAppLayer) SearchAllTeams(searchOpts *model.TeamSearch) ([]*model.Team, int64, *model.AppError)

func (*OpenTracingAppLayer) SearchArchivedChannels added in v5.22.0

func (a *OpenTracingAppLayer) SearchArchivedChannels(teamId string, term string, userId string) (*model.ChannelList, *model.AppError)

func (*OpenTracingAppLayer) SearchChannels added in v5.22.0

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

func (*OpenTracingAppLayer) SearchChannelsForUser added in v5.22.0

func (a *OpenTracingAppLayer) SearchChannelsForUser(userId string, teamId string, term string) (*model.ChannelList, *model.AppError)

func (*OpenTracingAppLayer) SearchChannelsUserNotIn added in v5.22.0

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

func (*OpenTracingAppLayer) SearchEmoji added in v5.22.0

func (a *OpenTracingAppLayer) SearchEmoji(name string, prefixOnly bool, limit int) ([]*model.Emoji, *model.AppError)

func (*OpenTracingAppLayer) SearchEngine added in v5.22.0

func (a *OpenTracingAppLayer) SearchEngine() *searchengine.Broker

func (*OpenTracingAppLayer) SearchGroupChannels added in v5.22.0

func (a *OpenTracingAppLayer) SearchGroupChannels(userId string, term string) (*model.ChannelList, *model.AppError)

func (*OpenTracingAppLayer) SearchPostsInTeam added in v5.22.0

func (a *OpenTracingAppLayer) SearchPostsInTeam(teamId string, paramsList []*model.SearchParams) (*model.PostList, *model.AppError)

func (*OpenTracingAppLayer) SearchPostsInTeamForUser added in v5.22.0

func (a *OpenTracingAppLayer) SearchPostsInTeamForUser(terms string, userId string, teamId string, isOrSearch bool, includeDeletedChannels bool, timeZoneOffset int, page int, perPage int) (*model.PostSearchResults, *model.AppError)

func (*OpenTracingAppLayer) SearchPrivateTeams added in v5.22.0

func (a *OpenTracingAppLayer) SearchPrivateTeams(term string) ([]*model.Team, *model.AppError)

func (*OpenTracingAppLayer) SearchPublicTeams added in v5.22.0

func (a *OpenTracingAppLayer) SearchPublicTeams(term string) ([]*model.Team, *model.AppError)

func (*OpenTracingAppLayer) SearchUserAccessTokens added in v5.22.0

func (a *OpenTracingAppLayer) SearchUserAccessTokens(term string) ([]*model.UserAccessToken, *model.AppError)

func (*OpenTracingAppLayer) SearchUsers added in v5.22.0

func (a *OpenTracingAppLayer) SearchUsers(props *model.UserSearch, options *model.UserSearchOptions) ([]*model.User, *model.AppError)

func (*OpenTracingAppLayer) SearchUsersInChannel added in v5.22.0

func (a *OpenTracingAppLayer) SearchUsersInChannel(channelId string, term string, options *model.UserSearchOptions) ([]*model.User, *model.AppError)

func (*OpenTracingAppLayer) SearchUsersInTeam added in v5.22.0

func (a *OpenTracingAppLayer) SearchUsersInTeam(teamId string, term string, options *model.UserSearchOptions) ([]*model.User, *model.AppError)

func (*OpenTracingAppLayer) SearchUsersNotInChannel added in v5.22.0

func (a *OpenTracingAppLayer) SearchUsersNotInChannel(teamId string, channelId string, term string, options *model.UserSearchOptions) ([]*model.User, *model.AppError)

func (*OpenTracingAppLayer) SearchUsersNotInTeam added in v5.22.0

func (a *OpenTracingAppLayer) SearchUsersNotInTeam(notInTeamId string, term string, options *model.UserSearchOptions) ([]*model.User, *model.AppError)

func (*OpenTracingAppLayer) SearchUsersWithoutTeam added in v5.22.0

func (a *OpenTracingAppLayer) SearchUsersWithoutTeam(term string, options *model.UserSearchOptions) ([]*model.User, *model.AppError)

func (*OpenTracingAppLayer) SendAckToPushProxy added in v5.22.0

func (a *OpenTracingAppLayer) SendAckToPushProxy(ack *model.PushNotificationAck) error

func (*OpenTracingAppLayer) SendAutoResponse added in v5.22.0

func (a *OpenTracingAppLayer) SendAutoResponse(channel *model.Channel, receiver *model.User) (bool, *model.AppError)

func (*OpenTracingAppLayer) SendAutoResponseIfNecessary added in v5.22.0

func (a *OpenTracingAppLayer) SendAutoResponseIfNecessary(channel *model.Channel, sender *model.User) (bool, *model.AppError)

func (*OpenTracingAppLayer) SendDailyDiagnostics added in v5.22.0

func (a *OpenTracingAppLayer) SendDailyDiagnostics()

func (*OpenTracingAppLayer) SendDeactivateAccountEmail added in v5.22.0

func (a *OpenTracingAppLayer) SendDeactivateAccountEmail(email string, locale string, siteURL string) *model.AppError

func (*OpenTracingAppLayer) SendDiagnostic added in v5.22.0

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

func (*OpenTracingAppLayer) SendEmailVerification added in v5.22.0

func (a *OpenTracingAppLayer) SendEmailVerification(user *model.User, newEmail string) *model.AppError

func (*OpenTracingAppLayer) SendEphemeralPost added in v5.22.0

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

func (*OpenTracingAppLayer) SendInviteEmails added in v5.22.0

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

func (*OpenTracingAppLayer) SendNotifications added in v5.22.0

func (a *OpenTracingAppLayer) SendNotifications(post *model.Post, team *model.Team, channel *model.Channel, sender *model.User, parentPostList *model.PostList) ([]string, error)

func (*OpenTracingAppLayer) SendPasswordReset added in v5.22.0

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

func (*OpenTracingAppLayer) SendPasswordResetEmail added in v5.22.0

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

func (*OpenTracingAppLayer) SendRemoveExpiredLicenseEmail added in v5.24.0

func (a *OpenTracingAppLayer) SendRemoveExpiredLicenseEmail(email string, locale string, siteURL string, licenseId string) *model.AppError

func (*OpenTracingAppLayer) SendSignInChangeEmail added in v5.22.0

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

func (*OpenTracingAppLayer) ServeInterPluginRequest added in v5.22.0

func (a *OpenTracingAppLayer) ServeInterPluginRequest(w http.ResponseWriter, r *http.Request, sourcePluginId string, destinationPluginId string)

func (*OpenTracingAppLayer) ServePluginPublicRequest added in v5.22.0

func (a *OpenTracingAppLayer) ServePluginPublicRequest(w http.ResponseWriter, r *http.Request)

func (*OpenTracingAppLayer) ServePluginRequest added in v5.22.0

func (a *OpenTracingAppLayer) ServePluginRequest(w http.ResponseWriter, r *http.Request)

func (*OpenTracingAppLayer) ServerBusyStateChanged added in v5.22.0

func (a *OpenTracingAppLayer) ServerBusyStateChanged(sbs *model.ServerBusyState)

func (*OpenTracingAppLayer) Session added in v5.22.0

func (a *OpenTracingAppLayer) Session() *model.Session

func (*OpenTracingAppLayer) SessionCacheLength added in v5.22.0

func (a *OpenTracingAppLayer) SessionCacheLength() int

func (*OpenTracingAppLayer) SessionHasPermissionTo added in v5.22.0

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

func (*OpenTracingAppLayer) SessionHasPermissionToChannel added in v5.22.0

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

func (*OpenTracingAppLayer) SessionHasPermissionToChannelByPost added in v5.22.0

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

func (*OpenTracingAppLayer) SessionHasPermissionToManageBot added in v5.22.0

func (a *OpenTracingAppLayer) SessionHasPermissionToManageBot(session model.Session, botUserId string) *model.AppError

func (*OpenTracingAppLayer) SessionHasPermissionToTeam added in v5.22.0

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

func (*OpenTracingAppLayer) SessionHasPermissionToUser added in v5.22.0

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

func (*OpenTracingAppLayer) SessionHasPermissionToUserOrBot added in v5.22.0

func (a *OpenTracingAppLayer) SessionHasPermissionToUserOrBot(session model.Session, userId string) bool

func (*OpenTracingAppLayer) SessionIsRegistered added in v5.24.0

func (a *OpenTracingAppLayer) SessionIsRegistered(session model.Session) bool

func (*OpenTracingAppLayer) SetAcceptLanguage added in v5.22.0

func (a *OpenTracingAppLayer) SetAcceptLanguage(str string)

func (*OpenTracingAppLayer) SetActiveChannel added in v5.22.0

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

func (*OpenTracingAppLayer) SetAutoResponderStatus added in v5.22.0

func (a *OpenTracingAppLayer) SetAutoResponderStatus(user *model.User, oldNotifyProps model.StringMap)

func (*OpenTracingAppLayer) SetBotIconImage added in v5.22.0

func (a *OpenTracingAppLayer) SetBotIconImage(botUserId string, file io.ReadSeeker) *model.AppError

func (*OpenTracingAppLayer) SetBotIconImageFromMultiPartFile added in v5.22.0

func (a *OpenTracingAppLayer) SetBotIconImageFromMultiPartFile(botUserId string, imageData *multipart.FileHeader) *model.AppError

func (*OpenTracingAppLayer) SetClientLicense added in v5.22.0

func (a *OpenTracingAppLayer) SetClientLicense(m map[string]string)

func (*OpenTracingAppLayer) SetContext added in v5.22.0

func (a *OpenTracingAppLayer) SetContext(c context.Context)

func (*OpenTracingAppLayer) SetDefaultProfileImage added in v5.22.0

func (a *OpenTracingAppLayer) SetDefaultProfileImage(user *model.User) *model.AppError

func (*OpenTracingAppLayer) SetDiagnosticId added in v5.22.0

func (a *OpenTracingAppLayer) SetDiagnosticId(id string)

func (*OpenTracingAppLayer) SetIpAddress added in v5.22.0

func (a *OpenTracingAppLayer) SetIpAddress(str string)

func (*OpenTracingAppLayer) SetLicense added in v5.22.0

func (a *OpenTracingAppLayer) SetLicense(license *model.License) bool

func (*OpenTracingAppLayer) SetLog added in v5.22.0

func (a *OpenTracingAppLayer) SetLog(l *mlog.Logger)

func (*OpenTracingAppLayer) SetPath added in v5.22.0

func (a *OpenTracingAppLayer) SetPath(str string)

func (*OpenTracingAppLayer) SetPhase2PermissionsMigrationStatus added in v5.22.0

func (a *OpenTracingAppLayer) SetPhase2PermissionsMigrationStatus(isComplete bool) error

func (*OpenTracingAppLayer) SetPluginKey added in v5.22.0

func (a *OpenTracingAppLayer) SetPluginKey(pluginId string, key string, value []byte) *model.AppError

func (*OpenTracingAppLayer) SetPluginKeyWithExpiry added in v5.22.0

func (a *OpenTracingAppLayer) SetPluginKeyWithExpiry(pluginId string, key string, value []byte, expireInSeconds int64) *model.AppError

func (*OpenTracingAppLayer) SetPluginKeyWithOptions added in v5.22.0

func (a *OpenTracingAppLayer) SetPluginKeyWithOptions(pluginId string, key string, value []byte, options model.PluginKVSetOptions) (bool, *model.AppError)

func (*OpenTracingAppLayer) SetPluginsEnvironment added in v5.22.0

func (a *OpenTracingAppLayer) SetPluginsEnvironment(pluginsEnvironment *plugin.Environment)

func (*OpenTracingAppLayer) SetProfileImage added in v5.22.0

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

func (*OpenTracingAppLayer) SetProfileImageFromFile added in v5.22.0

func (a *OpenTracingAppLayer) SetProfileImageFromFile(userId string, file io.Reader) *model.AppError

func (*OpenTracingAppLayer) SetProfileImageFromMultiPartFile added in v5.22.0

func (a *OpenTracingAppLayer) SetProfileImageFromMultiPartFile(userId string, file multipart.File) *model.AppError

func (*OpenTracingAppLayer) SetRequestId added in v5.22.0

func (a *OpenTracingAppLayer) SetRequestId(str string)

func (*OpenTracingAppLayer) SetSamlIdpCertificateFromMetadata added in v5.22.0

func (a *OpenTracingAppLayer) SetSamlIdpCertificateFromMetadata(data []byte) *model.AppError

func (*OpenTracingAppLayer) SetSearchEngine added in v5.24.0

func (a *OpenTracingAppLayer) SetSearchEngine(se *searchengine.Broker)

func (*OpenTracingAppLayer) SetServer added in v5.22.0

func (a *OpenTracingAppLayer) SetServer(srv *Server)

func (*OpenTracingAppLayer) SetSession added in v5.22.0

func (a *OpenTracingAppLayer) SetSession(sess *model.Session)

func (*OpenTracingAppLayer) SetStatusAwayIfNeeded added in v5.22.0

func (a *OpenTracingAppLayer) SetStatusAwayIfNeeded(userId string, manual bool)

func (*OpenTracingAppLayer) SetStatusDoNotDisturb added in v5.22.0

func (a *OpenTracingAppLayer) SetStatusDoNotDisturb(userId string)

func (*OpenTracingAppLayer) SetStatusLastActivityAt added in v5.22.0

func (a *OpenTracingAppLayer) SetStatusLastActivityAt(userId string, activityAt int64)

func (*OpenTracingAppLayer) SetStatusOffline added in v5.22.0

func (a *OpenTracingAppLayer) SetStatusOffline(userId string, manual bool)

func (*OpenTracingAppLayer) SetStatusOnline added in v5.22.0

func (a *OpenTracingAppLayer) SetStatusOnline(userId string, manual bool)

func (*OpenTracingAppLayer) SetStatusOutOfOffice added in v5.22.0

func (a *OpenTracingAppLayer) SetStatusOutOfOffice(userId string)

func (*OpenTracingAppLayer) SetT added in v5.22.0

func (*OpenTracingAppLayer) SetTeamIcon added in v5.22.0

func (a *OpenTracingAppLayer) SetTeamIcon(teamId string, imageData *multipart.FileHeader) *model.AppError

func (*OpenTracingAppLayer) SetTeamIconFromFile added in v5.22.0

func (a *OpenTracingAppLayer) SetTeamIconFromFile(team *model.Team, file io.Reader) *model.AppError

func (*OpenTracingAppLayer) SetTeamIconFromMultiPartFile added in v5.22.0

func (a *OpenTracingAppLayer) SetTeamIconFromMultiPartFile(teamId string, file multipart.File) *model.AppError

func (*OpenTracingAppLayer) SetUserAgent added in v5.22.0

func (a *OpenTracingAppLayer) SetUserAgent(str string)

func (*OpenTracingAppLayer) SetupInviteEmailRateLimiting added in v5.22.0

func (a *OpenTracingAppLayer) SetupInviteEmailRateLimiting() error

func (*OpenTracingAppLayer) ShutDownPlugins added in v5.22.0

func (a *OpenTracingAppLayer) ShutDownPlugins()

func (*OpenTracingAppLayer) Shutdown added in v5.22.0

func (a *OpenTracingAppLayer) Shutdown()

func (*OpenTracingAppLayer) SlackAddBotUser added in v5.22.0

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

func (*OpenTracingAppLayer) SlackAddChannels added in v5.22.0

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

func (*OpenTracingAppLayer) SlackAddPosts added in v5.22.0

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

func (*OpenTracingAppLayer) SlackAddUsers added in v5.22.0

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

func (*OpenTracingAppLayer) SlackImport added in v5.22.0

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

func (*OpenTracingAppLayer) SlackUploadFile added in v5.22.0

func (a *OpenTracingAppLayer) SlackUploadFile(slackPostFile *SlackFile, uploads map[string]*zip.File, teamId string, channelId string, userId string, slackTimestamp string) (*model.FileInfo, bool)

func (*OpenTracingAppLayer) SoftDeleteTeam added in v5.22.0

func (a *OpenTracingAppLayer) SoftDeleteTeam(teamId string) *model.AppError

func (*OpenTracingAppLayer) Srv added in v5.22.0

func (a *OpenTracingAppLayer) Srv() *Server

func (*OpenTracingAppLayer) StartPushNotificationsHubWorkers added in v5.22.0

func (a *OpenTracingAppLayer) StartPushNotificationsHubWorkers()

func (*OpenTracingAppLayer) StopPushNotificationsHubWorkers added in v5.22.0

func (a *OpenTracingAppLayer) StopPushNotificationsHubWorkers()

func (*OpenTracingAppLayer) SubmitInteractiveDialog added in v5.22.0

func (a *OpenTracingAppLayer) SubmitInteractiveDialog(request model.SubmitDialogRequest) (*model.SubmitDialogResponse, *model.AppError)

func (*OpenTracingAppLayer) SwitchEmailToLdap added in v5.22.0

func (a *OpenTracingAppLayer) SwitchEmailToLdap(email string, password string, code string, ldapLoginId string, ldapPassword string) (string, *model.AppError)

func (*OpenTracingAppLayer) SwitchEmailToOAuth added in v5.22.0

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

func (*OpenTracingAppLayer) SwitchLdapToEmail added in v5.22.0

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

func (*OpenTracingAppLayer) SwitchOAuthToEmail added in v5.22.0

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

func (*OpenTracingAppLayer) SyncLdap added in v5.22.0

func (a *OpenTracingAppLayer) SyncLdap()

func (*OpenTracingAppLayer) SyncPlugins added in v5.22.0

func (a *OpenTracingAppLayer) SyncPlugins() *model.AppError

func (*OpenTracingAppLayer) SyncPluginsActiveState added in v5.22.0

func (a *OpenTracingAppLayer) SyncPluginsActiveState()

func (*OpenTracingAppLayer) SyncRolesAndMembership added in v5.22.0

func (a *OpenTracingAppLayer) SyncRolesAndMembership(syncableID string, syncableType model.GroupSyncableType)

func (*OpenTracingAppLayer) SyncSyncableRoles added in v5.22.0

func (a *OpenTracingAppLayer) SyncSyncableRoles(syncableID string, syncableType model.GroupSyncableType) *model.AppError

func (*OpenTracingAppLayer) T added in v5.22.0

func (a *OpenTracingAppLayer) T(translationID string, args ...interface{}) string

func (*OpenTracingAppLayer) TeamMembersMinusGroupMembers added in v5.22.0

func (a *OpenTracingAppLayer) TeamMembersMinusGroupMembers(teamID string, groupIDs []string, page int, perPage int) ([]*model.UserWithGroups, int64, *model.AppError)

func (*OpenTracingAppLayer) TeamMembersToAdd added in v5.22.0

func (a *OpenTracingAppLayer) TeamMembersToAdd(since int64, teamID *string) ([]*model.UserTeamIDPair, *model.AppError)

func (*OpenTracingAppLayer) TeamMembersToRemove added in v5.22.0

func (a *OpenTracingAppLayer) TeamMembersToRemove(teamID *string) ([]*model.TeamMember, *model.AppError)

func (*OpenTracingAppLayer) TestElasticsearch added in v5.22.0

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

func (*OpenTracingAppLayer) TestEmail added in v5.22.0

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

func (*OpenTracingAppLayer) TestLdap added in v5.22.0

func (a *OpenTracingAppLayer) TestLdap() *model.AppError

func (*OpenTracingAppLayer) TestSiteURL added in v5.22.0

func (a *OpenTracingAppLayer) TestSiteURL(siteURL string) *model.AppError

func (*OpenTracingAppLayer) Timezones added in v5.22.0

func (a *OpenTracingAppLayer) Timezones() *timezones.Timezones

func (*OpenTracingAppLayer) ToggleMuteChannel added in v5.22.0

func (a *OpenTracingAppLayer) ToggleMuteChannel(channelId string, userId string) *model.ChannelMember

func (*OpenTracingAppLayer) TotalWebsocketConnections added in v5.22.0

func (a *OpenTracingAppLayer) TotalWebsocketConnections() int

func (*OpenTracingAppLayer) TriggerWebhook added in v5.22.0

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

func (*OpenTracingAppLayer) UnregisterPluginCommand added in v5.22.0

func (a *OpenTracingAppLayer) UnregisterPluginCommand(pluginId string, teamId string, trigger string)

func (*OpenTracingAppLayer) UnregisterPluginCommands added in v5.22.0

func (a *OpenTracingAppLayer) UnregisterPluginCommands(pluginId string)

func (*OpenTracingAppLayer) UpdateActive added in v5.22.0

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

func (*OpenTracingAppLayer) UpdateBotActive added in v5.22.0

func (a *OpenTracingAppLayer) UpdateBotActive(botUserId string, active bool) (*model.Bot, *model.AppError)

func (*OpenTracingAppLayer) UpdateBotOwner added in v5.22.0

func (a *OpenTracingAppLayer) UpdateBotOwner(botUserId string, newOwnerId string) (*model.Bot, *model.AppError)

func (*OpenTracingAppLayer) UpdateChannel added in v5.22.0

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

func (*OpenTracingAppLayer) UpdateChannelLastViewedAt added in v5.22.0

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

func (*OpenTracingAppLayer) UpdateChannelMemberNotifyProps added in v5.22.0

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

func (*OpenTracingAppLayer) UpdateChannelMemberRoles added in v5.22.0

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

func (*OpenTracingAppLayer) UpdateChannelMemberSchemeRoles added in v5.22.0

func (a *OpenTracingAppLayer) UpdateChannelMemberSchemeRoles(channelId string, userId string, isSchemeGuest bool, isSchemeUser bool, isSchemeAdmin bool) (*model.ChannelMember, *model.AppError)

func (*OpenTracingAppLayer) UpdateChannelPrivacy added in v5.22.0

func (a *OpenTracingAppLayer) UpdateChannelPrivacy(oldChannel *model.Channel, user *model.User) (*model.Channel, *model.AppError)

func (*OpenTracingAppLayer) UpdateChannelScheme added in v5.22.0

func (a *OpenTracingAppLayer) UpdateChannelScheme(channel *model.Channel) (*model.Channel, *model.AppError)

func (*OpenTracingAppLayer) UpdateCommand added in v5.22.0

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

func (*OpenTracingAppLayer) UpdateConfig added in v5.22.0

func (a *OpenTracingAppLayer) UpdateConfig(f func(*model.Config))

func (*OpenTracingAppLayer) UpdateEphemeralPost added in v5.22.0

func (a *OpenTracingAppLayer) UpdateEphemeralPost(userId string, post *model.Post) *model.Post

func (*OpenTracingAppLayer) UpdateGroup added in v5.22.0

func (a *OpenTracingAppLayer) UpdateGroup(group *model.Group) (*model.Group, *model.AppError)

func (*OpenTracingAppLayer) UpdateGroupSyncable added in v5.22.0

func (a *OpenTracingAppLayer) UpdateGroupSyncable(groupSyncable *model.GroupSyncable) (*model.GroupSyncable, *model.AppError)

func (*OpenTracingAppLayer) UpdateIncomingWebhook added in v5.22.0

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

func (*OpenTracingAppLayer) UpdateLastActivityAtIfNeeded added in v5.22.0

func (a *OpenTracingAppLayer) UpdateLastActivityAtIfNeeded(session model.Session)

func (*OpenTracingAppLayer) UpdateMfa added in v5.22.0

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

func (*OpenTracingAppLayer) UpdateMobileAppBadge added in v5.22.0

func (a *OpenTracingAppLayer) UpdateMobileAppBadge(userId string)

func (*OpenTracingAppLayer) UpdateOAuthUserAttrs added in v5.22.0

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

func (*OpenTracingAppLayer) UpdateOauthApp added in v5.22.0

func (a *OpenTracingAppLayer) UpdateOauthApp(oldApp *model.OAuthApp, updatedApp *model.OAuthApp) (*model.OAuthApp, *model.AppError)

func (*OpenTracingAppLayer) UpdateOutgoingWebhook added in v5.22.0

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

func (*OpenTracingAppLayer) UpdatePassword added in v5.22.0

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

func (*OpenTracingAppLayer) UpdatePasswordAsUser added in v5.22.0

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

func (*OpenTracingAppLayer) UpdatePasswordByUserIdSendEmail added in v5.22.0

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

func (*OpenTracingAppLayer) UpdatePasswordSendEmail added in v5.22.0

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

func (*OpenTracingAppLayer) UpdatePost added in v5.22.0

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

func (*OpenTracingAppLayer) UpdatePreferences added in v5.22.0

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

func (*OpenTracingAppLayer) UpdateRole added in v5.22.0

func (a *OpenTracingAppLayer) UpdateRole(role *model.Role) (*model.Role, *model.AppError)

func (*OpenTracingAppLayer) UpdateScheme added in v5.22.0

func (a *OpenTracingAppLayer) UpdateScheme(scheme *model.Scheme) (*model.Scheme, *model.AppError)

func (*OpenTracingAppLayer) UpdateSessionsIsGuest added in v5.22.0

func (a *OpenTracingAppLayer) UpdateSessionsIsGuest(userId string, isGuest bool)

func (*OpenTracingAppLayer) UpdateTeam added in v5.22.0

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

func (*OpenTracingAppLayer) UpdateTeamMemberRoles added in v5.22.0

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

func (*OpenTracingAppLayer) UpdateTeamMemberSchemeRoles added in v5.22.0

func (a *OpenTracingAppLayer) UpdateTeamMemberSchemeRoles(teamId string, userId string, isSchemeGuest bool, isSchemeUser bool, isSchemeAdmin bool) (*model.TeamMember, *model.AppError)

func (*OpenTracingAppLayer) UpdateTeamPrivacy added in v5.22.0

func (a *OpenTracingAppLayer) UpdateTeamPrivacy(teamId string, teamType string, allowOpenInvite bool) *model.AppError

func (*OpenTracingAppLayer) UpdateTeamScheme added in v5.22.0

func (a *OpenTracingAppLayer) UpdateTeamScheme(team *model.Team) (*model.Team, *model.AppError)

func (*OpenTracingAppLayer) UpdateUser added in v5.22.0

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

func (*OpenTracingAppLayer) UpdateUserActive added in v5.22.0

func (a *OpenTracingAppLayer) UpdateUserActive(userId string, active bool) *model.AppError

func (*OpenTracingAppLayer) UpdateUserAsUser added in v5.22.0

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

func (*OpenTracingAppLayer) UpdateUserAuth added in v5.22.0

func (a *OpenTracingAppLayer) UpdateUserAuth(userId string, userAuth *model.UserAuth) (*model.UserAuth, *model.AppError)

func (*OpenTracingAppLayer) UpdateUserNotifyProps added in v5.22.0

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

func (*OpenTracingAppLayer) UpdateUserRoles added in v5.22.0

func (a *OpenTracingAppLayer) UpdateUserRoles(userId string, newRoles string, sendWebSocketEvent bool) (*model.User, *model.AppError)

func (*OpenTracingAppLayer) UpdateWebConnUserActivity added in v5.22.0

func (a *OpenTracingAppLayer) UpdateWebConnUserActivity(session model.Session, activityAt int64)

func (*OpenTracingAppLayer) UploadEmojiImage added in v5.22.0

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

func (*OpenTracingAppLayer) UploadFile added in v5.22.0

func (a *OpenTracingAppLayer) UploadFile(data []byte, channelId string, filename string) (*model.FileInfo, *model.AppError)

func (*OpenTracingAppLayer) UploadFileX added in v5.22.0

func (a *OpenTracingAppLayer) UploadFileX(channelId string, name string, input io.Reader, opts ...func(*UploadFileTask)) (*model.FileInfo, *model.AppError)

func (*OpenTracingAppLayer) UploadFiles added in v5.22.0

func (a *OpenTracingAppLayer) UploadFiles(teamId string, channelId string, userId string, files []io.ReadCloser, filenames []string, clientIds []string, now time.Time) (*model.FileUploadResponse, *model.AppError)

func (*OpenTracingAppLayer) UploadMultipartFiles added in v5.22.0

func (a *OpenTracingAppLayer) UploadMultipartFiles(teamId string, channelId string, userId string, fileHeaders []*multipart.FileHeader, clientIds []string, now time.Time) (*model.FileUploadResponse, *model.AppError)

func (*OpenTracingAppLayer) UpsertGroupMember added in v5.22.0

func (a *OpenTracingAppLayer) UpsertGroupMember(groupID string, userID string) (*model.GroupMember, *model.AppError)

func (*OpenTracingAppLayer) UpsertGroupSyncable added in v5.22.0

func (a *OpenTracingAppLayer) UpsertGroupSyncable(groupSyncable *model.GroupSyncable) (*model.GroupSyncable, *model.AppError)

func (*OpenTracingAppLayer) UserAgent added in v5.22.0

func (a *OpenTracingAppLayer) UserAgent() string

func (*OpenTracingAppLayer) UserCanSeeOtherUser added in v5.22.0

func (a *OpenTracingAppLayer) UserCanSeeOtherUser(userId string, otherUserId string) (bool, *model.AppError)

func (*OpenTracingAppLayer) UserIsInAdminRoleGroup added in v5.22.0

func (a *OpenTracingAppLayer) UserIsInAdminRoleGroup(userID string, syncableID string, syncableType model.GroupSyncableType) (bool, *model.AppError)

func (*OpenTracingAppLayer) ValidateAndSetLicenseBytes added in v5.22.0

func (a *OpenTracingAppLayer) ValidateAndSetLicenseBytes(b []byte)

func (*OpenTracingAppLayer) VerifyEmailFromToken added in v5.22.0

func (a *OpenTracingAppLayer) VerifyEmailFromToken(userSuppliedTokenString string) *model.AppError

func (*OpenTracingAppLayer) VerifyPlugin added in v5.22.0

func (a *OpenTracingAppLayer) VerifyPlugin(plugin io.ReadSeeker, signature io.ReadSeeker) *model.AppError

func (*OpenTracingAppLayer) VerifyUserEmail added in v5.22.0

func (a *OpenTracingAppLayer) VerifyUserEmail(userId string, email string) *model.AppError

func (*OpenTracingAppLayer) ViewChannel added in v5.22.0

func (a *OpenTracingAppLayer) ViewChannel(view *model.ChannelView, userId string, currentSessionId string) (map[string]int64, *model.AppError)

func (*OpenTracingAppLayer) WaitForChannelMembership added in v5.22.0

func (a *OpenTracingAppLayer) WaitForChannelMembership(channelId string, userId string)

func (*OpenTracingAppLayer) WriteFile added in v5.22.0

func (a *OpenTracingAppLayer) WriteFile(fr io.Reader, path string) (int64, *model.AppError)

type Option

type Option func(s *Server) error

func Config

func Config(dsn string, watch bool) Option

Config applies the given config dsn, whether a path to config.json or a database connection string.

func ConfigStore

func ConfigStore(configStore config.Store) Option

ConfigStore applies the given config store, typically to replace the traditional sources with a memory store for testing.

func SetLogger

func SetLogger(logger *mlog.Logger) Option

func StoreOverride

func StoreOverride(override interface{}) Option

By default, the app will use the store specified by the configuration. This allows you to construct an app with a different store.

The override parameter must be either a store.Store or func(App) store.Store().

type PluginAPI

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

func NewPluginAPI

func NewPluginAPI(a *App, manifest *model.Manifest) *PluginAPI

func (*PluginAPI) AddChannelMember

func (api *PluginAPI) AddChannelMember(channelId, userId string) (*model.ChannelMember, *model.AppError)

func (*PluginAPI) AddReaction

func (api *PluginAPI) AddReaction(reaction *model.Reaction) (*model.Reaction, *model.AppError)

func (*PluginAPI) AddUserToChannel

func (api *PluginAPI) AddUserToChannel(channelId, userId, asUserId string) (*model.ChannelMember, *model.AppError)

func (*PluginAPI) CopyFileInfos

func (api *PluginAPI) CopyFileInfos(userId string, fileIds []string) ([]string, *model.AppError)

func (*PluginAPI) CreateBot

func (api *PluginAPI) CreateBot(bot *model.Bot) (*model.Bot, *model.AppError)

func (*PluginAPI) CreateChannel

func (api *PluginAPI) CreateChannel(channel *model.Channel) (*model.Channel, *model.AppError)

func (*PluginAPI) CreatePost

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

func (*PluginAPI) CreateTeam

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

func (*PluginAPI) CreateTeamMember

func (api *PluginAPI) CreateTeamMember(teamId, userId string) (*model.TeamMember, *model.AppError)

func (*PluginAPI) CreateTeamMembers

func (api *PluginAPI) CreateTeamMembers(teamId string, userIds []string, requestorId string) ([]*model.TeamMember, *model.AppError)

func (*PluginAPI) CreateTeamMembersGracefully added in v5.20.0

func (api *PluginAPI) CreateTeamMembersGracefully(teamId string, userIds []string, requestorId string) ([]*model.TeamMemberWithError, *model.AppError)

func (*PluginAPI) CreateUser

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

func (*PluginAPI) DeleteBotIconImage

func (api *PluginAPI) DeleteBotIconImage(userId string) *model.AppError

func (*PluginAPI) DeleteChannel

func (api *PluginAPI) DeleteChannel(channelId string) *model.AppError

func (*PluginAPI) DeleteChannelMember

func (api *PluginAPI) DeleteChannelMember(channelId, userId string) *model.AppError

func (*PluginAPI) DeleteEphemeralPost

func (api *PluginAPI) DeleteEphemeralPost(userId, postId string)

func (*PluginAPI) DeletePost

func (api *PluginAPI) DeletePost(postId string) *model.AppError

func (*PluginAPI) DeleteTeam

func (api *PluginAPI) DeleteTeam(teamId string) *model.AppError

func (*PluginAPI) DeleteTeamMember

func (api *PluginAPI) DeleteTeamMember(teamId, userId, requestorId string) *model.AppError

func (*PluginAPI) DeleteUser

func (api *PluginAPI) DeleteUser(userId string) *model.AppError

func (*PluginAPI) DisablePlugin

func (api *PluginAPI) DisablePlugin(id string) *model.AppError

func (*PluginAPI) EnablePlugin

func (api *PluginAPI) EnablePlugin(id string) *model.AppError

func (*PluginAPI) GetBot

func (api *PluginAPI) GetBot(userId string, includeDeleted bool) (*model.Bot, *model.AppError)

func (*PluginAPI) GetBotIconImage

func (api *PluginAPI) GetBotIconImage(userId string) ([]byte, *model.AppError)

func (*PluginAPI) GetBots

func (api *PluginAPI) GetBots(options *model.BotGetOptions) ([]*model.Bot, *model.AppError)

func (*PluginAPI) GetBundlePath

func (api *PluginAPI) GetBundlePath() (string, error)

func (*PluginAPI) GetChannel

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

func (*PluginAPI) GetChannelByName

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

func (*PluginAPI) GetChannelByNameForTeamName

func (api *PluginAPI) GetChannelByNameForTeamName(teamName, channelName string, includeDeleted bool) (*model.Channel, *model.AppError)

func (*PluginAPI) GetChannelMember

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

func (*PluginAPI) GetChannelMembers

func (api *PluginAPI) GetChannelMembers(channelId string, page, perPage int) (*model.ChannelMembers, *model.AppError)

func (*PluginAPI) GetChannelMembersByIds

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

func (*PluginAPI) GetChannelMembersForUser

func (api *PluginAPI) GetChannelMembersForUser(teamId, userId string, page, perPage int) ([]*model.ChannelMember, *model.AppError)

func (*PluginAPI) GetChannelStats

func (api *PluginAPI) GetChannelStats(channelId string) (*model.ChannelStats, *model.AppError)

func (*PluginAPI) GetChannelsForTeamForUser

func (api *PluginAPI) GetChannelsForTeamForUser(teamId, userId string, includeDeleted bool) ([]*model.Channel, *model.AppError)

func (*PluginAPI) GetConfig

func (api *PluginAPI) GetConfig() *model.Config

func (*PluginAPI) GetDiagnosticId

func (api *PluginAPI) GetDiagnosticId() string

func (*PluginAPI) GetDirectChannel

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

func (*PluginAPI) GetEmoji

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

func (*PluginAPI) GetEmojiByName

func (api *PluginAPI) GetEmojiByName(name string) (*model.Emoji, *model.AppError)

func (*PluginAPI) GetEmojiImage

func (api *PluginAPI) GetEmojiImage(emojiId string) ([]byte, string, *model.AppError)

func (*PluginAPI) GetEmojiList

func (api *PluginAPI) GetEmojiList(sortBy string, page, perPage int) ([]*model.Emoji, *model.AppError)

func (*PluginAPI) GetFile

func (api *PluginAPI) GetFile(fileId string) ([]byte, *model.AppError)

func (*PluginAPI) GetFileInfo

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

func (*PluginAPI) GetFileInfos added in v5.22.0

func (api *PluginAPI) GetFileInfos(page, perPage int, opt *model.GetFileInfosOptions) ([]*model.FileInfo, *model.AppError)
func (api *PluginAPI) GetFileLink(fileId string) (string, *model.AppError)

func (*PluginAPI) GetGroup

func (api *PluginAPI) GetGroup(groupId string) (*model.Group, *model.AppError)

func (*PluginAPI) GetGroupByName

func (api *PluginAPI) GetGroupByName(name string) (*model.Group, *model.AppError)

func (*PluginAPI) GetGroupChannel

func (api *PluginAPI) GetGroupChannel(userIds []string) (*model.Channel, *model.AppError)

func (*PluginAPI) GetGroupsForUser

func (api *PluginAPI) GetGroupsForUser(userId string) ([]*model.Group, *model.AppError)

func (*PluginAPI) GetLDAPUserAttributes

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

func (*PluginAPI) GetLicense

func (api *PluginAPI) GetLicense() *model.License

func (*PluginAPI) GetPluginConfig

func (api *PluginAPI) GetPluginConfig() map[string]interface{}

func (*PluginAPI) GetPluginStatus

func (api *PluginAPI) GetPluginStatus(id string) (*model.PluginStatus, *model.AppError)

func (*PluginAPI) GetPlugins

func (api *PluginAPI) GetPlugins() ([]*model.Manifest, *model.AppError)

func (*PluginAPI) GetPost

func (api *PluginAPI) GetPost(postId string) (*model.Post, *model.AppError)

func (*PluginAPI) GetPostThread

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

func (*PluginAPI) GetPostsAfter

func (api *PluginAPI) GetPostsAfter(channelId, postId string, page, perPage int) (*model.PostList, *model.AppError)

func (*PluginAPI) GetPostsBefore

func (api *PluginAPI) GetPostsBefore(channelId, postId string, page, perPage int) (*model.PostList, *model.AppError)

func (*PluginAPI) GetPostsForChannel

func (api *PluginAPI) GetPostsForChannel(channelId string, page, perPage int) (*model.PostList, *model.AppError)

func (*PluginAPI) GetPostsSince

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

func (*PluginAPI) GetProfileImage

func (api *PluginAPI) GetProfileImage(userId string) ([]byte, *model.AppError)

func (*PluginAPI) GetPublicChannelsForTeam

func (api *PluginAPI) GetPublicChannelsForTeam(teamId string, page, perPage int) ([]*model.Channel, *model.AppError)

func (*PluginAPI) GetReactions

func (api *PluginAPI) GetReactions(postId string) ([]*model.Reaction, *model.AppError)

func (*PluginAPI) GetServerVersion

func (api *PluginAPI) GetServerVersion() string

func (*PluginAPI) GetSession

func (api *PluginAPI) GetSession(sessionId string) (*model.Session, *model.AppError)

func (*PluginAPI) GetSystemInstallDate

func (api *PluginAPI) GetSystemInstallDate() (int64, *model.AppError)

func (*PluginAPI) GetTeam

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

func (*PluginAPI) GetTeamByName

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

func (*PluginAPI) GetTeamIcon

func (api *PluginAPI) GetTeamIcon(teamId string) ([]byte, *model.AppError)

func (*PluginAPI) GetTeamMember

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

func (*PluginAPI) GetTeamMembers

func (api *PluginAPI) GetTeamMembers(teamId string, page, perPage int) ([]*model.TeamMember, *model.AppError)

func (*PluginAPI) GetTeamMembersForUser

func (api *PluginAPI) GetTeamMembersForUser(userId string, page int, perPage int) ([]*model.TeamMember, *model.AppError)

func (*PluginAPI) GetTeamStats

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

func (*PluginAPI) GetTeams

func (api *PluginAPI) GetTeams() ([]*model.Team, *model.AppError)

func (*PluginAPI) GetTeamsForUser

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

func (*PluginAPI) GetTeamsUnreadForUser

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

func (*PluginAPI) GetUnsanitizedConfig

func (api *PluginAPI) GetUnsanitizedConfig() *model.Config

GetUnsanitizedConfig gets the configuration for a system admin without removing secrets.

func (*PluginAPI) GetUser

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

func (*PluginAPI) GetUserByEmail

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

func (*PluginAPI) GetUserByUsername

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

func (*PluginAPI) GetUserStatus

func (api *PluginAPI) GetUserStatus(userId string) (*model.Status, *model.AppError)

func (*PluginAPI) GetUserStatusesByIds

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

func (*PluginAPI) GetUsers

func (api *PluginAPI) GetUsers(options *model.UserGetOptions) ([]*model.User, *model.AppError)

func (*PluginAPI) GetUsersByUsernames

func (api *PluginAPI) GetUsersByUsernames(usernames []string) ([]*model.User, *model.AppError)

func (*PluginAPI) GetUsersInChannel

func (api *PluginAPI) GetUsersInChannel(channelId, sortBy string, page, perPage int) ([]*model.User, *model.AppError)

func (*PluginAPI) GetUsersInTeam

func (api *PluginAPI) GetUsersInTeam(teamId string, page int, perPage int) ([]*model.User, *model.AppError)

func (*PluginAPI) HasPermissionTo

func (api *PluginAPI) HasPermissionTo(userId string, permission *model.Permission) bool

func (*PluginAPI) HasPermissionToChannel

func (api *PluginAPI) HasPermissionToChannel(userId, channelId string, permission *model.Permission) bool

func (*PluginAPI) HasPermissionToTeam

func (api *PluginAPI) HasPermissionToTeam(userId, teamId string, permission *model.Permission) bool

func (*PluginAPI) InstallPlugin

func (api *PluginAPI) InstallPlugin(file io.Reader, replace bool) (*model.Manifest, *model.AppError)

func (*PluginAPI) KVCompareAndDelete

func (api *PluginAPI) KVCompareAndDelete(key string, oldValue []byte) (bool, *model.AppError)

func (*PluginAPI) KVCompareAndSet

func (api *PluginAPI) KVCompareAndSet(key string, oldValue, newValue []byte) (bool, *model.AppError)

func (*PluginAPI) KVDelete

func (api *PluginAPI) KVDelete(key string) *model.AppError

func (*PluginAPI) KVDeleteAll

func (api *PluginAPI) KVDeleteAll() *model.AppError

func (*PluginAPI) KVGet

func (api *PluginAPI) KVGet(key string) ([]byte, *model.AppError)

func (*PluginAPI) KVList

func (api *PluginAPI) KVList(page, perPage int) ([]string, *model.AppError)

func (*PluginAPI) KVSet

func (api *PluginAPI) KVSet(key string, value []byte) *model.AppError

func (*PluginAPI) KVSetWithExpiry

func (api *PluginAPI) KVSetWithExpiry(key string, value []byte, expireInSeconds int64) *model.AppError

func (*PluginAPI) KVSetWithOptions

func (api *PluginAPI) KVSetWithOptions(key string, value []byte, options model.PluginKVSetOptions) (bool, *model.AppError)

func (*PluginAPI) LoadPluginConfiguration

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

func (*PluginAPI) LogDebug

func (api *PluginAPI) LogDebug(msg string, keyValuePairs ...interface{})

func (*PluginAPI) LogError

func (api *PluginAPI) LogError(msg string, keyValuePairs ...interface{})

func (*PluginAPI) LogInfo

func (api *PluginAPI) LogInfo(msg string, keyValuePairs ...interface{})

func (*PluginAPI) LogWarn

func (api *PluginAPI) LogWarn(msg string, keyValuePairs ...interface{})

func (*PluginAPI) OpenInteractiveDialog

func (api *PluginAPI) OpenInteractiveDialog(dialog model.OpenDialogRequest) *model.AppError

func (*PluginAPI) PatchBot

func (api *PluginAPI) PatchBot(userId string, botPatch *model.BotPatch) (*model.Bot, *model.AppError)

func (*PluginAPI) PermanentDeleteBot

func (api *PluginAPI) PermanentDeleteBot(userId string) *model.AppError

func (*PluginAPI) PluginHTTP

func (api *PluginAPI) PluginHTTP(request *http.Request) *http.Response

func (*PluginAPI) PublishWebSocketEvent

func (api *PluginAPI) PublishWebSocketEvent(event string, payload map[string]interface{}, broadcast *model.WebsocketBroadcast)

func (*PluginAPI) ReadFile

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

func (*PluginAPI) RegisterCommand

func (api *PluginAPI) RegisterCommand(command *model.Command) error

func (*PluginAPI) RemovePlugin

func (api *PluginAPI) RemovePlugin(id string) *model.AppError

func (*PluginAPI) RemoveReaction

func (api *PluginAPI) RemoveReaction(reaction *model.Reaction) *model.AppError

func (*PluginAPI) RemoveTeamIcon

func (api *PluginAPI) RemoveTeamIcon(teamId string) *model.AppError

func (*PluginAPI) SaveConfig

func (api *PluginAPI) SaveConfig(config *model.Config) *model.AppError

func (*PluginAPI) SavePluginConfig

func (api *PluginAPI) SavePluginConfig(pluginConfig map[string]interface{}) *model.AppError

func (*PluginAPI) SearchChannels

func (api *PluginAPI) SearchChannels(teamId string, term string) ([]*model.Channel, *model.AppError)

func (*PluginAPI) SearchPostsInTeam

func (api *PluginAPI) SearchPostsInTeam(teamId string, paramsList []*model.SearchParams) ([]*model.Post, *model.AppError)

func (*PluginAPI) SearchTeams

func (api *PluginAPI) SearchTeams(term string) ([]*model.Team, *model.AppError)

func (*PluginAPI) SearchUsers

func (api *PluginAPI) SearchUsers(search *model.UserSearch) ([]*model.User, *model.AppError)

func (*PluginAPI) SendEphemeralPost

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

func (*PluginAPI) SendMail

func (api *PluginAPI) SendMail(to, subject, htmlBody string) *model.AppError

func (*PluginAPI) SetBotIconImage

func (api *PluginAPI) SetBotIconImage(userId string, data []byte) *model.AppError

func (*PluginAPI) SetProfileImage

func (api *PluginAPI) SetProfileImage(userId string, data []byte) *model.AppError

func (*PluginAPI) SetTeamIcon

func (api *PluginAPI) SetTeamIcon(teamId string, data []byte) *model.AppError

func (*PluginAPI) UnregisterCommand

func (api *PluginAPI) UnregisterCommand(teamId, trigger string) error

func (*PluginAPI) UpdateBotActive

func (api *PluginAPI) UpdateBotActive(userId string, active bool) (*model.Bot, *model.AppError)

func (*PluginAPI) UpdateChannel

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

func (*PluginAPI) UpdateChannelMemberNotifications

func (api *PluginAPI) UpdateChannelMemberNotifications(channelId, userId string, notifications map[string]string) (*model.ChannelMember, *model.AppError)

func (*PluginAPI) UpdateChannelMemberRoles

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

func (*PluginAPI) UpdateEphemeralPost

func (api *PluginAPI) UpdateEphemeralPost(userId string, post *model.Post) *model.Post

func (*PluginAPI) UpdatePost

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

func (*PluginAPI) UpdateTeam

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

func (*PluginAPI) UpdateTeamMemberRoles

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

func (*PluginAPI) UpdateUser

func (api *PluginAPI) UpdateUser(user *model.User) (*model.User, *model.AppError)

func (*PluginAPI) UpdateUserActive

func (api *PluginAPI) UpdateUserActive(userId string, active bool) *model.AppError

func (*PluginAPI) UpdateUserStatus

func (api *PluginAPI) UpdateUserStatus(userId, status string) (*model.Status, *model.AppError)

func (*PluginAPI) UploadFile

func (api *PluginAPI) UploadFile(data []byte, channelId string, filename string) (*model.FileInfo, *model.AppError)

type PluginCommand

type PluginCommand struct {
	Command  *model.Command
	PluginId string
}

type PluginResponseWriter

type PluginResponseWriter struct {
	bytes.Buffer
	// contains filtered or unexported fields
}

func (*PluginResponseWriter) GenerateResponse

func (rt *PluginResponseWriter) GenerateResponse() *http.Response

func (*PluginResponseWriter) Header

func (rt *PluginResponseWriter) Header() http.Header

func (*PluginResponseWriter) WriteHeader

func (rt *PluginResponseWriter) WriteHeader(statusCode int)

type PostImportData

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

	Message  *string                `json:"message"`
	Props    *model.StringInterface `json:"props"`
	CreateAt *int64                 `json:"create_at"`

	FlaggedBy   *[]string               `json:"flagged_by,omitempty"`
	Reactions   *[]ReactionImportData   `json:"reactions,omitempty"`
	Replies     *[]ReplyImportData      `json:"replies,omitempty"`
	Attachments *[]AttachmentImportData `json:"attachments,omitempty"`
}

type PostNotification

type PostNotification struct {
	Channel    *model.Channel
	Post       *model.Post
	ProfileMap map[string]*model.User
	Sender     *model.User
}

Represents either an email or push notification and contains the fields required to send it to any user.

func (*PostNotification) GetChannelName

func (n *PostNotification) GetChannelName(userNameFormat, excludeId string) string

Returns the name of the channel for this notification. For direct messages, this is the sender's name preceded by an at sign. For group messages, this is a comma-separated list of the members of the channel, with an option to exclude the recipient of the message from that list.

func (*PostNotification) GetSenderName

func (n *PostNotification) GetSenderName(userNameFormat string, overridesAllowed bool) string

Returns the name of the sender of this notification, accounting for things like system messages and whether or not the username has been overridden by an integration.

type PurposeProvider

type PurposeProvider struct {
}

func (*PurposeProvider) DoCommand

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

func (*PurposeProvider) GetCommand

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

func (*PurposeProvider) GetTrigger

func (me *PurposeProvider) GetTrigger() string

type PushNotification

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

type PushNotificationsHub

type PushNotificationsHub struct {
	Channels []chan PushNotification
}

func (*PushNotificationsHub) GetGoChannelFromUserId

func (hub *PushNotificationsHub) GetGoChannelFromUserId(userId string) chan PushNotification

type RateLimiter

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

func NewRateLimiter

func NewRateLimiter(settings *model.RateLimitSettings, trustedProxyIPHeader []string) (*RateLimiter, error)

func (*RateLimiter) GenerateKey

func (rl *RateLimiter) GenerateKey(r *http.Request) string

func (*RateLimiter) RateLimitHandler

func (rl *RateLimiter) RateLimitHandler(wrappedHandler http.Handler) http.Handler

func (*RateLimiter) RateLimitWriter

func (rl *RateLimiter) RateLimitWriter(key string, w http.ResponseWriter) bool

func (*RateLimiter) UserIdRateLimit

func (rl *RateLimiter) UserIdRateLimit(userId string, w http.ResponseWriter) bool

type ReactionImportData

type ReactionImportData struct {
	User      *string `json:"user"`
	CreateAt  *int64  `json:"create_at"`
	EmojiName *string `json:"emoji_name"`
}

func ImportReactionFromPost

func ImportReactionFromPost(user *model.User, reaction *model.Reaction) *ReactionImportData

type RemoveProvider

type RemoveProvider struct {
}

func (*RemoveProvider) DoCommand

func (me *RemoveProvider) DoCommand(a *App, args *model.CommandArgs, message string) *model.CommandResponse

func (*RemoveProvider) GetCommand

func (me *RemoveProvider) GetCommand(a *App, T goi18n.TranslateFunc) *model.Command

func (*RemoveProvider) GetTrigger

func (me *RemoveProvider) GetTrigger() string

type RenameProvider

type RenameProvider struct {
}

func (*RenameProvider) DoCommand

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

func (*RenameProvider) GetCommand

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

func (*RenameProvider) GetTrigger

func (me *RenameProvider) GetTrigger() string

type ReplyImportData

type ReplyImportData struct {
	User *string `json:"user"`

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

	FlaggedBy   *[]string               `json:"flagged_by,omitempty"`
	Reactions   *[]ReactionImportData   `json:"reactions,omitempty"`
	Attachments *[]AttachmentImportData `json:"attachments,omitempty"`
}

func ImportReplyFromPost

func ImportReplyFromPost(post *model.ReplyForExport) *ReplyImportData

type RoleImportData

type RoleImportData struct {
	Name        *string   `json:"name"`
	DisplayName *string   `json:"display_name"`
	Description *string   `json:"description"`
	Permissions *[]string `json:"permissions"`
}

type SVGInfo

type SVGInfo struct {
	Width  int
	Height int
}

type SchemeImportData

type SchemeImportData struct {
	Name                    *string         `json:"name"`
	DisplayName             *string         `json:"display_name"`
	Description             *string         `json:"description"`
	Scope                   *string         `json:"scope"`
	DefaultTeamAdminRole    *RoleImportData `json:"default_team_admin_role"`
	DefaultTeamUserRole     *RoleImportData `json:"default_team_user_role"`
	DefaultChannelAdminRole *RoleImportData `json:"default_channel_admin_role"`
	DefaultChannelUserRole  *RoleImportData `json:"default_channel_user_role"`
	DefaultTeamGuestRole    *RoleImportData `json:"default_team_guest_role"`
	DefaultChannelGuestRole *RoleImportData `json:"default_channel_guest_role"`
}

type SearchProvider

type SearchProvider struct {
}

func (*SearchProvider) DoCommand

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

func (*SearchProvider) GetCommand

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

func (*SearchProvider) GetTrigger

func (search *SearchProvider) GetTrigger() string

type Server

type Server struct {
	Store           store.Store
	WebSocketRouter *WebSocketRouter

	// RootRouter is the starting point for all HTTP requests to the server.
	RootRouter *mux.Router

	// LocalRouter is the starting point for all the local UNIX socket
	// requests to the server
	LocalRouter *mux.Router

	// Router is the starting point for all web, api4 and ws requests to the server. It differs
	// from RootRouter only if the SiteURL contains a /subpath.
	Router *mux.Router

	Server      *http.Server
	ListenAddr  *net.TCPAddr
	RateLimiter *RateLimiter
	Busy        *Busy

	PluginsEnvironment     *plugin.Environment
	PluginConfigListenerId string
	PluginsLock            sync.RWMutex

	EmailBatching    *EmailBatchingJob
	EmailRateLimiter *throttled.GCRARateLimiter

	PushNotificationsHub PushNotificationsHub

	Jobs *jobs.JobServer

	HTTPService httpservice.HTTPService

	ImageProxy *imageproxy.ImageProxy

	Audit            *audit.Audit
	Log              *mlog.Logger
	NotificationsLog *mlog.Logger

	SearchEngine *searchengine.Broker

	AccountMigration einterfaces.AccountMigrationInterface
	Cluster          einterfaces.ClusterInterface
	Compliance       einterfaces.ComplianceInterface
	DataRetention    einterfaces.DataRetentionInterface
	Ldap             einterfaces.LdapInterface
	MessageExport    einterfaces.MessageExportInterface
	Metrics          einterfaces.MetricsInterface
	Notification     einterfaces.NotificationInterface
	Saml             einterfaces.SamlInterface

	CacheProvider cache.Provider
	// contains filtered or unexported fields
}

func NewServer

func NewServer(options ...Option) (*Server, error)

func (*Server) AddClusterLeaderChangedListener

func (s *Server) AddClusterLeaderChangedListener(listener func()) string

Registers a given function to be called when the cluster leader may have changed. Returns a unique ID for the listener which can later be used to remove it. If clustering is not enabled in this build, the callback will never be called.

func (*Server) AddConfigListener

func (s *Server) AddConfigListener(listener func(*model.Config, *model.Config)) string

Registers a function with a given listener to be called when the config is reloaded and may have changed. The function will be called with two arguments: the old config and the new config. AddConfigListener returns a unique ID for the listener that can later be used to remove it.

func (*Server) AddLicenseListener

func (s *Server) AddLicenseListener(listener func(oldLicense, newLicense *model.License)) string

func (*Server) AppOptions

func (s *Server) AppOptions() []AppOption

Global app options that should be applied to apps created by this server

func (*Server) AsymmetricSigningKey

func (s *Server) AsymmetricSigningKey() *ecdsa.PrivateKey

AsymmetricSigningKey will return a private key that can be used for asymmetric signing.

func (*Server) Config

func (s *Server) Config() *model.Config

func (*Server) DoSecurityUpdateCheck

func (s *Server) DoSecurityUpdateCheck()

func (*Server) EnvironmentConfig

func (s *Server) EnvironmentConfig() map[string]interface{}

func (*Server) FakeApp

func (s *Server) FakeApp() *App

A temporary bridge to deal with cases where the code is so tighly coupled that this is easier as a temporary solution

func (*Server) FileBackend added in v5.24.0

func (s *Server) FileBackend() (filesstore.FileBackend, *model.AppError)

func (*Server) GetHub added in v5.22.0

func (s *Server) GetHub(index int) (*Hub, error)

getHub gets the element at the given index in the hubs list. This method is safe for concurrent use by multiple goroutines.

func (*Server) GetHubs added in v5.22.0

func (s *Server) GetHubs() []*Hub

GetHubs returns the list of hubs. This method is safe for concurrent use by multiple goroutines.

func (*Server) Go

func (s *Server) Go(f func())

Go creates a goroutine, but maintains a record of it to ensure that execution completes before the server is shutdown.

func (*Server) InitEmailBatching

func (s *Server) InitEmailBatching()

func (*Server) InvokeClusterLeaderChangedListeners

func (s *Server) InvokeClusterLeaderChangedListeners()

func (*Server) License

func (s *Server) License() *model.License

func (*Server) PostActionCookieSecret

func (s *Server) PostActionCookieSecret() []byte

func (*Server) ReloadConfig

func (s *Server) ReloadConfig() error

func (*Server) RemoveClusterLeaderChangedListener

func (s *Server) RemoveClusterLeaderChangedListener(id string)

Removes a listener function by the unique ID returned when AddConfigListener was called

func (*Server) RemoveConfigListener

func (s *Server) RemoveConfigListener(id string)

Removes a listener function by the unique ID returned when AddConfigListener was called

func (*Server) RemoveLicenseListener

func (s *Server) RemoveLicenseListener(id string)

func (*Server) RunOldAppInitialization

func (s *Server) RunOldAppInitialization() error

This is a bridge between the old and new initialization for the context refactor. It calls app layer initialization code that then turns around and acts on the server. Don't add anything new here, new initialization should be done in the server and performed in the NewServer function.

func (*Server) RunOldAppShutdown

func (s *Server) RunOldAppShutdown()

func (*Server) SetHub added in v5.22.0

func (s *Server) SetHub(index int, hub *Hub) error

SetHub sets the element at the given index in the hubs list. This method is safe for concurrent use by multiple goroutines.

func (*Server) SetHubs added in v5.22.0

func (s *Server) SetHubs(hubs []*Hub)

SetHubs sets a new list of hubs. This method is safe for concurrent use by multiple goroutines.

func (*Server) Shutdown

func (s *Server) Shutdown() error

func (*Server) Start

func (s *Server) Start() error

func (*Server) StartSearchEngine added in v5.22.0

func (s *Server) StartSearchEngine() (string, string)

func (*Server) StopHTTPServer

func (s *Server) StopHTTPServer()

func (*Server) TotalWebsocketConnections added in v5.24.0

func (s *Server) TotalWebsocketConnections() int

func (*Server) UpdateConfig

func (s *Server) UpdateConfig(f func(*model.Config))

func (*Server) WaitForGoroutines

func (s *Server) WaitForGoroutines()

WaitForGoroutines blocks until all goroutines created by App.Go exit.

type SettingsProvider

type SettingsProvider struct {
}

func (*SettingsProvider) DoCommand

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

func (*SettingsProvider) GetCommand

func (settings *SettingsProvider) GetCommand(a *App, 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(a *App, args *model.CommandArgs, message string) *model.CommandResponse

func (*ShortcutsProvider) GetCommand

func (me *ShortcutsProvider) GetCommand(a *App, 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(a *App, args *model.CommandArgs, message string) *model.CommandResponse

func (*ShrugProvider) GetCommand

func (me *ShrugProvider) GetCommand(a *App, 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"`
	Creator string          `json:"creator"`
	Members []string        `json:"members"`
	Purpose SlackChannelSub `json:"purpose"`
	Topic   SlackChannelSub `json:"topic"`
	Type    string
}

func SlackParseChannels

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

type SlackChannelSub

type SlackChannelSub struct {
	Value string `json:"value"`
}

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"`
	ThreadTS    string                   `json:"thread_ts"`
	Type        string                   `json:"type"`
	SubType     string                   `json:"subtype"`
	Comment     *SlackComment            `json:"comment"`
	Upload      bool                     `json:"upload"`
	File        *SlackFile               `json:"file"`
	Files       []*SlackFile             `json:"files"`
	Attachments []*model.SlackAttachment `json:"attachments"`
}

func SlackParsePosts

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

type SlackProfile

type SlackProfile struct {
	FirstName string `json:"first_name"`
	LastName  string `json:"last_name"`
	Email     string `json:"email"`
}

type SlackUser

type SlackUser struct {
	Id       string       `json:"id"`
	Username string       `json:"name"`
	Profile  SlackProfile `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(a *App, client *model.Client4, team *model.Team, rangeChannels utils.Range, rangeUsers utils.Range, rangePosts utils.Range, fuzzy bool) (TeamEnvironment, error)

type TeamImportData

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

type TestEnvironment

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

func CreateTestEnvironmentWithTeams

func CreateTestEnvironmentWithTeams(a *App, client *model.Client4, rangeTeams utils.Range, rangeChannels utils.Range, rangeUsers utils.Range, rangePosts utils.Range, fuzzy bool) (TestEnvironment, error)

type TokenLocation

type TokenLocation int
const (
	TokenLocationNotFound TokenLocation = iota
	TokenLocationHeader
	TokenLocationCookie
	TokenLocationQueryString
)

func ParseAuthTokenFromRequest

func ParseAuthTokenFromRequest(r *http.Request) (string, TokenLocation)

func (TokenLocation) String

func (tl TokenLocation) String() string

type UploadFileTask added in v5.22.0

type UploadFileTask struct {
	// File name.
	Name string

	ChannelId string
	TeamId    string
	UserId    string

	// Time stamp to use when creating the file.
	Timestamp time.Time

	// The value of the Content-Length http header, when available.
	ContentLength int64

	// The file data stream.
	Input io.Reader

	// An optional, client-assigned Id field.
	ClientId string

	// If Raw, do not execute special processing for images, just upload
	// the file.  Plugins are still invoked.
	Raw bool
	// contains filtered or unexported fields
}

type UserChannelImportData

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

func ImportUserChannelDataFromChannelMemberAndPreferences

func ImportUserChannelDataFromChannelMemberAndPreferences(member *model.ChannelMemberForExport, preferences *model.Preferences) *UserChannelImportData

type UserChannelNotifyPropsImportData

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

type UserImportData

type UserImportData struct {
	ProfileImage       *string `json:"profile_image,omitempty"`
	Username           *string `json:"username"`
	Email              *string `json:"email"`
	AuthService        *string `json:"auth_service"`
	AuthData           *string `json:"auth_data,omitempty"`
	Password           *string `json:"password,omitempty"`
	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"`
	UseMarkdownPreview *string `json:"feature_enabled_markdown_preview,omitempty"`
	UseFormatting      *string `json:"formatting,omitempty"`
	ShowUnreadSection  *string `json:"show_unread_section,omitempty"`
	DeleteAt           *int64  `json:"delete_at,omitempty"`

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

	Theme              *string `json:"theme,omitempty"`
	UseMilitaryTime    *string `json:"military_time,omitempty"`
	CollapsePreviews   *string `json:"link_previews,omitempty"`
	MessageDisplay     *string `json:"message_display,omitempty"`
	ChannelDisplayMode *string `json:"channel_display_mode,omitempty"`
	TutorialStep       *string `json:"tutorial_step,omitempty"`
	EmailInterval      *string `json:"email_interval,omitempty"`

	NotifyProps *UserNotifyPropsImportData `json:"notify_props,omitempty"`
}

type UserNotifyPropsImportData

type UserNotifyPropsImportData struct {
	Desktop      *string `json:"desktop"`
	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"`
	Theme    *string                  `json:"theme,omitempty"`
	Channels *[]UserChannelImportData `json:"channels,omitempty"`
}

func ImportUserTeamDataFromTeamMember

func ImportUserTeamDataFromTeamMember(member *model.TeamMemberForExport) *UserTeamImportData

type WebConn

type WebConn struct {
	App       *App
	WebSocket *websocket.Conn
	T         goi18n.TranslateFunc
	Locale    string
	Sequence  int64
	UserId    string
	// contains filtered or unexported fields
}

WebConn represents a single websocket connection to a user. It contains all the necesarry state to manage sending/receiving data to/from a websocket.

func (*WebConn) Close

func (wc *WebConn) Close()

Close closes the WebConn.

func (*WebConn) GetSession

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

GetSession returns the session of the connection.

func (*WebConn) GetSessionExpiresAt

func (wc *WebConn) GetSessionExpiresAt() int64

GetSessionExpiresAt returns the time at which the session expires.

func (*WebConn) GetSessionToken

func (wc *WebConn) GetSessionToken() string

GetSessionToken returns the session token of the connection.

func (*WebConn) InvalidateCache

func (wc *WebConn) InvalidateCache()

InvalidateCache resets all internal data of the WebConn.

func (*WebConn) IsAuthenticated

func (wc *WebConn) IsAuthenticated() bool

IsAuthenticated returns whether the given WebConn is authenticated or not.

func (*WebConn) Pump

func (wc *WebConn) Pump()

Pump starts the WebConn instance. After this, the websocket is ready to send/receive messages.

func (*WebConn) SetSession

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

SetSession sets the session of the connection.

func (*WebConn) SetSessionExpiresAt

func (wc *WebConn) SetSessionExpiresAt(v int64)

SetSessionExpiresAt sets the time at which the session expires.

func (*WebConn) SetSessionToken

func (wc *WebConn) SetSessionToken(v string)

SetSessionToken sets the session token of the connection.

type WebSocketRouter

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

func (*WebSocketRouter) Handle

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

func (*WebSocketRouter) ServeWebSocket

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

Source Files

Jump to

Keyboard shortcuts

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