Documentation ¶
Index ¶
- Constants
- Variables
- func ArrayFromJson(data io.Reader) []string
- func ArrayToJson(objmap []string) string
- func CleanTeamName(s string) string
- func CleanUsername(s string) string
- func ClearMentionTags(post string) string
- func ClusterInfosToJson(objmap []*ClusterInfo) string
- func CommandListToJson(l []*Command) string
- func ComparePassword(hash string, password string) bool
- func CompliancePostHeader() []string
- func EmojiListToJson(emojiList []*Emoji) string
- func Etag(parts ...interface{}) string
- func GetAllTasks() *map[string]*ScheduledTask
- func GetDMNameFromIds(userId1, userId2 string) string
- func GetImageMimeType(ext string) string
- func GetInfoForBytes(filename string, data []byte) (*FileInfo, *AppError)
- func GetMillis() int64
- func GetPreviousVersion(version string) string
- func GetSubDomain(s string) (string, string)
- func HashPassword(password string) string
- func IncomingWebhookListToJson(l []*IncomingWebhook) string
- func IsChannelMarkUnreadLevelValid(markUnreadLevel string) bool
- func IsChannelNotifyLevelValid(notifyLevel string) bool
- func IsCurrentVersion(versionToCheck string) bool
- func IsFileExtImage(ext string) bool
- func IsInRole(userRoles string, inRole string) bool
- func IsInTeamRole(teamRoles string, inRole string) bool
- func IsLower(s string) bool
- func IsOfficalBuild() bool
- func IsPreviousVersionsSupported(versionToCheck string) bool
- func IsReservedTeamName(s string) bool
- func IsSafeLink(link *string) bool
- func IsValidAlphaNum(s string, allowUnderscores bool) bool
- func IsValidChannelIdentifier(s string) bool
- func IsValidEmail(email string) bool
- func IsValidHttpUrl(rawUrl string) bool
- func IsValidHttpsUrl(rawUrl string) bool
- func IsValidTeamName(s string) bool
- func IsValidTeamRoles(teamRoles string) bool
- func IsValidUserRoles(userRoles string) bool
- func IsValidUsername(s string) bool
- func MapFromJson(data io.Reader) map[string]string
- func MapToJson(objmap map[string]string) string
- func NewId() string
- func NewRandomString(length int) string
- func NewWebSocketClient(url, authToken string) (*WebSocketClient, *AppError)
- func OAuthAppListToJson(l []*OAuthApp) string
- func OAuthAppMapFromJson(data io.Reader) map[string]*OAuthApp
- func OAuthAppMapToJson(a map[string]*OAuthApp) string
- func OutgoingWebhookListToJson(l []*OutgoingWebhook) string
- func ParseHashtags(text string) (string, string)
- func SessionsToJson(o []*Session) string
- func SplitVersion(version string) (int64, int64, int64)
- func StringFromJson(data io.Reader) string
- func StringInterfaceFromJson(data io.Reader) map[string]interface{}
- func StringInterfaceToJson(objmap map[string]interface{}) string
- func StringToJson(s string) string
- func TeamMapFromJson(data io.Reader) map[string]*Team
- func TeamMapToJson(u map[string]*Team) string
- func TeamMembersToJson(o []*TeamMember) string
- func UserMapFromJson(data io.Reader) map[string]*User
- func UserMapToJson(u map[string]*User) string
- type AccessData
- type AccessResponse
- type AnalyticsRow
- type AnalyticsRows
- type AppError
- type Audit
- type Audits
- type AuthData
- type Channel
- type ChannelCounts
- type ChannelData
- type ChannelExtra
- type ChannelList
- type ChannelMember
- type Client
- func (c *Client) AddChannelMember(id, user_id string) (*Result, *AppError)
- func (c *Client) AddUserToTeam(teamId string, userId string) (*Result, *AppError)
- func (c *Client) AddUserToTeamFromInvite(hash, dataToHash, inviteId string) (*Result, *AppError)
- func (c *Client) AdminResetMfa(userId string) (*Result, *AppError)
- func (c *Client) AdminResetPassword(userId, newPassword string) (*Result, *AppError)
- func (c *Client) AllowOAuth(rspType, clientId, redirect, scope, state string) (*Result, *AppError)
- func (c *Client) AttachDeviceId(deviceId string) (*Result, *AppError)
- func (c *Client) CheckMfa(loginId string) (*Result, *AppError)
- func (c *Client) CheckStatusOK(r *http.Response) bool
- func (c *Client) ClearOAuthToken()
- func (c *Client) ClearTeamId()
- func (c *Client) Command(channelId string, command string, suggest bool) (*Result, *AppError)
- func (c *Client) CreateChannel(channel *Channel) (*Result, *AppError)
- func (c *Client) CreateCommand(cmd *Command) (*Result, *AppError)
- func (c *Client) CreateDirectChannel(userId string) (*Result, *AppError)
- func (c *Client) CreateEmoji(emoji *Emoji, image []byte, filename string) (*Emoji, *AppError)
- func (c *Client) CreateIncomingWebhook(hook *IncomingWebhook) (*Result, *AppError)
- func (c *Client) CreateOutgoingWebhook(hook *OutgoingWebhook) (*Result, *AppError)
- func (c *Client) CreatePost(post *Post) (*Result, *AppError)
- func (c *Client) CreateTeam(team *Team) (*Result, *AppError)
- func (c *Client) CreateTeamFromSignup(teamSignup *TeamSignup) (*Result, *AppError)
- func (c *Client) CreateUser(user *User, hash string) (*Result, *AppError)
- func (c *Client) CreateUserFromSignup(user *User, data string, hash string) (*Result, *AppError)
- func (c *Client) CreateUserWithInvite(user *User, hash string, data string, inviteId string) (*Result, *AppError)
- func (c *Client) DeleteChannel(id string) (*Result, *AppError)
- func (c *Client) DeleteCommand(data map[string]string) (*Result, *AppError)
- func (c *Client) DeleteEmoji(id string) (bool, *AppError)
- func (c *Client) DeleteIncomingWebhook(id string) (*Result, *AppError)
- func (c *Client) DeleteOAuthApp(id string) (*Result, *AppError)
- func (c *Client) DeleteOutgoingWebhook(id string) (*Result, *AppError)
- func (c *Client) DeletePost(channelId string, postId string) (*Result, *AppError)
- func (c *Client) DeletePreferences(preferences *Preferences) (bool, *AppError)
- func (c *Client) DoApiGet(url string, data string, etag string) (*http.Response, *AppError)
- func (c *Client) DoApiPost(url string, data string) (*http.Response, *AppError)
- func (c *Client) DoPost(url, data, contentType string) (*http.Response, *AppError)
- func (c *Client) DownloadComplianceReport(id string) (*Result, *AppError)
- func (c *Client) EmailToLDAP(m map[string]string) (*Result, *AppError)
- func (c *Client) EmailToOAuth(m map[string]string) (*Result, *AppError)
- func (c *Client) FindTeamByName(name string) (*Result, *AppError)
- func (c *Client) GenerateMfaQrCode() (*Result, *AppError)
- func (c *Client) GetAccessToken(data url.Values) (*Result, *AppError)
- func (c *Client) GetAllAudits() (*Result, *AppError)
- func (c *Client) GetAllPreferences() (*Result, *AppError)
- func (c *Client) GetAllTeamListings() (*Result, *AppError)
- func (c *Client) GetAllTeams() (*Result, *AppError)
- func (c *Client) GetAudits(id string, etag string) (*Result, *AppError)
- func (c *Client) GetChannel(id, etag string) (*Result, *AppError)
- func (c *Client) GetChannelCounts(etag string) (*Result, *AppError)
- func (c *Client) GetChannelExtraInfo(id string, memberLimit int, etag string) (*Result, *AppError)
- func (c *Client) GetChannelNameRoute(channelName string) string
- func (c *Client) GetChannelRoute(channelId string) string
- func (c *Client) GetChannels(etag string) (*Result, *AppError)
- func (c *Client) GetClientLicenceConfig(etag string) (*Result, *AppError)
- func (c *Client) GetClientProperties() (map[string]string, *AppError)
- func (c *Client) GetClusterStatus() ([]*ClusterInfo, *AppError)
- func (c *Client) GetComplianceReports() (*Result, *AppError)
- func (c *Client) GetConfig() (*Result, *AppError)
- func (c *Client) GetCustomEmojiImageUrl(id string) string
- func (c *Client) GetDirectProfiles(etag string) (*Result, *AppError)
- func (c *Client) GetEmojiRoute() string
- func (c *Client) GetFile(url string, isFullUrl bool) (*Result, *AppError)
- func (c *Client) GetFileInfo(url string) (*Result, *AppError)
- func (c *Client) GetFlaggedPosts(offset int, limit int) (*Result, *AppError)
- func (c *Client) GetGeneralRoute() string
- func (c *Client) GetInitialLoad() (*Result, *AppError)
- func (c *Client) GetLogs() (*Result, *AppError)
- func (c *Client) GetMe(etag string) (*Result, *AppError)
- func (c *Client) GetMoreChannels(etag string) (*Result, *AppError)
- func (c *Client) GetMyTeam(etag string) (*Result, *AppError)
- func (c *Client) GetOAuthAppInfo(clientId string) (*Result, *AppError)
- func (c *Client) GetOAuthAppsByUser() (*Result, *AppError)
- func (c *Client) GetPing() (map[string]string, *AppError)
- func (c *Client) GetPost(channelId string, postId string, etag string) (*Result, *AppError)
- func (c *Client) GetPosts(channelId string, offset int, limit int, etag string) (*Result, *AppError)
- func (c *Client) GetPostsAfter(channelId string, postid string, offset int, limit int, etag string) (*Result, *AppError)
- func (c *Client) GetPostsBefore(channelId string, postid string, offset int, limit int, etag string) (*Result, *AppError)
- func (c *Client) GetPostsSince(channelId string, time int64) (*Result, *AppError)
- func (c *Client) GetPreference(category string, name string) (*Result, *AppError)
- func (c *Client) GetPreferenceCategory(category string) (*Result, *AppError)
- func (c *Client) GetProfiles(teamId string, etag string) (*Result, *AppError)
- func (c *Client) GetProfilesForDirectMessageList(teamId string) (*Result, *AppError)
- func (c *Client) GetPublicLink(filename string) (*Result, *AppError)
- func (c *Client) GetSessions(id string) (*Result, *AppError)
- func (c *Client) GetStatuses() (*Result, *AppError)
- func (c *Client) GetSystemAnalytics(name string) (*Result, *AppError)
- func (c *Client) GetTeamAnalytics(teamId, name string) (*Result, *AppError)
- func (c *Client) GetTeamId() string
- func (c *Client) GetTeamMembers(teamId string) (*Result, *AppError)
- func (c *Client) GetTeamRoute() string
- func (c *Client) GetUser(id string, etag string) (*Result, *AppError)
- func (c *Client) InviteMembers(invites *Invites) (*Result, *AppError)
- func (c *Client) JoinChannel(id string) (*Result, *AppError)
- func (c *Client) JoinChannelByName(name string) (*Result, *AppError)
- func (c *Client) LDAPToEmail(m map[string]string) (*Result, *AppError)
- func (c *Client) LdapSyncNow() (*Result, *AppError)
- func (c *Client) LeaveChannel(id string) (*Result, *AppError)
- func (c *Client) ListCommands() (*Result, *AppError)
- func (c *Client) ListEmoji() ([]*Emoji, *AppError)
- func (c *Client) ListIncomingWebhooks() (*Result, *AppError)
- func (c *Client) ListOutgoingWebhooks() (*Result, *AppError)
- func (c *Client) ListTeamCommands() (*Result, *AppError)
- func (c *Client) LogClient(message string) (bool, *AppError)
- func (c *Client) Login(loginId string, password string) (*Result, *AppError)
- func (c *Client) LoginById(id string, password string) (*Result, *AppError)
- func (c *Client) LoginByLdap(loginId string, password string) (*Result, *AppError)
- func (c *Client) LoginWithDevice(loginId string, password string, deviceId string) (*Result, *AppError)
- func (c *Client) Logout() (*Result, *AppError)
- func (c *Client) MockSession(sessionToken string)
- func (c *Client) Must(result *Result, err *AppError) *Result
- func (c *Client) MustGeneric(result interface{}, err *AppError) interface{}
- func (c *Client) OAuthToEmail(m map[string]string) (*Result, *AppError)
- func (c *Client) PostToWebhook(id, payload string) (*Result, *AppError)
- func (c *Client) RecycleDatabaseConnection() (bool, *AppError)
- func (c *Client) RegenCommandToken(data map[string]string) (*Result, *AppError)
- func (c *Client) RegenOutgoingWebhookToken(id string) (*Result, *AppError)
- func (c *Client) RegisterApp(app *OAuthApp) (*Result, *AppError)
- func (c *Client) ReloadConfig() (bool, *AppError)
- func (c *Client) RemoveCertificateFile(filename string) *AppError
- func (c *Client) RemoveChannelMember(id, user_id string) (*Result, *AppError)
- func (c *Client) RemoveUserFromTeam(teamId string, userId string) (*Result, *AppError)
- func (c *Client) ResetPassword(code, newPassword string) (*Result, *AppError)
- func (c *Client) RevokeSession(sessionAltId string) (*Result, *AppError)
- func (c *Client) SamlCertificateStatus(filename string) (map[string]interface{}, *AppError)
- func (c *Client) SaveComplianceReport(job *Compliance) (*Result, *AppError)
- func (c *Client) SaveConfig(config *Config) (*Result, *AppError)
- func (c *Client) SearchPosts(terms string, isOrSearch bool) (*Result, *AppError)
- func (c *Client) SendPasswordReset(email string) (*Result, *AppError)
- func (c *Client) SetOAuthToken(token string)
- func (c *Client) SetPreferences(preferences *Preferences) (*Result, *AppError)
- func (c *Client) SetTeamId(teamId string)
- func (c *Client) SignupTeam(email string, displayName string) (*Result, *AppError)
- func (c *Client) TestEmail(config *Config) (*Result, *AppError)
- func (c *Client) UpdateActive(userId string, active bool) (*Result, *AppError)
- func (c *Client) UpdateChannel(channel *Channel) (*Result, *AppError)
- func (c *Client) UpdateChannelHeader(data map[string]string) (*Result, *AppError)
- func (c *Client) UpdateChannelPurpose(data map[string]string) (*Result, *AppError)
- func (c *Client) UpdateLastViewedAt(channelId string) (*Result, *AppError)
- func (c *Client) UpdateMfa(activate bool, token string) (*Result, *AppError)
- func (c *Client) UpdateNotifyProps(data map[string]string) (*Result, *AppError)
- func (c *Client) UpdatePost(post *Post) (*Result, *AppError)
- func (c *Client) UpdateTeam(team *Team) (*Result, *AppError)
- func (c *Client) UpdateUser(user *User) (*Result, *AppError)
- func (c *Client) UpdateUserNotify(data map[string]string) (*Result, *AppError)
- func (c *Client) UpdateUserPassword(userId, currentPassword, newPassword string) (*Result, *AppError)
- func (c *Client) UpdateUserRoles(data map[string]string) (*Result, *AppError)
- func (c *Client) UploadCertificateFile(data []byte, contentType string) *AppError
- func (c *Client) UploadPostAttachment(data []byte, contentType string) (*Result, *AppError)
- func (c *Client) UploadProfileFile(data []byte, contentType string) (*Result, *AppError)
- type ClusterInfo
- type ClusterSettings
- type Command
- type CommandResponse
- type Compliance
- type CompliancePost
- type ComplianceSettings
- type Compliances
- type Config
- type Customer
- type EmailSettings
- type Emoji
- type EncryptStringMap
- type ExtraMember
- type Features
- type FileInfo
- type FileSettings
- type FileUploadResponse
- type IncomingWebhook
- type IncomingWebhookRequest
- type InitialLoad
- type Invites
- type LdapSettings
- type License
- type LicenseRecord
- type LocalizationSettings
- type LogSettings
- type NativeAppSettings
- type OAuthApp
- type OutgoingWebhook
- type OutgoingWebhookPayload
- type PasswordRecovery
- type PasswordSettings
- type Post
- type PostList
- type Preference
- type Preferences
- type PrivacySettings
- type PushNotification
- type RateLimitSettings
- type Result
- type SSOSettings
- type SamlAuthRequest
- type SamlSettings
- type ScheduledTask
- type SearchParams
- type SecurityBulletin
- type SecurityBulletins
- type ServiceSettings
- type Session
- type SqlSettings
- type Status
- type StringArray
- type StringInterface
- type StringMap
- type SuggestCommand
- type SupportSettings
- type System
- type TaskFunc
- type Team
- type TeamMember
- type TeamSettings
- type TeamSignup
- type User
- func (u *User) AddNotifyProp(key string, value string)
- func (u *User) AddProp(key string, value string)
- func (u *User) ClearNonProfileFields()
- func (u *User) Etag(showFullName, showEmail bool) string
- func (u *User) GetDisplayName() string
- func (u *User) GetFullName() string
- func (u *User) IsInRole(inRole string) bool
- func (u *User) IsLDAPUser() bool
- func (u *User) IsOAuthUser() bool
- func (u *User) IsValid() *AppError
- func (u *User) MakeNonNil()
- func (u *User) PreSave()
- func (u *User) PreUpdate()
- func (u *User) Sanitize(options map[string]bool)
- func (u *User) SetDefaultNotifications()
- func (u *User) ToJson() string
- func (user *User) UpdateMentionKeysFromUsername(oldUsername string)
- type WebSocketClient
- func (wsc *WebSocketClient) Close()
- func (wsc *WebSocketClient) Connect() *AppError
- func (wsc *WebSocketClient) GetStatuses()
- func (wsc *WebSocketClient) Listen()
- func (wsc *WebSocketClient) SendMessage(action string, data map[string]interface{})
- func (wsc *WebSocketClient) UserTyping(channelId, parentId string)
- type WebSocketEvent
- type WebSocketMessage
- type WebSocketRequest
- type WebSocketResponse
Constants ¶
const ( ACCESS_TOKEN_GRANT_TYPE = "authorization_code" ACCESS_TOKEN_TYPE = "bearer" REFRESH_TOKEN_GRANT_TYPE = "refresh_token" )
const ( AUTHCODE_EXPIRE_TIME = 60 * 10 // 10 minutes AUTHCODE_RESPONSE_TYPE = "code" DEFAULT_SCOPE = "user" )
const ( CHANNEL_OPEN = "O" CHANNEL_PRIVATE = "P" CHANNEL_DIRECT = "D" DEFAULT_CHANNEL = "town-square" )
const ( CHANNEL_ROLE_ADMIN = "admin" CHANNEL_NOTIFY_DEFAULT = "default" CHANNEL_NOTIFY_ALL = "all" CHANNEL_NOTIFY_MENTION = "mention" CHANNEL_NOTIFY_NONE = "none" CHANNEL_MARK_UNREAD_ALL = "all" CHANNEL_MARK_UNREAD_MENTION = "mention" )
const ( HEADER_REQUEST_ID = "X-Request-ID" HEADER_VERSION_ID = "X-Version-ID" HEADER_CLUSTER_ID = "X-Cluster-ID" HEADER_ETAG_SERVER = "ETag" HEADER_ETAG_CLIENT = "If-None-Match" HEADER_FORWARDED = "X-Forwarded-For" HEADER_REAL_IP = "X-Real-IP" HEADER_FORWARDED_PROTO = "X-Forwarded-Proto" HEADER_TOKEN = "token" HEADER_BEARER = "BEARER" HEADER_AUTH = "Authorization" HEADER_REQUESTED_WITH = "X-Requested-With" HEADER_REQUESTED_WITH_XML = "XMLHttpRequest" STATUS = "status" STATUS_OK = "OK" STATUS_FAIL = "FAIL" API_URL_SUFFIX_V1 = "/api/v1" API_URL_SUFFIX_V3 = "/api/v3" API_URL_SUFFIX = API_URL_SUFFIX_V3 )
const ( COMMAND_METHOD_POST = "P" COMMAND_METHOD_GET = "G" MIN_TRIGGER_LENGTH = 1 MAX_TRIGGER_LENGTH = 128 )
const ( COMMAND_RESPONSE_TYPE_IN_CHANNEL = "in_channel" COMMAND_RESPONSE_TYPE_EPHEMERAL = "ephemeral" )
const ( COMPLIANCE_STATUS_CREATED = "created" COMPLIANCE_STATUS_RUNNING = "running" COMPLIANCE_STATUS_FINISHED = "finished" COMPLIANCE_STATUS_FAILED = "failed" COMPLIANCE_STATUS_REMOVED = "removed" COMPLIANCE_TYPE_DAILY = "daily" COMPLIANCE_TYPE_ADHOC = "adhoc" )
const ( CONN_SECURITY_NONE = "" CONN_SECURITY_TLS = "TLS" CONN_SECURITY_STARTTLS = "STARTTLS" IMAGE_DRIVER_LOCAL = "local" IMAGE_DRIVER_S3 = "amazons3" DATABASE_DRIVER_MYSQL = "mysql" DATABASE_DRIVER_POSTGRES = "postgres" PASSWORD_MAXIMUM_LENGTH = 64 PASSWORD_MINIMUM_LENGTH = 5 SERVICE_GITLAB = "gitlab" SERVICE_GOOGLE = "google" SERVICE_OFFICE365 = "office365" WEBSERVER_MODE_REGULAR = "regular" WEBSERVER_MODE_GZIP = "gzip" WEBSERVER_MODE_DISABLED = "disabled" GENERIC_NOTIFICATION = "generic" FULL_NOTIFICATION = "full" DIRECT_MESSAGE_ANY = "any" DIRECT_MESSAGE_TEAM = "team" PERMISSIONS_ALL = "all" PERMISSIONS_TEAM_ADMIN = "team_admin" PERMISSIONS_SYSTEM_ADMIN = "system_admin" FAKE_SETTING = "********************************" RESTRICT_EMOJI_CREATION_ALL = "all" RESTRICT_EMOJI_CREATION_ADMIN = "admin" RESTRICT_EMOJI_CREATION_SYSTEM_ADMIN = "system_admin" SITENAME_MAX_LENGTH = 30 )
const ( USER_AUTH_SERVICE_LDAP = "ldap" LDAP_SYNC_TASK_NAME = "LDAP Syncronization" )
const ( OAUTH_ACTION_SIGNUP = "signup" OAUTH_ACTION_LOGIN = "login" OAUTH_ACTION_EMAIL_TO_SSO = "email_to_sso" OAUTH_ACTION_SSO_TO_EMAIL = "sso_to_email" )
const ( PASSWORD_RECOVERY_CODE_SIZE = 128 PASSWORD_RECOVER_EXPIRY_TIME = 1000 * 60 * 60 // 1 hour )
const ( POST_SYSTEM_MESSAGE_PREFIX = "system_" POST_DEFAULT = "" POST_SLACK_ATTACHMENT = "slack_attachment" POST_SYSTEM_GENERIC = "system_generic" POST_JOIN_LEAVE = "system_join_leave" POST_HEADER_CHANGE = "system_header_change" POST_CHANNEL_DELETED = "system_channel_deleted" POST_EPHEMERAL = "system_ephemeral" )
const ( PREFERENCE_CATEGORY_DIRECT_CHANNEL_SHOW = "direct_channel_show" PREFERENCE_CATEGORY_TUTORIAL_STEPS = "tutorial_step" PREFERENCE_CATEGORY_ADVANCED_SETTINGS = "advanced_settings" PREFERENCE_CATEGORY_FLAGGED_POST = "flagged_post" PREFERENCE_CATEGORY_DISPLAY_SETTINGS = "display_settings" PREFERENCE_NAME_COLLAPSE_SETTING = "collapse_previews" PREFERENCE_CATEGORY_THEME = "theme" PREFERENCE_CATEGORY_AUTHORIZED_OAUTH_APP = "oauth_app" PREFERENCE_CATEGORY_LAST = "last" PREFERENCE_NAME_LAST_CHANNEL = "channel" )
const ( PUSH_NOTIFY_APPLE = "apple" PUSH_NOTIFY_ANDROID = "android" CATEGORY_DM = "DIRECT_MESSAGE" MHPNS = "https://push.mattermost.com" )
const ( USER_AUTH_SERVICE_SAML = "saml" USER_AUTH_SERVICE_SAML_TEXT = "With SAML" SAML_IDP_CERTIFICATE = 1 SAML_PRIVATE_KEY = 2 SAML_PUBLIC_CERT = 3 )
const ( SESSION_COOKIE_TOKEN = "MMAUTHTOKEN" SESSION_CACHE_SIZE = 10000 SESSION_PROP_PLATFORM = "platform" SESSION_PROP_OS = "os" SESSION_PROP_BROWSER = "browser" )
const ( STATUS_OFFLINE = "offline" STATUS_AWAY = "away" STATUS_ONLINE = "online" STATUS_CACHE_SIZE = 10000 )
const ( SYSTEM_DIAGNOSTIC_ID = "DiagnosticId" SYSTEM_RAN_UNIT_TESTS = "RanUnitTests" SYSTEM_LAST_SECURITY_TIME = "LastSecurityTime" SYSTEM_ACTIVE_LICENSE_ID = "ActiveLicenseId" SYSTEM_LAST_COMPLIANCE_TIME = "LastComplianceTime" )
const ( TEAM_OPEN = "O" TEAM_INVITE = "I" )
const ( ROLE_SYSTEM_ADMIN = "system_admin" USER_NOTIFY_ALL = "all" USER_NOTIFY_MENTION = "mention" USER_NOTIFY_NONE = "none" DEFAULT_LOCALE = "en" USER_AUTH_SERVICE_EMAIL = "email" USER_AUTH_SERVICE_USERNAME = "username" )
const ( LOWERCASE_LETTERS = "abcdefghijklmnopqrstuvwxyz" UPPERCASE_LETTERS = "ABCDEFGHIJKLMNOPQRSTUVWXYZ" NUMBERS = "0123456789" SYMBOLS = " !\"\\#$%&'()*+,-./:;<=>?@[]^_`|~" )
const ( WEBSOCKET_EVENT_TYPING = "typing" WEBSOCKET_EVENT_POSTED = "posted" WEBSOCKET_EVENT_POST_EDITED = "post_edited" WEBSOCKET_EVENT_POST_DELETED = "post_deleted" WEBSOCKET_EVENT_CHANNEL_DELETED = "channel_deleted" WEBSOCKET_EVENT_CHANNEL_VIEWED = "channel_viewed" WEBSOCKET_EVENT_DIRECT_ADDED = "direct_added" WEBSOCKET_EVENT_NEW_USER = "new_user" WEBSOCKET_EVENT_LEAVE_TEAM = "leave_team" WEBSOCKET_EVENT_USER_ADDED = "user_added" WEBSOCKET_EVENT_USER_REMOVED = "user_removed" WEBSOCKET_EVENT_PREFERENCE_CHANGED = "preference_changed" WEBSOCKET_EVENT_EPHEMERAL_MESSAGE = "ephemeral_message" WEBSOCKET_EVENT_STATUS_CHANGE = "status_change" )
const (
DEFAULT_WEBHOOK_USERNAME = "webhook"
)
const (
ROLE_TEAM_ADMIN = "admin"
)
const (
USER_AUTH_SERVICE_GITLAB = "gitlab"
)
Variables ¶
var ( IMAGE_EXTENSIONS = [5]string{".jpg", ".jpeg", ".gif", ".bmp", ".png"} IMAGE_MIME_TYPES = map[string]string{".jpg": "image/jpeg", ".jpeg": "image/jpeg", ".gif": "image/gif", ".bmp": "image/bmp", ".png": "image/png", ".tiff": "image/tiff"} )
var BuildDate string
var BuildEnterpriseReady string
var BuildHash string
var BuildHashEnterprise string
var BuildNumber string
var CurrentVersion string = versions[0]
var PartialUrlRegex = regexp.MustCompile(`/([A-Za-z0-9]{26})/([A-Za-z0-9]{26})/((?:[A-Za-z0-9]{26})?.+(?:\.[A-Za-z0-9]{3,})?)`)
var SplitRunes = map[rune]bool{',': true, ' ': true, '.': true, '!': true, '?': true, ':': true, ';': true, '\n': true, '<': true, '>': true, '(': true, ')': true, '{': true, '}': true, '[': true, ']': true, '+': true, '/': true, '\\': true}
var UrlRegex = regexp.MustCompile(`^((?:[a-z]+:\/\/)?(?:(?:[a-z0-9\-]+\.)+(?:[a-z]{2}|aero|arpa|biz|com|coop|edu|gov|info|int|jobs|mil|museum|name|nato|net|org|pro|travel|local|internal))(:[0-9]{1,5})?(?:\/[a-z0-9_\-\.~]+)*(\/([a-z0-9_\-\.]*)(?:\?[a-z0-9+_~\-\.%=&]*)?)?(?:#[a-zA-Z0-9!$&'()*+.=-_~:@/?]*)?)(?:\s+|$)$`)
Functions ¶
func ArrayFromJson ¶
func ArrayToJson ¶
func CleanTeamName ¶
func CleanUsername ¶
func ClearMentionTags ¶
func ClusterInfosToJson ¶ added in v3.3.0
func ClusterInfosToJson(objmap []*ClusterInfo) string
func CommandListToJson ¶
func ComparePassword ¶
ComparePassword compares the hash
func CompliancePostHeader ¶
func CompliancePostHeader() []string
func EmojiListToJson ¶ added in v3.2.0
func GetAllTasks ¶ added in v3.1.0
func GetAllTasks() *map[string]*ScheduledTask
func GetDMNameFromIds ¶
func GetImageMimeType ¶
func GetMillis ¶
func GetMillis() int64
GetMillis is a convience method to get milliseconds since epoch.
func GetPreviousVersion ¶
func GetSubDomain ¶
func HashPassword ¶
HashPassword generates a hash using the bcrypt.GenerateFromPassword
func IncomingWebhookListToJson ¶
func IncomingWebhookListToJson(l []*IncomingWebhook) string
func IsCurrentVersion ¶
func IsFileExtImage ¶
func IsInRole ¶
Make sure you acually want to use this function. In context.go there are functions to check permissions This function should not be used to check permissions.
func IsInTeamRole ¶
func IsOfficalBuild ¶
func IsOfficalBuild() bool
func IsReservedTeamName ¶
func IsSafeLink ¶
func IsValidAlphaNum ¶
func IsValidEmail ¶
func IsValidHttpUrl ¶
func IsValidHttpsUrl ¶
func IsValidTeamName ¶
func IsValidTeamRoles ¶
func IsValidUserRoles ¶
func IsValidUsername ¶
func MapFromJson ¶
MapFromJson will decode the key/value pair map
func NewId ¶
func NewId() string
NewId is a globally unique identifier. It is a [A-Z0-9] string 26 characters long. It is a UUID version 4 Guid that is zbased32 encoded with the padding stripped off.
func NewRandomString ¶
func NewWebSocketClient ¶ added in v3.3.0
func NewWebSocketClient(url, authToken string) (*WebSocketClient, *AppError)
NewWebSocketClient constructs a new WebSocket client with convienence methods for talking to the server.
func OAuthAppListToJson ¶ added in v3.3.0
func OAuthAppMapToJson ¶
func OutgoingWebhookListToJson ¶
func OutgoingWebhookListToJson(l []*OutgoingWebhook) string
func ParseHashtags ¶
func SessionsToJson ¶
func StringFromJson ¶
func StringInterfaceFromJson ¶
func StringInterfaceToJson ¶
func StringToJson ¶
func TeamMapToJson ¶
func TeamMembersToJson ¶
func TeamMembersToJson(o []*TeamMember) string
func UserMapToJson ¶
Types ¶
type AccessData ¶
type AccessData struct { ClientId string `json:"client_id"` UserId string `json:"user_id"` Token string `json:"token"` RefreshToken string `json:"refresh_token"` RedirectUri string `json:"redirect_uri"` ExpiresAt int64 `json:"expires_at"` }
func AccessDataFromJson ¶
func AccessDataFromJson(data io.Reader) *AccessData
func (*AccessData) IsExpired ¶ added in v3.3.0
func (me *AccessData) IsExpired() bool
func (*AccessData) IsValid ¶
func (ad *AccessData) IsValid() *AppError
IsValid validates the AccessData and returns an error if it isn't configured correctly.
func (*AccessData) ToJson ¶
func (ad *AccessData) ToJson() string
type AccessResponse ¶
type AccessResponse struct { AccessToken string `json:"access_token"` TokenType string `json:"token_type"` ExpiresIn int32 `json:"expires_in"` Scope string `json:"scope"` RefreshToken string `json:"refresh_token"` }
func AccessResponseFromJson ¶
func AccessResponseFromJson(data io.Reader) *AccessResponse
func (*AccessResponse) ToJson ¶
func (ar *AccessResponse) ToJson() string
type AnalyticsRow ¶
func AnalyticsRowFromJson ¶
func AnalyticsRowFromJson(data io.Reader) *AnalyticsRow
func (*AnalyticsRow) ToJson ¶
func (me *AnalyticsRow) ToJson() string
type AnalyticsRows ¶
type AnalyticsRows []*AnalyticsRow
func AnalyticsRowsFromJson ¶
func AnalyticsRowsFromJson(data io.Reader) AnalyticsRows
func (AnalyticsRows) ToJson ¶
func (me AnalyticsRows) ToJson() string
type AppError ¶
type AppError struct { Id string `json:"id"` Message string `json:"message"` // Message to be display to the end user without debugging information DetailedError string `json:"detailed_error"` // Internal error string to help the developer RequestId string `json:"request_id,omitempty"` // The RequestId that's also set in the header StatusCode int `json:"status_code,omitempty"` // The http status code Where string `json:"-"` // The function where it happened in the form of Struct.Func IsOAuth bool `json:"is_oauth,omitempty"` // Whether the error is OAuth specific // contains filtered or unexported fields }
func AppErrorFromJson ¶
AppErrorFromJson will decode the input and return an AppError
func NewLocAppError ¶
func (*AppError) SystemMessage ¶
func (er *AppError) SystemMessage(T goi18n.TranslateFunc) string
func (*AppError) Translate ¶
func (er *AppError) Translate(T goi18n.TranslateFunc)
type Audit ¶
type Audit struct { Id string `json:"id"` CreateAt int64 `json:"create_at"` UserId string `json:"user_id"` Action string `json:"action"` ExtraInfo string `json:"extra_info"` IpAddress string `json:"ip_address"` SessionId string `json:"session_id"` }
func AuditFromJson ¶
type AuthData ¶
type AuthData struct { ClientId string `json:"client_id"` UserId string `json:"user_id"` Code string `json:"code"` ExpiresIn int32 `json:"expires_in"` CreateAt int64 `json:"create_at"` RedirectUri string `json:"redirect_uri"` State string `json:"state"` Scope string `json:"scope"` }
func AuthDataFromJson ¶
type Channel ¶
type Channel struct { Id string `json:"id"` CreateAt int64 `json:"create_at"` UpdateAt int64 `json:"update_at"` DeleteAt int64 `json:"delete_at"` TeamId string `json:"team_id"` Type string `json:"type"` DisplayName string `json:"display_name"` Name string `json:"name"` Header string `json:"header"` Purpose string `json:"purpose"` LastPostAt int64 `json:"last_post_at"` TotalMsgCount int64 `json:"total_msg_count"` ExtraUpdateAt int64 `json:"extra_update_at"` CreatorId string `json:"creator_id"` }
func ChannelFromJson ¶
func (*Channel) ExtraUpdated ¶
func (o *Channel) ExtraUpdated()
type ChannelCounts ¶
type ChannelCounts struct { Counts map[string]int64 `json:"counts"` UpdateTimes map[string]int64 `json:"update_times"` }
func ChannelCountsFromJson ¶
func ChannelCountsFromJson(data io.Reader) *ChannelCounts
func (*ChannelCounts) Etag ¶
func (o *ChannelCounts) Etag() string
func (*ChannelCounts) ToJson ¶
func (o *ChannelCounts) ToJson() string
type ChannelData ¶
type ChannelData struct { Channel *Channel `json:"channel"` Member *ChannelMember `json:"member"` }
func ChannelDataFromJson ¶
func ChannelDataFromJson(data io.Reader) *ChannelData
func (*ChannelData) Etag ¶
func (o *ChannelData) Etag() string
func (*ChannelData) ToJson ¶
func (o *ChannelData) ToJson() string
type ChannelExtra ¶
type ChannelExtra struct { Id string `json:"id"` Members []ExtraMember `json:"members"` MemberCount int64 `json:"member_count"` }
func ChannelExtraFromJson ¶
func ChannelExtraFromJson(data io.Reader) *ChannelExtra
func (*ChannelExtra) ToJson ¶
func (o *ChannelExtra) ToJson() string
type ChannelList ¶
type ChannelList struct { Channels []*Channel `json:"channels"` Members map[string]*ChannelMember `json:"members"` }
func ChannelListFromJson ¶
func ChannelListFromJson(data io.Reader) *ChannelList
func (*ChannelList) Etag ¶
func (o *ChannelList) Etag() string
func (*ChannelList) ToJson ¶
func (o *ChannelList) ToJson() string
type ChannelMember ¶
type ChannelMember struct { ChannelId string `json:"channel_id"` UserId string `json:"user_id"` Roles string `json:"roles"` LastViewedAt int64 `json:"last_viewed_at"` MsgCount int64 `json:"msg_count"` MentionCount int64 `json:"mention_count"` NotifyProps StringMap `json:"notify_props"` LastUpdateAt int64 `json:"last_update_at"` }
func ChannelMemberFromJson ¶
func ChannelMemberFromJson(data io.Reader) *ChannelMember
func (*ChannelMember) IsValid ¶
func (o *ChannelMember) IsValid() *AppError
func (*ChannelMember) PreSave ¶
func (o *ChannelMember) PreSave()
func (*ChannelMember) PreUpdate ¶
func (o *ChannelMember) PreUpdate()
func (*ChannelMember) ToJson ¶
func (o *ChannelMember) ToJson() string
type Client ¶
type Client struct { Url string // The location of the server like "http://localhost:8065" ApiUrl string // The api location of the server like "http://localhost:8065/api/v3" HttpClient *http.Client // The http client AuthToken string AuthType string TeamId string RequestId string Etag string ServerVersion string }
func NewClient ¶
NewClient constructs a new client with convienence methods for talking to the server.
func (*Client) AddChannelMember ¶
func (*Client) AddUserToTeam ¶
Adds a user directly to the team without sending an invite. The teamId and userId are required. You must be a valid member of the team and/or have the correct role to add new users to the team. Returns a map of user_id=userId if successful, otherwise returns an AppError.
func (*Client) AddUserToTeamFromInvite ¶
AddUserToTeamFromInvite adds a user to a team based off data provided in an invite link. Either hash and dataToHash are required or inviteId is required.
func (*Client) AdminResetPassword ¶
func (*Client) AllowOAuth ¶
AllowOAuth allows a new session by an OAuth2 App. On success it returns the url to be redirected back to the app which initiated the oauth2 flow. Must be authenticated as a user.
func (*Client) AttachDeviceId ¶
func (*Client) CheckMfa ¶
CheckMfa returns a map with key "mfa_required" with the string value "true" or "false", indicating whether MFA is required to log the user in, based on a provided login id (username, email or some sort of SSO identifier based on configuration).
func (*Client) CheckStatusOK ¶ added in v3.1.0
CheckStatusOK is a convenience function for checking the return of Web Service call that return the a map of status=OK.
func (*Client) ClearOAuthToken ¶
func (c *Client) ClearOAuthToken()
func (*Client) ClearTeamId ¶
func (c *Client) ClearTeamId()
func (*Client) CreateChannel ¶
func (*Client) CreateDirectChannel ¶
func (*Client) CreateEmoji ¶ added in v3.2.0
CreateEmoji will save an emoji to the server if the current user has permission to do so. If successful, the provided emoji will be returned with its Id field filled in. Otherwise, an error will be returned.
func (*Client) CreateIncomingWebhook ¶
func (c *Client) CreateIncomingWebhook(hook *IncomingWebhook) (*Result, *AppError)
func (*Client) CreateOutgoingWebhook ¶
func (c *Client) CreateOutgoingWebhook(hook *OutgoingWebhook) (*Result, *AppError)
func (*Client) CreateTeam ¶
CreateTeam creates a team based on the provided Team struct. On success it returns the Team struct with the Id, CreateAt and other server-decided fields populated.
func (*Client) CreateTeamFromSignup ¶
func (c *Client) CreateTeamFromSignup(teamSignup *TeamSignup) (*Result, *AppError)
CreateTeamFromSignup creates a team based on the provided TeamSignup struct. On success it returns the TeamSignup struct.
func (*Client) CreateUser ¶
CreateUser creates a user in the system based on the provided user struct.
func (*Client) CreateUserFromSignup ¶
func (*Client) CreateUserWithInvite ¶
func (c *Client) CreateUserWithInvite(user *User, hash string, data string, inviteId string) (*Result, *AppError)
CreateUserWithInvite creates a user based on the provided user struct. Either the hash and data strings or the inviteId is required from the invite.
func (*Client) DeleteCommand ¶
func (*Client) DeleteEmoji ¶ added in v3.2.0
DeleteEmoji will delete an emoji from the server if the current user has permission to do so. If successful, it will return status=ok. Otherwise, an error will be returned.
func (*Client) DeleteIncomingWebhook ¶
func (*Client) DeleteOAuthApp ¶ added in v3.3.0
DeleteOAuthApp deletes an OAuth2 app, the app must be deleted by the same user who created it or a System Administrator. On success returs Status OK. Must be authenticated as a user.
func (*Client) DeleteOutgoingWebhook ¶
func (*Client) DeletePost ¶
func (*Client) DeletePreferences ¶ added in v3.3.0
func (c *Client) DeletePreferences(preferences *Preferences) (bool, *AppError)
DeletePreferences deletes a list of preferences owned by the current user. If successful, it will return status=ok. Otherwise, an error will be returned.
func (*Client) DownloadComplianceReport ¶
func (*Client) EmailToOAuth ¶
func (*Client) FindTeamByName ¶
FindTeamByName returns the strings "true" or "false" depending on if a team with the provided name was found.
func (*Client) GenerateMfaQrCode ¶
GenerateMfaQrCode returns a QR code imagem containing the secret, to be scanned by a multi-factor authentication mobile application. Must be authenticated.
func (*Client) GetAccessToken ¶
func (*Client) GetAllAudits ¶
func (*Client) GetAllPreferences ¶
func (*Client) GetAllTeamListings ¶
GetAllTeamListings returns a map of all teams that are available to join using team ids as the key. Must be authenticated.
func (*Client) GetAllTeams ¶
GetAllTeams returns a map of all teams using team ids as the key.
func (*Client) GetChannelCounts ¶
func (*Client) GetChannelExtraInfo ¶
func (*Client) GetChannelNameRoute ¶
func (*Client) GetChannelRoute ¶
func (*Client) GetClientLicenceConfig ¶
func (*Client) GetClientProperties ¶
GetClientProperties returns properties needed by the client to show/hide certian features. It returns a map of strings.
func (*Client) GetClusterStatus ¶ added in v3.3.0
func (c *Client) GetClusterStatus() ([]*ClusterInfo, *AppError)
func (*Client) GetComplianceReports ¶
func (*Client) GetCustomEmojiImageUrl ¶ added in v3.2.0
GetCustomEmojiImageUrl returns the API route that can be used to get the image used by the given emoji.
func (*Client) GetDirectProfiles ¶
GetDirectProfiles gets a map of users that are currently shown in the sidebar, using user id as the key. Must be authenticated.
func (*Client) GetEmojiRoute ¶ added in v3.2.0
func (*Client) GetFlaggedPosts ¶ added in v3.3.0
GetFlaggedPosts will return a post list of posts that have been flagged by the user. The page is set by the integer parameters offset and limit.
func (*Client) GetGeneralRoute ¶ added in v3.1.0
func (*Client) GetInitialLoad ¶
func (*Client) GetOAuthAppInfo ¶ added in v3.3.0
GetOAuthAppInfo lookup an OAuth2 App using the client_id. On success it returns a Sanitized OAuth2 App. Must be authenticated as a user.
func (*Client) GetOAuthAppsByUser ¶ added in v3.3.0
GetOAuthAppsByUser returns the OAuth2 Apps registered by the user. On success it returns a list of OAuth2 Apps from the same user or all the registered apps if the user is a System Administrator. Must be authenticated as a user.
func (*Client) GetPing ¶ added in v3.1.0
GetPing returns a map of strings with server time, server version, and node Id. Systems that want to check on health status of the server should check the url /api/v3/ping for a 200 status response.
func (*Client) GetPostsAfter ¶
func (*Client) GetPostsBefore ¶
func (*Client) GetPostsSince ¶
func (*Client) GetPreference ¶
func (*Client) GetPreferenceCategory ¶
func (*Client) GetProfiles ¶
GetProfiles returns a map of users for a team using user id as the key. Must be authenticated.
func (*Client) GetProfilesForDirectMessageList ¶
GetProfilesForDirectMessageList returns a map of users for a team that can be direct messaged, using user id as the key. Must be authenticated.
func (*Client) GetStatuses ¶
GetStatuses returns a map of string statuses using user id as the key
func (*Client) GetSystemAnalytics ¶
func (*Client) GetTeamAnalytics ¶
func (*Client) GetTeamRoute ¶
func (*Client) GetUser ¶
GetUser returns a user based on a provided user id string. Must be authenticated.
func (*Client) InviteMembers ¶
func (*Client) JoinChannelByName ¶
func (*Client) LdapSyncNow ¶ added in v3.2.0
Initiate immediate synchronization of LDAP users. The synchronization will be performed asynchronously and this function will always return OK unless you don't have permissions. You must be the system administrator to use this function.
func (*Client) ListCommands ¶
func (*Client) ListEmoji ¶ added in v3.2.0
ListEmoji returns a list of all user-created emoji for the server.
func (*Client) ListIncomingWebhooks ¶
func (*Client) ListOutgoingWebhooks ¶
func (*Client) ListTeamCommands ¶
func (*Client) LogClient ¶ added in v3.1.0
LogClient is a convenience Web Service call so clients can log messages into the server-side logs. For example we typically log javascript error messages into the server-side. It returns true if the logging was successful.
func (*Client) Login ¶
Login authenticates a user by login id, which can be username, email or some sort of SSO identifier based on configuration, and a password.
func (*Client) LoginByLdap ¶
LoginByLdap authenticates a user by LDAP id and password.
func (*Client) LoginWithDevice ¶
func (c *Client) LoginWithDevice(loginId string, password string, deviceId string) (*Result, *AppError)
LoginWithDevice authenticates a user by login id (username, email or some sort of SSO identifier based on configuration), password and attaches a device id to the session.
func (*Client) MockSession ¶
func (*Client) MustGeneric ¶ added in v3.2.0
MustGeneric is a convenience function used for testing.
func (*Client) OAuthToEmail ¶
func (*Client) PostToWebhook ¶
func (*Client) RecycleDatabaseConnection ¶ added in v3.1.0
RecycleDatabaseConnection will attempt to recycle the database connections. You must have the system admin role to call this method. It will return status=OK if it's successfully recycled the connections, otherwise check the returned error.
func (*Client) RegenCommandToken ¶
func (*Client) RegenOutgoingWebhookToken ¶
func (*Client) RegisterApp ¶
RegisterApp creates a new OAuth2 app to be used with the OAuth2 Provider. On success it returns the created app. Must be authenticated as a user.
func (*Client) ReloadConfig ¶ added in v3.1.0
ReloadConfig will reload the config.json file from disk. Properties requiring a server restart will still need a server restart. You must have the system admin role to call this method. It will return status=OK if it's successfully reloaded the config file, otherwise check the returned error.
func (*Client) RemoveCertificateFile ¶ added in v3.3.0
Removes a x509 base64 Certificate or Private Key file used with SAML. filename is required. Returns nil if successful, otherwise returns an AppError
func (*Client) RemoveChannelMember ¶
func (*Client) RemoveUserFromTeam ¶ added in v3.2.0
Removes a user directly from the team. The teamId and userId are required. You must be a valid member of the team and/or have the correct role to remove a user from the team. Returns a map of user_id=userId if successful, otherwise returns an AppError.
func (*Client) ResetPassword ¶
func (*Client) RevokeSession ¶
func (*Client) SamlCertificateStatus ¶ added in v3.3.0
Checks if the x509 base64 Certificates and Private Key files used with SAML exists on the file system. Returns a map[string]interface{} if successful, otherwise returns an AppError. Must be System Admin authenticated.
func (*Client) SaveComplianceReport ¶
func (c *Client) SaveComplianceReport(job *Compliance) (*Result, *AppError)
func (*Client) SearchPosts ¶
func (*Client) SendPasswordReset ¶
func (*Client) SetOAuthToken ¶
func (*Client) SetPreferences ¶
func (c *Client) SetPreferences(preferences *Preferences) (*Result, *AppError)
func (*Client) SignupTeam ¶
SignupTeam sends an email with a team sign-up link to the provided address if email verification is enabled, otherwise it returns a map with a "follow_link" entry containing the team sign-up link.
func (*Client) UpdateActive ¶
func (*Client) UpdateChannel ¶
func (*Client) UpdateChannelHeader ¶
func (*Client) UpdateChannelPurpose ¶
func (*Client) UpdateLastViewedAt ¶
func (*Client) UpdateMfa ¶
UpdateMfa activates multi-factor authenticates for the current user if activate is true and a valid token is provided. If activate is false, then token is not required and multi-factor authentication is disabled for the current user.
func (*Client) UpdateNotifyProps ¶
func (*Client) UpdateTeam ¶
UpdateTeam updates a team based on the changes in the provided team struct. On success it returns a sanitized version of the updated team. Must be authenticated as a team admin for that team or a system admin.
func (*Client) UpdateUserNotify ¶
func (*Client) UpdateUserPassword ¶
func (*Client) UpdateUserRoles ¶
func (*Client) UploadCertificateFile ¶ added in v3.3.0
Uploads a x509 base64 Certificate or Private Key file to be used with SAML. data byte array is required and needs to be a Multi-Part with 'certificate' as the field name contentType is also required. Returns nil if succesful, otherwise returns an AppError
func (*Client) UploadPostAttachment ¶
type ClusterInfo ¶ added in v3.3.0
type ClusterInfo struct { Id string `json:"id"` Version string `json:"version"` ConfigHash string `json:"config_hash"` InterNodeUrl string `json:"internode_url"` Hostname string `json:"hostname"` LastSuccessfulPing int64 `json:"last_ping"` IsAlive bool `json:"is_alive"` }
func ClusterInfoFromJson ¶ added in v3.3.0
func ClusterInfoFromJson(data io.Reader) *ClusterInfo
func ClusterInfosFromJson ¶ added in v3.3.0
func ClusterInfosFromJson(data io.Reader) []*ClusterInfo
func (*ClusterInfo) HaveEstablishedInitialContact ¶ added in v3.3.0
func (me *ClusterInfo) HaveEstablishedInitialContact() bool
func (*ClusterInfo) ToJson ¶ added in v3.3.0
func (me *ClusterInfo) ToJson() string
type ClusterSettings ¶ added in v3.3.0
type Command ¶
type Command struct { Id string `json:"id"` Token string `json:"token"` CreateAt int64 `json:"create_at"` UpdateAt int64 `json:"update_at"` DeleteAt int64 `json:"delete_at"` CreatorId string `json:"creator_id"` TeamId string `json:"team_id"` Trigger string `json:"trigger"` Method string `json:"method"` Username string `json:"username"` IconURL string `json:"icon_url"` AutoComplete bool `json:"auto_complete"` AutoCompleteDesc string `json:"auto_complete_desc"` AutoCompleteHint string `json:"auto_complete_hint"` DisplayName string `json:"display_name"` Description string `json:"description"` URL string `json:"url"` }
func CommandFromJson ¶
func CommandListFromJson ¶
type CommandResponse ¶
type CommandResponse struct { ResponseType string `json:"response_type"` Text string `json:"text"` GotoLocation string `json:"goto_location"` Attachments interface{} `json:"attachments"` }
func CommandResponseFromJson ¶
func CommandResponseFromJson(data io.Reader) *CommandResponse
func (*CommandResponse) ToJson ¶
func (o *CommandResponse) ToJson() string
type Compliance ¶
type Compliance struct { Id string `json:"id"` CreateAt int64 `json:"create_at"` UserId string `json:"user_id"` Status string `json:"status"` Count int `json:"count"` Desc string `json:"desc"` Type string `json:"type"` StartAt int64 `json:"start_at"` EndAt int64 `json:"end_at"` Keywords string `json:"keywords"` Emails string `json:"emails"` }
func ComplianceFromJson ¶
func ComplianceFromJson(data io.Reader) *Compliance
func (*Compliance) IsValid ¶
func (me *Compliance) IsValid() *AppError
func (*Compliance) JobName ¶
func (me *Compliance) JobName() string
func (*Compliance) PreSave ¶
func (me *Compliance) PreSave()
func (*Compliance) ToJson ¶
func (o *Compliance) ToJson() string
type CompliancePost ¶
type CompliancePost struct { // From Team TeamName string TeamDisplayName string // From Channel ChannelName string ChannelDisplayName string // From User UserUsername string UserEmail string UserNickname string // From Post PostId string PostCreateAt int64 PostUpdateAt int64 PostDeleteAt int64 PostRootId string PostParentId string PostOriginalId string PostMessage string PostType string PostProps string PostFilenames string }
func (*CompliancePost) Row ¶
func (me *CompliancePost) Row() []string
type ComplianceSettings ¶
type Compliances ¶
type Compliances []Compliance
func CompliancesFromJson ¶
func CompliancesFromJson(data io.Reader) Compliances
func (Compliances) ToJson ¶
func (o Compliances) ToJson() string
type Config ¶
type Config struct { ServiceSettings ServiceSettings TeamSettings TeamSettings SqlSettings SqlSettings LogSettings LogSettings PasswordSettings PasswordSettings FileSettings FileSettings EmailSettings EmailSettings RateLimitSettings RateLimitSettings PrivacySettings PrivacySettings SupportSettings SupportSettings GitLabSettings SSOSettings GoogleSettings SSOSettings Office365Settings SSOSettings LdapSettings LdapSettings ComplianceSettings ComplianceSettings LocalizationSettings LocalizationSettings SamlSettings SamlSettings NativeAppSettings NativeAppSettings ClusterSettings ClusterSettings }
func ConfigFromJson ¶
func (*Config) GetSSOService ¶
func (o *Config) GetSSOService(service string) *SSOSettings
func (*Config) GetSanitizeOptions ¶
func (*Config) SetDefaults ¶
func (o *Config) SetDefaults()
type EmailSettings ¶
type EmailSettings struct { EnableSignUpWithEmail bool EnableSignInWithEmail *bool EnableSignInWithUsername *bool SendEmailNotifications bool RequireEmailVerification bool FeedbackName string FeedbackEmail string FeedbackOrganization *string SMTPUsername string SMTPPassword string SMTPServer string SMTPPort string ConnectionSecurity string InviteSalt string PasswordResetSalt string SendPushNotifications *bool PushNotificationServer *string PushNotificationContents *string }
type Emoji ¶ added in v3.2.0
type Emoji struct { Id string `json:"id"` CreateAt int64 `json:"create_at"` UpdateAt int64 `json:"update_at"` DeleteAt int64 `json:"delete_at"` CreatorId string `json:"creator_id"` Name string `json:"name"` }
func EmojiFromJson ¶ added in v3.2.0
func EmojiListFromJson ¶ added in v3.2.0
type EncryptStringMap ¶
type ExtraMember ¶
type ExtraMember struct { Id string `json:"id"` Nickname string `json:"nickname"` Email string `json:"email"` Roles string `json:"roles"` Username string `json:"username"` }
func (*ExtraMember) Sanitize ¶
func (o *ExtraMember) Sanitize(options map[string]bool)
type Features ¶
type Features struct { Users *int `json:"users"` LDAP *bool `json:"ldap"` MFA *bool `json:"mfa"` GoogleOAuth *bool `json:"google_oauth"` Office365OAuth *bool `json:"office365_oauth"` Compliance *bool `json:"compliance"` Cluster *bool `json:"cluster"` CustomBrand *bool `json:"custom_brand"` MHPNS *bool `json:"mhpns"` SAML *bool `json:"saml"` PasswordRequirements *bool `json:"password_requirements"` FutureFeatures *bool `json:"future_features"` }
func (*Features) SetDefaults ¶
func (f *Features) SetDefaults()
type FileInfo ¶
type FileInfo struct { Filename string `json:"filename"` Size int `json:"size"` Extension string `json:"extension"` MimeType string `json:"mime_type"` HasPreviewImage bool `json:"has_preview_image"` }
func FileInfoFromJson ¶
type FileSettings ¶
type FileSettings struct { MaxFileSize *int64 DriverName string Directory string EnablePublicLink bool PublicLinkSalt string ThumbnailWidth int ThumbnailHeight int PreviewWidth int PreviewHeight int ProfileWidth int ProfileHeight int InitialFont string AmazonS3AccessKeyId string AmazonS3SecretAccessKey string AmazonS3Bucket string AmazonS3Region string AmazonS3Endpoint string AmazonS3BucketEndpoint string AmazonS3LocationConstraint *bool AmazonS3LowercaseBucket *bool }
type FileUploadResponse ¶
type FileUploadResponse struct { Filenames []string `json:"filenames"` ClientIds []string `json:"client_ids"` }
func FileUploadResponseFromJson ¶
func FileUploadResponseFromJson(data io.Reader) *FileUploadResponse
func (*FileUploadResponse) ToJson ¶
func (o *FileUploadResponse) ToJson() string
type IncomingWebhook ¶
type IncomingWebhook struct { Id string `json:"id"` CreateAt int64 `json:"create_at"` UpdateAt int64 `json:"update_at"` DeleteAt int64 `json:"delete_at"` UserId string `json:"user_id"` ChannelId string `json:"channel_id"` TeamId string `json:"team_id"` DisplayName string `json:"display_name"` Description string `json:"description"` }
func IncomingWebhookFromJson ¶
func IncomingWebhookFromJson(data io.Reader) *IncomingWebhook
func IncomingWebhookListFromJson ¶
func IncomingWebhookListFromJson(data io.Reader) []*IncomingWebhook
func (*IncomingWebhook) IsValid ¶
func (o *IncomingWebhook) IsValid() *AppError
func (*IncomingWebhook) PreSave ¶
func (o *IncomingWebhook) PreSave()
func (*IncomingWebhook) PreUpdate ¶
func (o *IncomingWebhook) PreUpdate()
func (*IncomingWebhook) ToJson ¶
func (o *IncomingWebhook) ToJson() string
type IncomingWebhookRequest ¶
type IncomingWebhookRequest struct { Text string `json:"text"` Username string `json:"username"` IconURL string `json:"icon_url"` ChannelName string `json:"channel"` Props StringInterface `json:"props"` Attachments interface{} `json:"attachments"` Type string `json:"type"` }
func IncomingWebhookRequestFromJson ¶
func IncomingWebhookRequestFromJson(data io.Reader) *IncomingWebhookRequest
type InitialLoad ¶
type InitialLoad struct { User *User `json:"user"` TeamMembers []*TeamMember `json:"team_members"` Teams []*Team `json:"teams"` DirectProfiles map[string]*User `json:"direct_profiles"` Preferences Preferences `json:"preferences"` ClientCfg map[string]string `json:"client_cfg"` LicenseCfg map[string]string `json:"license_cfg"` NoAccounts bool `json:"no_accounts"` }
func InitialLoadFromJson ¶
func InitialLoadFromJson(data io.Reader) *InitialLoad
func (*InitialLoad) ToJson ¶
func (me *InitialLoad) ToJson() string
type Invites ¶
func InvitesFromJson ¶
type LdapSettings ¶
type LdapSettings struct { // Basic Enable *bool LdapServer *string LdapPort *int ConnectionSecurity *string BaseDN *string BindUsername *string BindPassword *string // Filtering UserFilter *string // User Mapping FirstNameAttribute *string LastNameAttribute *string EmailAttribute *string UsernameAttribute *string NicknameAttribute *string IdAttribute *string // Syncronization SyncIntervalMinutes *int // Advanced SkipCertificateVerification *bool QueryTimeout *int MaxPageSize *int // Customization LoginFieldName *string }
type License ¶
type License struct { Id string `json:"id"` IssuedAt int64 `json:"issued_at"` StartsAt int64 `json:"starts_at"` ExpiresAt int64 `json:"expires_at"` Customer *Customer `json:"customer"` Features *Features `json:"features"` }
func LicenseFromJson ¶
type LicenseRecord ¶
type LicenseRecord struct { Id string `json:"id"` CreateAt int64 `json:"create_at"` Bytes string `json:"-"` }
func (*LicenseRecord) IsValid ¶
func (lr *LicenseRecord) IsValid() *AppError
func (*LicenseRecord) PreSave ¶
func (lr *LicenseRecord) PreSave()
type LocalizationSettings ¶ added in v3.1.0
type LogSettings ¶
type NativeAppSettings ¶ added in v3.3.0
type OAuthApp ¶
type OAuthApp struct { Id string `json:"id"` CreatorId string `json:"creator_id"` CreateAt int64 `json:"create_at"` UpdateAt int64 `json:"update_at"` ClientSecret string `json:"client_secret"` Name string `json:"name"` Description string `json:"description"` IconURL string `json:"icon_url"` CallbackUrls StringArray `json:"callback_urls"` Homepage string `json:"homepage"` IsTrusted bool `json:"is_trusted"` }
func OAuthAppFromJson ¶
OAuthAppFromJson will decode the input and return a User
func OAuthAppListFromJson ¶ added in v3.3.0
func (*OAuthApp) IsValid ¶
IsValid validates the app and returns an error if it isn't configured correctly.
func (*OAuthApp) IsValidRedirectURL ¶
func (*OAuthApp) PreSave ¶
func (a *OAuthApp) PreSave()
PreSave will set the Id and ClientSecret if missing. It will also fill in the CreateAt, UpdateAt times. It should be run before saving the app to the db.
func (*OAuthApp) PreUpdate ¶
func (a *OAuthApp) PreUpdate()
PreUpdate should be run before updating the app in the db.
type OutgoingWebhook ¶
type OutgoingWebhook struct { Id string `json:"id"` Token string `json:"token"` CreateAt int64 `json:"create_at"` UpdateAt int64 `json:"update_at"` DeleteAt int64 `json:"delete_at"` CreatorId string `json:"creator_id"` ChannelId string `json:"channel_id"` TeamId string `json:"team_id"` TriggerWords StringArray `json:"trigger_words"` TriggerWhen int `json:"trigger_when"` CallbackURLs StringArray `json:"callback_urls"` DisplayName string `json:"display_name"` Description string `json:"description"` ContentType string `json:"content_type"` }
func OutgoingWebhookFromJson ¶
func OutgoingWebhookFromJson(data io.Reader) *OutgoingWebhook
func OutgoingWebhookListFromJson ¶
func OutgoingWebhookListFromJson(data io.Reader) []*OutgoingWebhook
func (*OutgoingWebhook) HasTriggerWord ¶
func (o *OutgoingWebhook) HasTriggerWord(word string) bool
func (*OutgoingWebhook) IsValid ¶
func (o *OutgoingWebhook) IsValid() *AppError
func (*OutgoingWebhook) PreSave ¶
func (o *OutgoingWebhook) PreSave()
func (*OutgoingWebhook) PreUpdate ¶
func (o *OutgoingWebhook) PreUpdate()
func (*OutgoingWebhook) ToJson ¶
func (o *OutgoingWebhook) ToJson() string
func (*OutgoingWebhook) TriggerWordStartsWith ¶ added in v3.3.0
func (o *OutgoingWebhook) TriggerWordStartsWith(word string) bool
type OutgoingWebhookPayload ¶ added in v3.1.0
type OutgoingWebhookPayload struct { Token string `json:"token"` TeamId string `json:"team_id"` TeamDomain string `json:"team_domain"` ChannelId string `json:"channel_id"` ChannelName string `json:"channel_name"` Timestamp int64 `json:"timestamp"` UserId string `json:"user_id"` UserName string `json:"user_name"` PostId string `json:"post_id"` Text string `json:"text"` TriggerWord string `json:"trigger_word"` }
func (*OutgoingWebhookPayload) ToFormValues ¶ added in v3.1.0
func (o *OutgoingWebhookPayload) ToFormValues() string
func (*OutgoingWebhookPayload) ToJSON ¶ added in v3.1.0
func (o *OutgoingWebhookPayload) ToJSON() string
type PasswordRecovery ¶
func (*PasswordRecovery) IsValid ¶
func (p *PasswordRecovery) IsValid() *AppError
func (*PasswordRecovery) PreSave ¶
func (p *PasswordRecovery) PreSave()
type PasswordSettings ¶ added in v3.2.0
type Post ¶
type Post struct { Id string `json:"id"` CreateAt int64 `json:"create_at"` UpdateAt int64 `json:"update_at"` DeleteAt int64 `json:"delete_at"` UserId string `json:"user_id"` ChannelId string `json:"channel_id"` RootId string `json:"root_id"` ParentId string `json:"parent_id"` OriginalId string `json:"original_id"` Message string `json:"message"` Type string `json:"type"` Props StringInterface `json:"props"` Filenames StringArray `json:"filenames"` PendingPostId string `json:"pending_post_id" db:"-"` }
func PostFromJson ¶
func (*Post) IsSystemMessage ¶
func (*Post) MakeNonNil ¶
func (o *Post) MakeNonNil()
type PostList ¶
func PostListFromJson ¶
func (*PostList) IsChannelId ¶
func (*PostList) MakeNonNil ¶
func (o *PostList) MakeNonNil()
type Preference ¶
type Preference struct { UserId string `json:"user_id"` Category string `json:"category"` Name string `json:"name"` Value string `json:"value"` }
func PreferenceFromJson ¶
func PreferenceFromJson(data io.Reader) *Preference
func (*Preference) IsValid ¶
func (o *Preference) IsValid() *AppError
func (*Preference) PreUpdate ¶ added in v3.3.0
func (o *Preference) PreUpdate()
func (*Preference) ToJson ¶
func (o *Preference) ToJson() string
type Preferences ¶
type Preferences []Preference
func PreferencesFromJson ¶
func PreferencesFromJson(data io.Reader) (Preferences, error)
func (*Preferences) ToJson ¶
func (o *Preferences) ToJson() string
type PrivacySettings ¶
type PushNotification ¶
type PushNotification struct { Platform string `json:"platform"` ServerId string `json:"server_id"` DeviceId string `json:"device_id"` Category string `json:"category"` Sound string `json:"sound"` Message string `json:"message"` Badge int `json:"badge"` ContentAvailable int `json:"cont_ava"` ChannelId string `json:"channel_id"` ChannelName string `json:"channel_name"` }
func PushNotificationFromJson ¶
func PushNotificationFromJson(data io.Reader) *PushNotification
func (*PushNotification) ToJson ¶
func (me *PushNotification) ToJson() string
type RateLimitSettings ¶
type SSOSettings ¶
type SamlAuthRequest ¶ added in v3.2.0
type SamlSettings ¶ added in v3.2.0
type SamlSettings struct { // Basic Enable *bool Verify *bool Encrypt *bool IdpUrl *string IdpDescriptorUrl *string AssertionConsumerServiceURL *string IdpCertificateFile *string PublicCertificateFile *string PrivateKeyFile *string // User Mapping FirstNameAttribute *string LastNameAttribute *string EmailAttribute *string UsernameAttribute *string NicknameAttribute *string LocaleAttribute *string LoginButtonText *string }
type ScheduledTask ¶ added in v3.1.0
type ScheduledTask struct { Name string `json:"name"` Interval time.Duration `json:"interval"` Recurring bool `json:"recurring"` // contains filtered or unexported fields }
func CreateRecurringTask ¶ added in v3.1.0
func CreateRecurringTask(name string, function TaskFunc, interval time.Duration) *ScheduledTask
func CreateTask ¶ added in v3.1.0
func CreateTask(name string, function TaskFunc, timeToExecution time.Duration) *ScheduledTask
func GetTaskByName ¶ added in v3.2.0
func GetTaskByName(name string) *ScheduledTask
func (*ScheduledTask) Cancel ¶ added in v3.1.0
func (task *ScheduledTask) Cancel()
func (*ScheduledTask) Execute ¶ added in v3.3.0
func (task *ScheduledTask) Execute()
Executes the task immediatly. A recurring task will be run regularally after interval.
func (*ScheduledTask) String ¶ added in v3.1.0
func (task *ScheduledTask) String() string
type SearchParams ¶
type SearchParams struct { Terms string IsHashtag bool InChannels []string FromUsers []string OrTerms bool }
func ParseSearchParams ¶
func ParseSearchParams(text string) []*SearchParams
type SecurityBulletin ¶
type SecurityBulletin struct { Id string `json:"id"` AppliesToVersion string `json:"applies_to_version"` }
func SecurityBulletinFromJson ¶
func SecurityBulletinFromJson(data io.Reader) *SecurityBulletin
func (*SecurityBulletin) ToJson ¶
func (me *SecurityBulletin) ToJson() string
type SecurityBulletins ¶
type SecurityBulletins []SecurityBulletin
func SecurityBulletinsFromJson ¶
func SecurityBulletinsFromJson(data io.Reader) SecurityBulletins
func (SecurityBulletins) ToJson ¶
func (me SecurityBulletins) ToJson() string
type ServiceSettings ¶
type ServiceSettings struct { SiteURL *string ListenAddress string MaximumLoginAttempts int SegmentDeveloperKey string GoogleDeveloperKey string EnableOAuthServiceProvider bool EnableIncomingWebhooks bool EnableOutgoingWebhooks bool EnableCommands *bool EnableOnlyAdminIntegrations *bool EnablePostUsernameOverride bool EnablePostIconOverride bool EnableTesting bool EnableDeveloper *bool EnableSecurityFixAlert *bool EnableInsecureOutgoingConnections *bool EnableMultifactorAuthentication *bool AllowCorsFrom *string SessionLengthWebInDays *int SessionLengthMobileInDays *int SessionLengthSSOInDays *int SessionCacheInMinutes *int WebsocketSecurePort *int WebsocketPort *int WebserverMode *string EnableCustomEmoji *bool RestrictCustomEmojiCreation *string }
type Session ¶
type Session struct { Id string `json:"id"` Token string `json:"token"` CreateAt int64 `json:"create_at"` ExpiresAt int64 `json:"expires_at"` LastActivityAt int64 `json:"last_activity_at"` UserId string `json:"user_id"` DeviceId string `json:"device_id"` Roles string `json:"roles"` IsOAuth bool `json:"is_oauth"` Props StringMap `json:"props"` TeamMembers []*TeamMember `json:"team_members" db:"-"` }
func SessionFromJson ¶
func SessionsFromJson ¶
func (*Session) GetTeamByTeamId ¶
func (me *Session) GetTeamByTeamId(teamId string) *TeamMember
func (*Session) SetExpireInDays ¶
type SqlSettings ¶
type Status ¶ added in v3.3.0
type Status struct { UserId string `json:"user_id"` Status string `json:"status"` LastActivityAt int64 `json:"last_activity_at"` }
func StatusFromJson ¶ added in v3.3.0
type StringArray ¶
type StringArray []string
type StringInterface ¶
type StringInterface map[string]interface{}
type StringMap ¶
func GetDefaultChannelNotifyProps ¶
func GetDefaultChannelNotifyProps() StringMap
type SuggestCommand ¶
type SuggestCommand struct { Suggestion string `json:"suggestion"` Description string `json:"description"` }
func SuggestCommandFromJson ¶
func SuggestCommandFromJson(data io.Reader) *SuggestCommand
func (*SuggestCommand) ToJson ¶
func (o *SuggestCommand) ToJson() string
type SupportSettings ¶
type System ¶
func SystemFromJson ¶
type Team ¶
type Team struct { Id string `json:"id"` CreateAt int64 `json:"create_at"` UpdateAt int64 `json:"update_at"` DeleteAt int64 `json:"delete_at"` DisplayName string `json:"display_name"` Name string `json:"name"` Email string `json:"email"` Type string `json:"type"` CompanyName string `json:"company_name"` AllowedDomains string `json:"allowed_domains"` InviteId string `json:"invite_id"` AllowOpenInvite bool `json:"allow_open_invite"` }
func TeamFromJson ¶
func (*Team) SanitizeForNotLoggedIn ¶
func (o *Team) SanitizeForNotLoggedIn()
type TeamMember ¶
type TeamMember struct { TeamId string `json:"team_id"` UserId string `json:"user_id"` Roles string `json:"roles"` DeleteAt int64 `json:"delete_at"` }
func TeamMemberFromJson ¶
func TeamMemberFromJson(data io.Reader) *TeamMember
func TeamMembersFromJson ¶
func TeamMembersFromJson(data io.Reader) []*TeamMember
func (*TeamMember) IsTeamAdmin ¶
func (o *TeamMember) IsTeamAdmin() bool
func (*TeamMember) IsValid ¶
func (o *TeamMember) IsValid() *AppError
func (*TeamMember) ToJson ¶
func (o *TeamMember) ToJson() string
type TeamSettings ¶
type TeamSettings struct { SiteName string MaxUsersPerTeam int EnableTeamCreation bool EnableUserCreation bool EnableOpenServer *bool RestrictCreationToDomains string RestrictTeamNames *bool EnableCustomBrand *bool CustomBrandText *string CustomDescriptionText *string RestrictDirectMessage *string RestrictTeamInvite *string RestrictPublicChannelManagement *string RestrictPrivateChannelManagement *string UserStatusAwayTimeout *int64 }
type TeamSignup ¶
type TeamSignup struct { Team Team `json:"team"` User User `json:"user"` Invites []string `json:"invites"` Data string `json:"data"` Hash string `json:"hash"` }
func TeamSignupFromJson ¶
func TeamSignupFromJson(data io.Reader) *TeamSignup
func (*TeamSignup) ToJson ¶
func (o *TeamSignup) ToJson() string
type User ¶
type User struct { Id string `json:"id"` CreateAt int64 `json:"create_at,omitempty"` UpdateAt int64 `json:"update_at,omitempty"` DeleteAt int64 `json:"delete_at"` Username string `json:"username"` Password string `json:"password,omitempty"` AuthData *string `json:"auth_data,omitempty"` AuthService string `json:"auth_service"` Email string `json:"email"` EmailVerified bool `json:"email_verified,omitempty"` Nickname string `json:"nickname"` FirstName string `json:"first_name"` LastName string `json:"last_name"` Roles string `json:"roles"` AllowMarketing bool `json:"allow_marketing,omitempty"` Props StringMap `json:"props,omitempty"` NotifyProps StringMap `json:"notify_props,omitempty"` LastPasswordUpdate int64 `json:"last_password_update,omitempty"` LastPictureUpdate int64 `json:"last_picture_update,omitempty"` FailedAttempts int `json:"failed_attempts,omitempty"` Locale string `json:"locale"` MfaActive bool `json:"mfa_active,omitempty"` MfaSecret string `json:"mfa_secret,omitempty"` }
func UserFromJson ¶
UserFromJson will decode the input and return a User
func (*User) AddNotifyProp ¶
func (*User) ClearNonProfileFields ¶
func (u *User) ClearNonProfileFields()
func (*User) GetDisplayName ¶
func (*User) GetFullName ¶
func (*User) IsInRole ¶
Make sure you acually want to use this function. In context.go there are functions to check permissions This function should not be used to check permissions.
func (*User) IsLDAPUser ¶
func (*User) IsOAuthUser ¶
func (*User) IsValid ¶
IsValid validates the user and returns an error if it isn't configured correctly.
func (*User) MakeNonNil ¶
func (u *User) MakeNonNil()
func (*User) PreSave ¶
func (u *User) PreSave()
PreSave will set the Id and Username if missing. It will also fill in the CreateAt, UpdateAt times. It will also hash the password. It should be run before saving the user to the db.
func (*User) PreUpdate ¶
func (u *User) PreUpdate()
PreUpdate should be run before updating the user in the db.
func (*User) SetDefaultNotifications ¶
func (u *User) SetDefaultNotifications()
func (*User) UpdateMentionKeysFromUsername ¶
type WebSocketClient ¶ added in v3.3.0
type WebSocketClient struct { Url string // The location of the server like "ws://localhost:8065" ApiUrl string // The api location of the server like "ws://localhost:8065/api/v3" Conn *websocket.Conn // The WebSocket connection AuthToken string // The token used to open the WebSocket Sequence int64 // The ever-incrementing sequence attached to each WebSocket action EventChannel chan *WebSocketEvent ResponseChannel chan *WebSocketResponse }
func (*WebSocketClient) Close ¶ added in v3.3.0
func (wsc *WebSocketClient) Close()
func (*WebSocketClient) Connect ¶ added in v3.3.0
func (wsc *WebSocketClient) Connect() *AppError
func (*WebSocketClient) GetStatuses ¶ added in v3.3.0
func (wsc *WebSocketClient) GetStatuses()
GetStatuses will return a map of string statuses using user id as the key
func (*WebSocketClient) Listen ¶ added in v3.3.0
func (wsc *WebSocketClient) Listen()
func (*WebSocketClient) SendMessage ¶ added in v3.3.0
func (wsc *WebSocketClient) SendMessage(action string, data map[string]interface{})
func (*WebSocketClient) UserTyping ¶ added in v3.3.0
func (wsc *WebSocketClient) UserTyping(channelId, parentId string)
UserTyping will push a user_typing event out to all connected users who are in the specified channel
type WebSocketEvent ¶ added in v3.3.0
type WebSocketEvent struct { TeamId string `json:"team_id"` ChannelId string `json:"channel_id"` UserId string `json:"user_id"` Event string `json:"event"` Data map[string]interface{} `json:"data"` }
func NewWebSocketEvent ¶ added in v3.3.0
func NewWebSocketEvent(teamId string, channelId string, userId string, event string) *WebSocketEvent
func WebSocketEventFromJson ¶ added in v3.3.0
func WebSocketEventFromJson(data io.Reader) *WebSocketEvent
func (*WebSocketEvent) Add ¶ added in v3.3.0
func (m *WebSocketEvent) Add(key string, value interface{})
func (*WebSocketEvent) IsValid ¶ added in v3.3.0
func (o *WebSocketEvent) IsValid() bool
func (*WebSocketEvent) ToJson ¶ added in v3.3.0
func (o *WebSocketEvent) ToJson() string
type WebSocketMessage ¶ added in v3.3.0
type WebSocketRequest ¶ added in v3.3.0
type WebSocketRequest struct { // Client-provided fields Seq int64 `json:"seq"` Action string `json:"action"` Data map[string]interface{} `json:"data"` // Server-provided fields Session Session `json:"-"` T goi18n.TranslateFunc `json:"-"` Locale string `json:"-"` }
func WebSocketRequestFromJson ¶ added in v3.3.0
func WebSocketRequestFromJson(data io.Reader) *WebSocketRequest
func (*WebSocketRequest) ToJson ¶ added in v3.3.0
func (o *WebSocketRequest) ToJson() string
type WebSocketResponse ¶ added in v3.3.0
type WebSocketResponse struct { Status string `json:"status"` SeqReply int64 `json:"seq_reply,omitempty"` Data map[string]interface{} `json:"data,omitempty"` Error *AppError `json:"error,omitempty"` }
func NewWebSocketError ¶ added in v3.3.0
func NewWebSocketError(seqReply int64, err *AppError) *WebSocketResponse
func NewWebSocketResponse ¶ added in v3.3.0
func NewWebSocketResponse(status string, seqReply int64, data map[string]interface{}) *WebSocketResponse
func WebSocketResponseFromJson ¶ added in v3.3.0
func WebSocketResponseFromJson(data io.Reader) *WebSocketResponse
func (*WebSocketResponse) Add ¶ added in v3.3.0
func (m *WebSocketResponse) Add(key string, value interface{})
func (*WebSocketResponse) IsValid ¶ added in v3.3.0
func (o *WebSocketResponse) IsValid() bool
func (*WebSocketResponse) ToJson ¶ added in v3.3.0
func (o *WebSocketResponse) ToJson() string
Source Files ¶
- access.go
- analytics_row.go
- audit.go
- audits.go
- authorize.go
- channel.go
- channel_count.go
- channel_data.go
- channel_extra.go
- channel_list.go
- channel_member.go
- client.go
- cluster_info.go
- command.go
- command_response.go
- compliance.go
- compliance_post.go
- config.go
- emoji.go
- file.go
- file_info.go
- gitlab.go
- incoming_webhook.go
- initial_load.go
- job.go
- ldap.go
- license.go
- oauth.go
- outgoing_webhook.go
- password_recovery.go
- post.go
- post_list.go
- preference.go
- preferences.go
- push_notification.go
- saml.go
- search_params.go
- security_bulletin.go
- session.go
- status.go
- suggest_command.go
- system.go
- team.go
- team_member.go
- team_signup.go
- user.go
- utils.go
- version.go
- websocket_client.go
- websocket_message.go
- websocket_request.go