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 ComparePassword(hash string, password string) bool
- func Etag(parts ...interface{}) string
- func GetDMNameFromIds(userId1, userId2 string) string
- func GetImageMimeType(ext string) string
- func GetMillis() int64
- func GetPreviousVersion(currentVersion string) (int64, int64)
- 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 IsLower(s string) bool
- func IsOfficalBuild() bool
- func IsPreviousVersion(versionToCheck string) bool
- func IsReservedTeamName(s 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 IsValidRoles(userRoles string) bool
- func IsValidTeamName(s 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 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 StringInterfaceFromJson(data io.Reader) map[string]interface{}
- func StringInterfaceToJson(objmap map[string]interface{}) string
- func TeamMapFromJson(data io.Reader) map[string]*Team
- func TeamMapToJson(u map[string]*Team) 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) AllowOAuth(rspType, clientId, redirect, scope, state string) (*Result, *AppError)
- func (c *Client) ClearOAuthToken()
- func (c *Client) Command(channelId string, command string, suggest bool) (*Result, *AppError)
- func (c *Client) CreateChannel(channel *Channel) (*Result, *AppError)
- func (c *Client) CreateDirectChannel(data map[string]string) (*Result, *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) DeleteChannel(id string) (*Result, *AppError)
- func (c *Client) DeleteIncomingWebhook(data map[string]string) (*Result, *AppError)
- func (c *Client) DeleteOutgoingWebhook(data map[string]string) (*Result, *AppError)
- func (c *Client) DeletePost(channelId string, postId string) (*Result, *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) FindTeamByName(name string, allServers bool) (*Result, *AppError)
- func (c *Client) FindTeams(email string) (*Result, *AppError)
- func (c *Client) FindTeamsSendEmail(email string) (*Result, *AppError)
- func (c *Client) GetAccessToken(data url.Values) (*Result, *AppError)
- func (c *Client) GetAllPreferences() (*Result, *AppError)
- func (c *Client) GetAllTeams() (*Result, *AppError)
- func (c *Client) GetAnalytics(teamId, name string) (*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, etag string) (*Result, *AppError)
- func (c *Client) GetChannels(etag string) (*Result, *AppError)
- func (c *Client) GetClientProperties() (*Result, *AppError)
- func (c *Client) GetConfig() (*Result, *AppError)
- func (c *Client) GetFile(url string, isFullUrl bool) (*Result, *AppError)
- func (c *Client) GetFileInfo(url string) (*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) 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) GetPublicLink(data map[string]string) (*Result, *AppError)
- func (c *Client) GetSessions(id string) (*Result, *AppError)
- func (c *Client) GetStatuses(data []string) (*Result, *AppError)
- 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) LeaveChannel(id string) (*Result, *AppError)
- func (c *Client) ListIncomingWebhooks() (*Result, *AppError)
- func (c *Client) ListOutgoingWebhooks() (*Result, *AppError)
- func (c *Client) LoginByEmail(name string, email string, password string) (*Result, *AppError)
- func (c *Client) LoginByEmailWithDevice(name string, email string, password string, deviceId string) (*Result, *AppError)
- func (c *Client) LoginById(id string, password 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) PostToWebhook(id, payload string) (*Result, *AppError)
- func (c *Client) RegenOutgoingWebhookToken(data map[string]string) (*Result, *AppError)
- func (c *Client) RegisterApp(app *OAuthApp) (*Result, *AppError)
- func (c *Client) RemoveChannelMember(id, user_id string) (*Result, *AppError)
- func (c *Client) ResetPassword(data map[string]string) (*Result, *AppError)
- func (c *Client) RevokeSession(sessionAltId string) (*Result, *AppError)
- func (c *Client) SaveConfig(config *Config) (*Result, *AppError)
- func (c *Client) SearchPosts(terms string) (*Result, *AppError)
- func (c *Client) SendPasswordReset(data map[string]string) (*Result, *AppError)
- func (c *Client) SetOAuthToken(token string)
- func (c *Client) SetPreferences(preferences *Preferences) (*Result, *AppError)
- 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) 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) UploadFile(url string, data []byte, contentType string) (*Result, *AppError)
- type Command
- type Config
- type EmailSettings
- type EncryptStringMap
- type ExtraMember
- type FileSettings
- type FileUploadResponse
- type GitLabUser
- type IncomingWebhook
- type IncomingWebhookRequest
- type Invites
- type LogSettings
- type Message
- type OAuthApp
- type OutgoingWebhook
- type Post
- type PostList
- type Preference
- type Preferences
- type PrivacySettings
- type PushNotification
- type RateLimitSettings
- type Result
- type SSOSettings
- type SearchParams
- type SecurityBulletin
- type SecurityBulletins
- type ServiceSettings
- type Session
- type SqlSettings
- type StringArray
- type StringInterface
- type StringMap
- type SuggestCommand
- type System
- type Team
- 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() string
- func (u *User) GetDisplayName() string
- func (u *User) GetFullName() string
- func (u *User) IsAway() bool
- func (u *User) IsInRole(inRole string) bool
- func (u *User) IsOffline() bool
- func (u *User) IsSSOUser() bool
- func (u *User) IsValid() *AppError
- func (u *User) MakeNonNil()
- func (u *User) PreExport()
- 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
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" )
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_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_MM_SESSION_TOKEN_INDEX = "X-MM-TokenIndex" SESSION_TOKEN_INDEX = "session_token_index" API_URL_SUFFIX = "/api/v1" )
const ( RESP_EXECUTED = "executed" RESP_NOT_IMPLEMENTED = "not implemented" )
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" SERVICE_GITLAB = "gitlab" )
const ( DEFAULT_WEBHOOK_USERNAME = "webhook" DEFAULT_WEBHOOK_ICON = "/static/images/webhook_icon.jpg" )
const ( ACTION_TYPING = "typing" ACTION_POSTED = "posted" ACTION_POST_EDITED = "post_edited" ACTION_POST_DELETED = "post_deleted" ACTION_CHANNEL_VIEWED = "channel_viewed" ACTION_NEW_USER = "new_user" ACTION_USER_ADDED = "user_added" ACTION_USER_REMOVED = "user_removed" )
const ( POST_SYSTEM_MESSAGE_PREFIX = "system_" POST_DEFAULT = "" POST_SLACK_ATTACHMENT = "slack_attachment" POST_JOIN_LEAVE = "system_join_leave" POST_HEADER_CHANGE = "system_header_change" )
const ( PREFERENCE_CATEGORY_DIRECT_CHANNEL_SHOW = "direct_channel_show" PREFERENCE_CATEGORY_TUTORIAL_STEPS = "tutorial_step" PREFERENCE_CATEGORY_ADVANCED_SETTINGS = "advanced_settings" )
const ( PUSH_NOTIFY_APPLE = "apple" PUSH_NOTIFY_ANDROID = "android" )
const ( SESSION_COOKIE_TOKEN = "MMTOKEN" SESSION_TIME_WEB_IN_DAYS = 30 SESSION_TIME_WEB_IN_SECS = 60 * 60 * 24 * SESSION_TIME_WEB_IN_DAYS SESSION_TIME_MOBILE_IN_DAYS = 30 SESSION_TIME_MOBILE_IN_SECS = 60 * 60 * 24 * SESSION_TIME_MOBILE_IN_DAYS SESSION_TIME_OAUTH_IN_DAYS = 365 SESSION_TIME_OAUTH_IN_SECS = 60 * 60 * 24 * SESSION_TIME_OAUTH_IN_DAYS SESSION_CACHE_IN_SECS = 60 * 10 SESSION_CACHE_SIZE = 10000 SESSION_PROP_PLATFORM = "platform" SESSION_PROP_OS = "os" SESSION_PROP_BROWSER = "browser" )
const ( SYSTEM_DIAGNOSTIC_ID = "DiagnosticId" SYSTEM_RAN_UNIT_TESTS = "RanUnitTests" SYSTEM_LAST_SECURITY_TIME = "LastSecurityTime" )
const ( TEAM_OPEN = "O" TEAM_INVITE = "I" )
const ( ROLE_TEAM_ADMIN = "admin" ROLE_SYSTEM_ADMIN = "system_admin" USER_AWAY_TIMEOUT = 5 * 60 * 1000 // 5 minutes USER_OFFLINE_TIMEOUT = 1 * 60 * 1000 // 1 minute USER_OFFLINE = "offline" USER_AWAY = "away" USER_ONLINE = "online" USER_NOTIFY_ALL = "all" USER_NOTIFY_MENTION = "mention" USER_NOTIFY_NONE = "none" )
const (
MAX_FILE_SIZE = 50000000 // 50 MB
)
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 = "_BUILD_DATE_"
var BuildHash = "_BUILD_HASH_"
var BuildNumber = "_BUILD_NUMBER_"
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 ComparePassword ¶
ComparePassword compares the hash
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 IsChannelMarkUnreadLevelValid ¶ added in v1.1.0
func IsCurrentVersion ¶
func IsFileExtImage ¶
func IsInRole ¶
Make sure you acually want to use this function. In context.go there are functions to check permssions This function should not be used to check permissions.
func IsOfficalBuild ¶ added in v1.1.0
func IsOfficalBuild() bool
func IsPreviousVersion ¶
func IsReservedTeamName ¶
func IsValidAlphaNum ¶
func IsValidEmail ¶
func IsValidHttpUrl ¶ added in v1.2.1
func IsValidRoles ¶
func IsValidTeamName ¶
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 OAuthAppMapToJson ¶
func OutgoingWebhookListToJson ¶ added in v1.2.1
func OutgoingWebhookListToJson(l []*OutgoingWebhook) string
func ParseHashtags ¶
func SessionsToJson ¶
func StringInterfaceFromJson ¶ added in v1.2.1
func StringInterfaceToJson ¶ added in v1.2.1
func TeamMapToJson ¶
func UserMapToJson ¶
Types ¶
type AccessData ¶
type AccessData struct { AuthCode string `json:"auth_code"` Token string `json:"token"` RefreshToken string `json:"refresh_token"` RedirectUri string `json:"redirect_uri"` }
func AccessDataFromJson ¶
func AccessDataFromJson(data io.Reader) *AccessData
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 ¶ added in v1.2.1
func AnalyticsRowFromJson ¶ added in v1.2.1
func AnalyticsRowFromJson(data io.Reader) *AnalyticsRow
func (*AnalyticsRow) ToJson ¶ added in v1.2.1
func (me *AnalyticsRow) ToJson() string
type AnalyticsRows ¶ added in v1.2.1
type AnalyticsRows []*AnalyticsRow
func AnalyticsRowsFromJson ¶ added in v1.2.1
func AnalyticsRowsFromJson(data io.Reader) AnalyticsRows
func (AnalyticsRows) ToJson ¶ added in v1.2.1
func (me AnalyticsRows) ToJson() string
type AppError ¶
type AppError struct { 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"` // The RequestId that's also set in the header StatusCode int `json:"status_code"` // The http status code Where string `json:"-"` // The function where it happened in the form of Struct.Func IsOAuth bool `json:"is_oauth"` // Whether the error is OAuth specific }
AppError is returned for any http response that's not in the 200 range.
func AppErrorFromJson ¶
AppErrorFromJson will decode the input and return an AppError
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 ¶ added in v1.1.0
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/v1" HttpClient *http.Client // The http client AuthToken string AuthType string }
func NewClient ¶
NewClient constructs a new client with convienence methods for talking to the server.
func (*Client) AddChannelMember ¶
func (*Client) AllowOAuth ¶
func (*Client) ClearOAuthToken ¶
func (c *Client) ClearOAuthToken()
func (*Client) CreateChannel ¶
func (*Client) CreateDirectChannel ¶
func (*Client) CreateIncomingWebhook ¶
func (c *Client) CreateIncomingWebhook(hook *IncomingWebhook) (*Result, *AppError)
func (*Client) CreateOutgoingWebhook ¶ added in v1.2.1
func (c *Client) CreateOutgoingWebhook(hook *OutgoingWebhook) (*Result, *AppError)
func (*Client) CreateTeamFromSignup ¶
func (c *Client) CreateTeamFromSignup(teamSignup *TeamSignup) (*Result, *AppError)
func (*Client) CreateUser ¶
func (*Client) CreateUserFromSignup ¶
func (*Client) DeleteIncomingWebhook ¶
func (*Client) DeleteOutgoingWebhook ¶ added in v1.2.1
func (*Client) DeletePost ¶
func (*Client) FindTeamByName ¶
func (*Client) FindTeamsSendEmail ¶
func (*Client) GetAccessToken ¶
func (*Client) GetAllPreferences ¶ added in v1.2.1
func (*Client) GetAllTeams ¶
func (*Client) GetAnalytics ¶ added in v1.2.1
func (*Client) GetChannelCounts ¶
func (*Client) GetChannelExtraInfo ¶
func (*Client) GetClientProperties ¶
func (*Client) GetPostsAfter ¶ added in v1.2.1
func (*Client) GetPostsBefore ¶ added in v1.2.1
func (*Client) GetPostsSince ¶
func (*Client) GetPreference ¶ added in v1.2.1
func (*Client) GetPreferenceCategory ¶ added in v1.2.1
func (*Client) GetProfiles ¶
func (*Client) GetPublicLink ¶
func (*Client) InviteMembers ¶
func (*Client) ListIncomingWebhooks ¶
func (*Client) ListOutgoingWebhooks ¶ added in v1.2.1
func (*Client) LoginByEmail ¶
func (*Client) LoginByEmailWithDevice ¶
func (*Client) MockSession ¶
func (*Client) PostToWebhook ¶
func (*Client) RegenOutgoingWebhookToken ¶ added in v1.2.1
func (*Client) RemoveChannelMember ¶
func (*Client) ResetPassword ¶
func (*Client) RevokeSession ¶
func (*Client) SendPasswordReset ¶
func (*Client) SetOAuthToken ¶
func (*Client) SetPreferences ¶ added in v1.2.1
func (c *Client) SetPreferences(preferences *Preferences) (*Result, *AppError)
func (*Client) SignupTeam ¶
func (*Client) UpdateActive ¶
func (*Client) UpdateChannel ¶
func (*Client) UpdateChannelHeader ¶ added in v1.2.1
func (*Client) UpdateChannelPurpose ¶ added in v1.2.1
func (*Client) UpdateLastViewedAt ¶
func (*Client) UpdateNotifyProps ¶ added in v1.1.0
func (*Client) UpdateTeam ¶ added in v1.2.1
func (*Client) UpdateUserNotify ¶
func (*Client) UpdateUserPassword ¶
func (*Client) UpdateUserRoles ¶
type Command ¶
type Command struct { Command string `json:"command"` Response string `json:"response"` GotoLocation string `json:"goto_location"` ChannelId string `json:"channel_id"` Suggest bool `json:"-"` Suggestions []*SuggestCommand `json:"suggestions"` }
func CommandFromJson ¶
func (*Command) AddSuggestion ¶
func (o *Command) AddSuggestion(suggest *SuggestCommand)
type Config ¶
type Config struct { ServiceSettings ServiceSettings TeamSettings TeamSettings SqlSettings SqlSettings LogSettings LogSettings FileSettings FileSettings EmailSettings EmailSettings RateLimitSettings RateLimitSettings PrivacySettings PrivacySettings GitLabSettings SSOSettings }
func ConfigFromJson ¶
func (*Config) GetSSOService ¶
func (o *Config) GetSSOService(service string) *SSOSettings
func (*Config) GetSanitizeOptions ¶ added in v1.3.0
func (*Config) SetDefaults ¶ added in v1.1.0
func (o *Config) SetDefaults()
type EmailSettings ¶
type EmailSettings struct { EnableSignUpWithEmail bool SendEmailNotifications bool RequireEmailVerification bool FeedbackName string FeedbackEmail string SMTPUsername string SMTPPassword string SMTPServer string SMTPPort string ConnectionSecurity string InviteSalt string PasswordResetSalt string SendPushNotifications *bool PushNotificationServer *string }
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 FileSettings ¶
type FileSettings struct { 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 }
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 GitLabUser ¶
type GitLabUser struct { Id int64 `json:"id"` Username string `json:"username"` Login string `json:"login"` Email string `json:"email"` Name string `json:"name"` }
func GitLabUserFromJson ¶
func GitLabUserFromJson(data io.Reader) *GitLabUser
func (*GitLabUser) GetAuthData ¶
func (glu *GitLabUser) GetAuthData() 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"` }
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 ¶ added in v1.2.1
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 ¶ added in v1.2.1
func IncomingWebhookRequestFromJson(data io.Reader) *IncomingWebhookRequest
type Invites ¶
func InvitesFromJson ¶
type LogSettings ¶
type Message ¶
type Message struct { TeamId string `json:"team_id"` ChannelId string `json:"channel_id"` UserId string `json:"user_id"` Action string `json:"action"` Props map[string]string `json:"props"` }
func MessageFromJson ¶
func NewMessage ¶
type OAuthApp ¶
type OAuthApp struct { Id string `json:"id"` CreatorId string `json:"creator_id"` CreateAt int64 `json:"update_at"` UpdateAt int64 `json:"update_at"` ClientSecret string `json:"client_secret"` Name string `json:"name"` Description string `json:"description"` CallbackUrls StringArray `json:"callback_urls"` Homepage string `json:"homepage"` }
func OAuthAppFromJson ¶
OAuthAppFromJson will decode the input and return a User
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 ¶ added in v1.2.1
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"` CallbackURLs StringArray `json:"callback_urls"` }
func OutgoingWebhookFromJson ¶ added in v1.2.1
func OutgoingWebhookFromJson(data io.Reader) *OutgoingWebhook
func OutgoingWebhookListFromJson ¶ added in v1.2.1
func OutgoingWebhookListFromJson(data io.Reader) []*OutgoingWebhook
func (*OutgoingWebhook) HasTriggerWord ¶ added in v1.2.1
func (o *OutgoingWebhook) HasTriggerWord(word string) bool
func (*OutgoingWebhook) IsValid ¶ added in v1.2.1
func (o *OutgoingWebhook) IsValid() *AppError
func (*OutgoingWebhook) PreSave ¶ added in v1.2.1
func (o *OutgoingWebhook) PreSave()
func (*OutgoingWebhook) PreUpdate ¶ added in v1.2.1
func (o *OutgoingWebhook) PreUpdate()
func (*OutgoingWebhook) ToJson ¶ added in v1.2.1
func (o *OutgoingWebhook) ToJson() string
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 ¶ added in v1.3.0
func (*Post) MakeNonNil ¶
func (o *Post) MakeNonNil()
type PostList ¶
func PostListFromJson ¶
func (*PostList) IsChannelId ¶
func (*PostList) MakeNonNil ¶
func (o *PostList) MakeNonNil()
type Preference ¶ added in v1.2.1
type Preference struct { UserId string `json:"user_id"` Category string `json:"category"` Name string `json:"name"` Value string `json:"value"` }
func PreferenceFromJson ¶ added in v1.2.1
func PreferenceFromJson(data io.Reader) *Preference
func (*Preference) IsValid ¶ added in v1.2.1
func (o *Preference) IsValid() *AppError
func (*Preference) ToJson ¶ added in v1.2.1
func (o *Preference) ToJson() string
type Preferences ¶ added in v1.2.1
type Preferences []Preference
func PreferencesFromJson ¶ added in v1.2.1
func PreferencesFromJson(data io.Reader) (Preferences, error)
func (*Preferences) ToJson ¶ added in v1.2.1
func (o *Preferences) ToJson() string
type PrivacySettings ¶
type PushNotification ¶ added in v1.3.0
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"` }
func PushNotificationFromJson ¶ added in v1.3.0
func PushNotificationFromJson(data io.Reader) *PushNotification
func (*PushNotification) ToJson ¶ added in v1.3.0
func (me *PushNotification) ToJson() string
type RateLimitSettings ¶
type SSOSettings ¶
type SearchParams ¶ added in v1.2.1
func ParseSearchParams ¶ added in v1.2.1
func ParseSearchParams(text string) []*SearchParams
type SecurityBulletin ¶ added in v1.1.0
type SecurityBulletin struct { Id string `json:"id"` AppliesToVersion string `json:"applies_to_version"` }
func SecurityBulletinFromJson ¶ added in v1.1.0
func SecurityBulletinFromJson(data io.Reader) *SecurityBulletin
func (*SecurityBulletin) ToJson ¶ added in v1.1.0
func (me *SecurityBulletin) ToJson() string
type SecurityBulletins ¶ added in v1.1.0
type SecurityBulletins []SecurityBulletin
func SecurityBulletinsFromJson ¶ added in v1.1.0
func SecurityBulletinsFromJson(data io.Reader) SecurityBulletins
func (SecurityBulletins) ToJson ¶ added in v1.1.0
func (me SecurityBulletins) ToJson() string
type ServiceSettings ¶
type ServiceSettings struct { ListenAddress string MaximumLoginAttempts int SegmentDeveloperKey string GoogleDeveloperKey string EnableOAuthServiceProvider bool EnableIncomingWebhooks bool EnableOutgoingWebhooks bool EnablePostUsernameOverride bool EnablePostIconOverride bool EnableTesting bool EnableSecurityFixAlert *bool }
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"` TeamId string `json:"team_id"` DeviceId string `json:"device_id"` Roles string `json:"roles"` IsOAuth bool `json:"is_oauth"` Props StringMap `json:"props"` }
func SessionFromJson ¶
func SessionsFromJson ¶
func (*Session) SetExpireInDays ¶
type SqlSettings ¶
type StringArray ¶
type StringArray []string
type StringInterface ¶ added in v1.2.1
type StringInterface map[string]interface{}
type StringMap ¶
func GetDefaultChannelNotifyProps ¶ added in v1.1.0
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 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"` AllowTeamListing bool `json:"allow_team_listing"` }
func TeamFromJson ¶
type TeamSettings ¶
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"` TeamId string `json:"team_id"` 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"` LastActivityAt int64 `json:"last_activity_at,omitempty"` LastPingAt int64 `json:"last_ping_at,omitempty"` AllowMarketing bool `json:"allow_marketing,omitempty"` Props StringMap `json:"props,omitempty"` NotifyProps StringMap `json:"notify_props,omitempty"` ThemeProps StringMap `json:"theme_props,omitempty"` LastPasswordUpdate int64 `json:"last_password_update,omitempty"` LastPictureUpdate int64 `json:"last_picture_update,omitempty"` FailedAttempts int `json:"failed_attempts,omitempty"` }
func UserFromGitLabUser ¶
func UserFromGitLabUser(glu *GitLabUser) *User
func UserFromJson ¶
UserFromJson will decode the input and return a User
func (*User) AddNotifyProp ¶
func (*User) ClearNonProfileFields ¶ added in v1.3.0
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 permssions This function should not be used to check permissions.
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()
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
- command.go
- config.go
- file.go
- gitlab.go
- incoming_webhook.go
- message.go
- oauth.go
- outgoing_webhook.go
- post.go
- post_list.go
- preference.go
- preferences.go
- push_notification.go
- search_params.go
- security_bulletin.go
- session.go
- suggest_command.go
- system.go
- team.go
- team_signup.go
- user.go
- utils.go
- version.go