Documentation
¶
Index ¶
- Constants
- Variables
- func AddAncillaryPermissions(permissions []string) []string
- func AppErrorFromJSON(r io.Reader) error
- func AppErrorInit(t i18n.TranslateFunc)
- func ArrayFromInterface(data any) []string
- func ArrayFromJSON(data io.Reader) []stringdeprecated
- func ArrayToJSON(objmap []string) string
- func AuditModelTypeConv(val any) (newVal any, converted bool)
- func ChannelMentions(message string) []string
- func ChannelModeratedPermissionsChangedByPatch(role *Role, patch *RolePatch) []string
- func CleanRoleNames(roleNames []string) ([]string, bool)
- func CleanTeamName(s string) string
- func CleanUsername(logger mlog.LoggerIFace, username string) string
- func ClearMentionTags(post string) string
- func CompliancePostHeader() []string
- func ContainsIntegrationsReservedProps(props StringInterface) []string
- func CopyStringMap(originalMap map[string]string) map[string]string
- func DecryptPostActionCookie(encoded string, secret []byte) (string, error)
- func EmailInviteWithErrorToEmails(o []*EmailInviteWithError) []string
- func EmailInviteWithErrorToString(o *EmailInviteWithError) string
- func Etag(parts ...any) string
- func FloorToNearestHour(ms int64) int64
- func GenerateLinkMetadataHash(url string, timestamp int64) int64
- func GetDMNameFromIds(userId1, userId2 string) string
- func GetDefaultAppCustomURLSchemes() []string
- func GetEmojiNameFromUnicode(unicode string) (emojiName string, count int)
- func GetEndOfDayMillis(thisTime time.Time, timeZoneOffset int) int64
- func GetEtagForFileInfos(infos []*FileInfo) string
- func GetGroupDisplayNameFromUsers(users []*User, truncate bool) string
- func GetGroupNameFromUserIds(userIds []string) string
- func GetMillis() int64
- func GetMillisForTime(thisTime time.Time) int64
- func GetPreferredTimezone(timezone StringMap) string
- func GetPreviousVersion(version string) string
- func GetReportDateRange(dateRange string, now time.Time) (int64, int64)
- func GetServerIPAddress(iface string) string
- func GetServiceEnvironment() string
- func GetStartOfDayMillis(thisTime time.Time, timeZoneOffset int) int64
- func GetSystemEmojiId(emojiName string) (string, bool)
- func GetTimeForMillis(millis int64) time.Time
- func HashPassword(password string) (string, error)
- func IncomingWebhookRequestFromJSON(data io.Reader) (*IncomingWebhookRequest, *AppError)
- func IsBotDMChannel(channel *Channel, botUserID string) bool
- func IsChannelAutoFollowThreadsValid(channelAutoFollowThreads string) bool
- func IsChannelMarkUnreadLevelValid(markUnreadLevel string) bool
- func IsChannelNotifyLevelValid(notifyLevel string) bool
- func IsCloud() bool
- func IsCurrentVersion(versionToCheck string) bool
- func IsIgnoreChannelMentionsValid(ignoreChannelMentions string) bool
- func IsInRole(userRoles string, inRole string) bool
- func IsPreviousVersionsSupported(versionToCheck string) bool
- func IsReservedTeamName(s string) bool
- func IsSendEmailValid(sendEmail string) bool
- func IsSystemEmojiName(emojiName string) bool
- func IsValidAlphaNumHyphenUnderscore(s string, withFormat bool) bool
- func IsValidAlphaNumHyphenUnderscorePlus(s string) bool
- func IsValidCategoryId(s string) bool
- func IsValidChannelIdentifier(s string) bool
- func IsValidEmail(email string) bool
- func IsValidHTTPURL(rawURL string) bool
- func IsValidId(value string) bool
- func IsValidJobStatus(status string) bool
- func IsValidJobType(jobType string) bool
- func IsValidLocale(locale string) bool
- func IsValidPluginId(id string) bool
- func IsValidRemoteName(s string) bool
- func IsValidReportExportFormat(format string) bool
- func IsValidRoleName(roleName string) bool
- func IsValidSchemeName(name string) bool
- func IsValidTeamName(s string) bool
- func IsValidUserRoles(userRoles string) bool
- func IsValidUsername(s string) bool
- func IsValidUsernameAllowRemote(s string) bool
- func MakeDefaultRoles() map[string]*Role
- func MapBoolFromJSON(data io.Reader) map[string]bool
- func MapBoolToJSON(objmap map[string]bool) string
- func MapFromJSON(data io.Reader) map[string]string
- func MapToJSON(objmap map[string]string) string
- func NewId() string
- func NewPluginKeyValueFromOptions(pluginId, key string, value []byte, opt PluginKVSetOptions) (*PluginKeyValue, *AppError)
- func NewPointer[T any](t T) *T
- func NewRandomString(length int) string
- func NewRandomTeamName() string
- func NewUsername() string
- func NonSortedArrayFromJSON(data io.Reader) ([]string, error)
- func NormalizeEmail(email string) string
- func NormalizeRemoteName(name string) string
- func NormalizeUsername(username string) string
- func PadDateStringZeros(dateString string) string
- func ParseHashtags(text string) (string, string)
- func ParseSlackAttachment(post *Post, attachments []*SlackAttachment)
- func ParseSlackLinksToMarkdown(text string) string
- func PermissionsChangedByPatch(role *Role, patch *RolePatch) []string
- func RemoveDuplicateStrings(in []string) []string
- func RemoveDuplicateStringsNonSort(in []string) []string
- func RewriteImageURLs(message string, f func(string) string) string
- func RuneToHexadecimalString(r rune) string
- func SafeDereference[T any](t *T) T
- func SanitizeUnicode(s string) string
- func SortedArrayFromJSON(data io.Reader) ([]string, error)
- func SplitVersion(version string) (int64, int64, int64)
- func StatusListToJSON(u []*Status) ([]byte, error)
- func StatusMapToInterfaceMap(statusMap map[string]*Status) map[string]any
- func StringInterfaceFromJSON(data io.Reader) map[string]any
- func StringInterfaceToJSON(objmap map[string]any) string
- func StructFromJSONLimited[V any](data io.Reader, obj *V) error
- func TeamMemberWithErrorToString(o *TeamMemberWithError) string
- func ToJSON(v any) []byte
- func TruncateOpenGraph(ogdata *opengraph.OpenGraph) *opengraph.OpenGraph
- type AccessData
- type AccessResponse
- type AddOn
- type Address
- type AllowedIPRange
- type AllowedIPRanges
- type AnalyticsPostCountsOptions
- type AnalyticsRow
- type AnalyticsRows
- type AnalyticsSettings
- type AnnouncementSettings
- type AppError
- func DecodeAndVerifyTriggerId(triggerId string, s *ecdsa.PrivateKey, timeout time.Duration) (string, string, *AppError)
- func GenerateTriggerId(userId string, s crypto.Signer) (string, string, *AppError)
- func InvalidTermsOfServiceError(fieldName string, termsOfServiceId string) *AppError
- func InvalidUserError(fieldName, userId string, fieldValue any) *AppError
- func InvalidUserTermsOfServiceError(fieldName string, userTermsOfServiceId string) *AppError
- func IsChannelMemberNotifyPropsValid(notifyProps map[string]string, allowMissingFields bool) *AppError
- func IsSearchParamsListValid(paramsList []*SearchParams) *AppError
- func IsValidEmojiName(name string) *AppError
- func MakeBotNotFoundError(where, userId string) *AppError
- func MakePermissionError(s *Session, permissions []*Permission) *AppError
- func MakePermissionErrorForUser(userId string, permissions []*Permission) *AppError
- func MinimumProfessionalProvidedLicense(license *License) *AppError
- func NewAppError(where string, id string, params map[string]any, details string, status int) *AppError
- func (er *AppError) Error() string
- func (er *AppError) SystemMessage(T i18n.TranslateFunc) string
- func (er *AppError) ToJSON() string
- func (er *AppError) Translate(T i18n.TranslateFunc)
- func (er *AppError) Unwrap() error
- func (er *AppError) WipeDetailed()
- func (er *AppError) Wrap(err error) *AppError
- type AppliedMigration
- type Attribute
- type AttributeValue
- type Audit
- type Audits
- type AuthData
- type AuthorizeRequest
- type AutocompleteArg
- type AutocompleteArgType
- type AutocompleteData
- func (ad *AutocompleteData) AddCommand(command *AutocompleteData)
- func (ad *AutocompleteData) AddDynamicListArgument(helpText, url string, required bool)
- func (ad *AutocompleteData) AddNamedDynamicListArgument(name, helpText, url string, required bool)
- func (ad *AutocompleteData) AddNamedStaticListArgument(name, helpText string, required bool, items []AutocompleteListItem)
- func (ad *AutocompleteData) AddNamedTextArgument(name, helpText, hint, pattern string, required bool)
- func (ad *AutocompleteData) AddStaticListArgument(helpText string, required bool, items []AutocompleteListItem)
- func (ad *AutocompleteData) AddTextArgument(helpText, hint, pattern string)
- func (ad *AutocompleteData) Equals(command *AutocompleteData) bool
- func (ad *AutocompleteData) IsValid() error
- func (ad *AutocompleteData) UpdateRelativeURLsForPluginCommands(baseURL *url.URL) error
- type AutocompleteDynamicListArg
- type AutocompleteListItem
- type AutocompleteStaticListArg
- type AutocompleteSuggestion
- type AutocompleteTextArg
- type BaseMarketplacePlugin
- type BillingScheme
- type BillingType
- type Bitmask
- type BleveSettings
- type Bot
- func (b *Bot) Auditable() map[string]interface{}
- func (b *Bot) Clone() *Bot
- func (b *Bot) Etag() string
- func (b *Bot) IsValid() *AppError
- func (b *Bot) IsValidCreate() *AppError
- func (b *Bot) Patch(patch *BotPatch)
- func (b *Bot) PreSave()
- func (b *Bot) PreUpdate()
- func (b *Bot) Trace() map[string]any
- func (b *Bot) WouldPatch(patch *BotPatch) bool
- type BotGetOptions
- type BotList
- type BotPatch
- type BulkExportOpts
- type BundleInfo
- type CWSWebhookPayload
- type CacheSettings
- type Channel
- func (o *Channel) AddProp(key string, value any)
- func (o *Channel) Auditable() map[string]interface{}
- func (o *Channel) DeepCopy() *Channel
- func (o *Channel) Etag() string
- func (o *Channel) GetBothUsersForDM() (string, string)
- func (o *Channel) GetOtherUserIdForDM(userId string) string
- func (o *Channel) IsGroupConstrained() bool
- func (o *Channel) IsGroupOrDirect() bool
- func (o *Channel) IsOpen() bool
- func (o *Channel) IsShared() bool
- func (o *Channel) IsValid() *AppError
- func (o *Channel) LogClone() any
- func (o *Channel) MakeNonNil()
- func (o *Channel) Patch(patch *ChannelPatch)
- func (o *Channel) PreSave()
- func (o *Channel) PreUpdate()
- func (o *Channel) Sanitize() Channel
- type ChannelBookmark
- func (o *ChannelBookmark) Auditable() map[string]interface{}
- func (o *ChannelBookmark) Clone() *ChannelBookmark
- func (o *ChannelBookmark) IsValid() *AppError
- func (o *ChannelBookmark) Patch(patch *ChannelBookmarkPatch)
- func (o *ChannelBookmark) PreSave()
- func (o *ChannelBookmark) PreUpdate()
- func (o *ChannelBookmark) SetOriginal(newOwnerId string) *ChannelBookmark
- func (o *ChannelBookmark) ToBookmarkWithFileInfo(f *FileInfo) *ChannelBookmarkWithFileInfo
- type ChannelBookmarkAndFileInfo
- type ChannelBookmarkPatch
- type ChannelBookmarkType
- type ChannelBookmarkWithFileInfo
- type ChannelCounts
- type ChannelData
- type ChannelForExport
- type ChannelList
- type ChannelListWithTeamData
- type ChannelMember
- func (o *ChannelMember) Auditable() map[string]interface{}
- func (o *ChannelMember) GetRoles() []string
- func (o *ChannelMember) IsChannelMuted() bool
- func (o *ChannelMember) IsValid() *AppError
- func (o *ChannelMember) PreSave()
- func (o *ChannelMember) PreUpdate()
- func (o *ChannelMember) SetChannelMuted(muted bool)
- type ChannelMemberCountByGroup
- type ChannelMemberForExport
- type ChannelMemberHistory
- type ChannelMemberHistoryResult
- type ChannelMemberIdentifier
- type ChannelMemberWithTeamData
- type ChannelMembers
- type ChannelMembersWithTeamData
- type ChannelMentionMap
- type ChannelModeratedRole
- type ChannelModeratedRoles
- type ChannelModeratedRolesPatch
- type ChannelModeration
- type ChannelModerationPatch
- type ChannelOption
- type ChannelPatch
- type ChannelSearch
- type ChannelSearchOpts
- type ChannelStats
- type ChannelType
- type ChannelUnread
- type ChannelUnreadAt
- type ChannelView
- type ChannelViewResponse
- type ChannelWithBookmarks
- type ChannelWithTeamData
- type ChannelWithTeamDataAndBookmarks
- type ChannelsWithCount
- type Client4
- func (c *Client4) AcknowledgePost(ctx context.Context, postId, userId string) (*PostAcknowledgement, *Response, error)
- func (c *Client4) AddChannelMember(ctx context.Context, channelId, userId string) (*ChannelMember, *Response, error)
- func (c *Client4) AddChannelMemberWithRootId(ctx context.Context, channelId, userId, postRootId string) (*ChannelMember, *Response, error)
- func (c *Client4) AddChannelMembers(ctx context.Context, channelId, postRootId string, userIds []string) ([]*ChannelMember, *Response, error)
- func (c *Client4) AddChannelsToRetentionPolicy(ctx context.Context, policyID string, channelIDs []string) (*Response, error)
- func (c *Client4) AddTeamMember(ctx context.Context, teamId, userId string) (*TeamMember, *Response, error)
- func (c *Client4) AddTeamMemberFromInvite(ctx context.Context, token, inviteId string) (*TeamMember, *Response, error)
- func (c *Client4) AddTeamMembers(ctx context.Context, teamId string, userIds []string) ([]*TeamMember, *Response, error)
- func (c *Client4) AddTeamMembersGracefully(ctx context.Context, teamId string, userIds []string) ([]*TeamMemberWithError, *Response, error)
- func (c *Client4) AddTeamsToRetentionPolicy(ctx context.Context, policyID string, teamIDs []string) (*Response, error)
- func (c *Client4) AddUserToGroupSyncables(ctx context.Context, userID string) (*Response, error)
- func (c *Client4) ApplyIPFilters(ctx context.Context, allowedRanges *AllowedIPRanges) (*AllowedIPRanges, *Response, error)
- func (c *Client4) ArrayFromJSON(data io.Reader) []string
- func (c *Client4) AssignBot(ctx context.Context, botUserId, newOwnerId string) (*Bot, *Response, error)
- func (c *Client4) AttachDeviceProps(ctx context.Context, newProps map[string]string) (*Response, error)
- func (c *Client4) AuthorizeOAuthApp(ctx context.Context, authRequest *AuthorizeRequest) (string, *Response, error)
- func (c *Client4) AutocompleteChannelsForTeam(ctx context.Context, teamId, name string) (ChannelList, *Response, error)
- func (c *Client4) AutocompleteChannelsForTeamForSearch(ctx context.Context, teamId, name string) (ChannelList, *Response, error)
- func (c *Client4) AutocompleteEmoji(ctx context.Context, name string, etag string) ([]*Emoji, *Response, error)
- func (c *Client4) AutocompleteUsers(ctx context.Context, username string, limit int, etag string) (*UserAutocomplete, *Response, error)
- func (c *Client4) AutocompleteUsersInChannel(ctx context.Context, teamId string, channelId string, username string, ...) (*UserAutocomplete, *Response, error)
- func (c *Client4) AutocompleteUsersInTeam(ctx context.Context, teamId string, username string, limit int, etag string) (*UserAutocomplete, *Response, error)
- func (c *Client4) CancelJob(ctx context.Context, jobId string) (*Response, error)
- func (c *Client4) ChannelMembersMinusGroupMembers(ctx context.Context, channelID string, groupIDs []string, page, perPage int, ...) ([]*UserWithGroups, int64, *Response, error)
- func (c *Client4) CheckCWSConnection(ctx context.Context, userId string) (*Response, error)
- func (c *Client4) CheckIntegrity(ctx context.Context) ([]IntegrityCheckResult, *Response, error)
- func (c *Client4) ClearOAuthToken()
- func (c *Client4) ClearServerBusy(ctx context.Context) (*Response, error)
- func (c *Client4) CompleteOnboarding(ctx context.Context, request *CompleteOnboardingRequest) (*Response, error)
- func (c *Client4) ConvertBotToUser(ctx context.Context, userId string, userPatch *UserPatch, setSystemAdmin bool) (*User, *Response, error)
- func (c *Client4) ConvertUserToBot(ctx context.Context, userId string) (*Bot, *Response, error)
- func (c *Client4) CreateBot(ctx context.Context, bot *Bot) (*Bot, *Response, error)
- func (c *Client4) CreateChannel(ctx context.Context, channel *Channel) (*Channel, *Response, error)
- func (c *Client4) CreateChannelBookmark(ctx context.Context, channelBookmark *ChannelBookmark) (*ChannelBookmarkWithFileInfo, *Response, error)
- func (c *Client4) CreateCommand(ctx context.Context, cmd *Command) (*Command, *Response, error)
- func (c *Client4) CreateComplianceReport(ctx context.Context, report *Compliance) (*Compliance, *Response, error)
- func (c *Client4) CreateDataRetentionPolicy(ctx context.Context, policy *RetentionPolicyWithTeamAndChannelIDs) (*RetentionPolicyWithTeamAndChannelCounts, *Response, error)
- func (c *Client4) CreateDirectChannel(ctx context.Context, userId1, userId2 string) (*Channel, *Response, error)
- func (c *Client4) CreateEmoji(ctx context.Context, emoji *Emoji, image []byte, filename string) (*Emoji, *Response, error)
- func (c *Client4) CreateGroup(ctx context.Context, group *Group) (*Group, *Response, error)
- func (c *Client4) CreateGroupChannel(ctx context.Context, userIds []string) (*Channel, *Response, error)
- func (c *Client4) CreateIncomingWebhook(ctx context.Context, hook *IncomingWebhook) (*IncomingWebhook, *Response, error)
- func (c *Client4) CreateJob(ctx context.Context, job *Job) (*Job, *Response, error)
- func (c *Client4) CreateOAuthApp(ctx context.Context, app *OAuthApp) (*OAuthApp, *Response, error)
- func (c *Client4) CreateOutgoingOAuthConnection(ctx context.Context, connection *OutgoingOAuthConnection) (*OutgoingOAuthConnection, *Response, error)
- func (c *Client4) CreateOutgoingWebhook(ctx context.Context, hook *OutgoingWebhook) (*OutgoingWebhook, *Response, error)
- func (c *Client4) CreatePost(ctx context.Context, post *Post) (*Post, *Response, error)
- func (c *Client4) CreatePostEphemeral(ctx context.Context, post *PostEphemeral) (*Post, *Response, error)
- func (c *Client4) CreateRemoteCluster(ctx context.Context, rcWithPassword *RemoteClusterWithPassword) (*RemoteClusterWithInvite, *Response, error)
- func (c *Client4) CreateScheduledPost(ctx context.Context, scheduledPost *ScheduledPost) (*ScheduledPost, *Response, error)
- func (c *Client4) CreateScheme(ctx context.Context, scheme *Scheme) (*Scheme, *Response, error)
- func (c *Client4) CreateSidebarCategoryForTeamForUser(ctx context.Context, userID, teamID string, ...) (*SidebarCategoryWithChannels, *Response, error)
- func (c *Client4) CreateTeam(ctx context.Context, team *Team) (*Team, *Response, error)
- func (c *Client4) CreateTermsOfService(ctx context.Context, text, userId string) (*TermsOfService, *Response, error)
- func (c *Client4) CreateUpload(ctx context.Context, us *UploadSession) (*UploadSession, *Response, error)
- func (c *Client4) CreateUser(ctx context.Context, user *User) (*User, *Response, error)
- func (c *Client4) CreateUserAccessToken(ctx context.Context, userId, description string) (*UserAccessToken, *Response, error)
- func (c *Client4) CreateUserWithInviteId(ctx context.Context, user *User, inviteId string) (*User, *Response, error)
- func (c *Client4) CreateUserWithToken(ctx context.Context, user *User, tokenId string) (*User, *Response, error)
- func (c *Client4) DatabaseRecycle(ctx context.Context) (*Response, error)
- func (c *Client4) DeauthorizeOAuthApp(ctx context.Context, appId string) (*Response, error)
- func (c *Client4) DeleteBrandImage(ctx context.Context) (*Response, error)
- func (c *Client4) DeleteChannel(ctx context.Context, channelId string) (*Response, error)
- func (c *Client4) DeleteChannelBookmark(ctx context.Context, channelId, bookmarkId string) (*ChannelBookmarkWithFileInfo, *Response, error)
- func (c *Client4) DeleteCommand(ctx context.Context, commandId string) (*Response, error)
- func (c *Client4) DeleteDataRetentionPolicy(ctx context.Context, policyID string) (*Response, error)
- func (c *Client4) DeleteDraft(ctx context.Context, userId, channelId, rootId string) (*Draft, *Response, error)
- func (c *Client4) DeleteEmoji(ctx context.Context, emojiId string) (*Response, error)
- func (c *Client4) DeleteExport(ctx context.Context, name string) (*Response, error)
- func (c *Client4) DeleteGroup(ctx context.Context, groupID string) (*Group, *Response, error)
- func (c *Client4) DeleteGroupMembers(ctx context.Context, groupID string, userIds *GroupModifyMembers) ([]*GroupMember, *Response, error)
- func (c *Client4) DeleteIncomingWebhook(ctx context.Context, hookID string) (*Response, error)
- func (c *Client4) DeleteLdapPrivateCertificate(ctx context.Context) (*Response, error)
- func (c *Client4) DeleteLdapPublicCertificate(ctx context.Context) (*Response, error)
- func (c *Client4) DeleteOAuthApp(ctx context.Context, appId string) (*Response, error)
- func (c *Client4) DeleteOutgoingOAuthConnection(ctx context.Context, id string) (*Response, error)
- func (c *Client4) DeleteOutgoingWebhook(ctx context.Context, hookId string) (*Response, error)
- func (c *Client4) DeletePost(ctx context.Context, postId string) (*Response, error)
- func (c *Client4) DeletePreferences(ctx context.Context, userId string, preferences Preferences) (*Response, error)
- func (c *Client4) DeleteReaction(ctx context.Context, reaction *Reaction) (*Response, error)
- func (c *Client4) DeleteRemoteCluster(ctx context.Context, remoteClusterId string) (*Response, error)
- func (c *Client4) DeleteSamlIdpCertificate(ctx context.Context) (*Response, error)
- func (c *Client4) DeleteSamlPrivateCertificate(ctx context.Context) (*Response, error)
- func (c *Client4) DeleteSamlPublicCertificate(ctx context.Context) (*Response, error)
- func (c *Client4) DeleteScheduledPost(ctx context.Context, scheduledPostId string) (*ScheduledPost, *Response, error)
- func (c *Client4) DeleteScheme(ctx context.Context, id string) (*Response, error)
- func (c *Client4) DeleteUser(ctx context.Context, userId string) (*Response, error)
- func (c *Client4) DemoteUserToGuest(ctx context.Context, guestId string) (*Response, error)
- func (c *Client4) DetachPlugin(ctx context.Context, pluginID string) (*Response, error)
- func (c *Client4) DisableBot(ctx context.Context, botUserId string) (*Bot, *Response, error)
- func (c *Client4) DisablePlugin(ctx context.Context, id string) (*Response, error)
- func (c *Client4) DisableUserAccessToken(ctx context.Context, tokenId string) (*Response, error)
- func (c *Client4) DoAPIDelete(ctx context.Context, url string) (*http.Response, error)
- func (c *Client4) DoAPIDeleteBytes(ctx context.Context, url string, data []byte) (*http.Response, error)
- func (c *Client4) DoAPIGet(ctx context.Context, url string, etag string) (*http.Response, error)
- func (c *Client4) DoAPIPatchBytes(ctx context.Context, url string, data []byte) (*http.Response, error)
- func (c *Client4) DoAPIPost(ctx context.Context, url string, data string) (*http.Response, error)
- func (c *Client4) DoAPIPostBytes(ctx context.Context, url string, data []byte) (*http.Response, error)
- func (c *Client4) DoAPIPut(ctx context.Context, url string, data string) (*http.Response, error)
- func (c *Client4) DoAPIPutBytes(ctx context.Context, url string, data []byte) (*http.Response, error)
- func (c *Client4) DoAPIRequest(ctx context.Context, method, url, data, etag string) (*http.Response, error)
- func (c *Client4) DoAPIRequestBytes(ctx context.Context, method, url string, data []byte, etag string) (*http.Response, error)
- func (c *Client4) DoAPIRequestReader(ctx context.Context, method, url string, data io.Reader, ...) (*http.Response, error)
- func (c *Client4) DoAPIRequestWithHeaders(ctx context.Context, method, url, data string, headers map[string]string) (*http.Response, error)
- func (c *Client4) DoEmojiUploadFile(ctx context.Context, url string, data []byte, contentType string) (*Emoji, *Response, error)
- func (c *Client4) DoPostAction(ctx context.Context, postId, actionId string) (*Response, error)
- func (c *Client4) DoPostActionWithCookie(ctx context.Context, postId, actionId, selected, cookieStr string) (*Response, error)
- func (c *Client4) DoUploadFile(ctx context.Context, url string, data []byte, contentType string) (*FileUploadResponse, *Response, error)
- func (c *Client4) DoUploadImportTeam(ctx context.Context, url string, data []byte, contentType string) (map[string]string, *Response, error)
- func (c *Client4) DownloadComplianceReport(ctx context.Context, reportId string) ([]byte, *Response, error)
- func (c *Client4) DownloadExport(ctx context.Context, name string, wr io.Writer, offset int64) (int64, *Response, error)
- func (c *Client4) DownloadFile(ctx context.Context, fileId string, download bool) ([]byte, *Response, error)
- func (c *Client4) DownloadFilePreview(ctx context.Context, fileId string, download bool) ([]byte, *Response, error)
- func (c *Client4) DownloadFileThumbnail(ctx context.Context, fileId string, download bool) ([]byte, *Response, error)
- func (c *Client4) DownloadJob(ctx context.Context, jobId string) ([]byte, *Response, error)
- func (c *Client4) DownloadLogs(ctx context.Context) ([]byte, *Response, error)
- func (c *Client4) EnableBot(ctx context.Context, botUserId string) (*Bot, *Response, error)
- func (c *Client4) EnablePlugin(ctx context.Context, id string) (*Response, error)
- func (c *Client4) EnableUserAccessToken(ctx context.Context, tokenId string) (*Response, error)
- func (c *Client4) ExecuteCommand(ctx context.Context, channelId, command string) (*CommandResponse, *Response, error)
- func (c *Client4) ExecuteCommandWithTeam(ctx context.Context, channelId, teamId, command string) (*CommandResponse, *Response, error)
- func (c *Client4) GenerateMfaSecret(ctx context.Context, userId string) (*MfaSecret, *Response, error)
- func (c *Client4) GeneratePresignedURL(ctx context.Context, name string) (*PresignURLResponse, *Response, error)
- func (c *Client4) GenerateRemoteClusterInvite(ctx context.Context, remoteClusterId, password string) (string, *Response, error)
- func (c *Client4) GenerateSupportPacket(ctx context.Context) ([]byte, *Response, error)
- func (c *Client4) GetActiveUsersInTeam(ctx context.Context, teamId string, page int, perPage int, etag string) ([]*User, *Response, error)
- func (c *Client4) GetAllChannels(ctx context.Context, page int, perPage int, etag string) (ChannelListWithTeamData, *Response, error)
- func (c *Client4) GetAllChannelsExcludePolicyConstrained(ctx context.Context, page, perPage int, etag string) (ChannelListWithTeamData, *Response, error)
- func (c *Client4) GetAllChannelsIncludeDeleted(ctx context.Context, page int, perPage int, etag string) (ChannelListWithTeamData, *Response, error)
- func (c *Client4) GetAllChannelsWithCount(ctx context.Context, page int, perPage int, etag string) (ChannelListWithTeamData, int64, *Response, error)
- func (c *Client4) GetAllRoles(ctx context.Context) ([]*Role, *Response, error)
- func (c *Client4) GetAllSharedChannels(ctx context.Context, teamID string, page, perPage int) ([]*SharedChannel, *Response, error)
- func (c *Client4) GetAllTeams(ctx context.Context, etag string, page int, perPage int) ([]*Team, *Response, error)
- func (c *Client4) GetAllTeamsExcludePolicyConstrained(ctx context.Context, etag string, page int, perPage int) ([]*Team, *Response, error)
- func (c *Client4) GetAllTeamsWithTotalCount(ctx context.Context, etag string, page int, perPage int) ([]*Team, int64, *Response, error)
- func (c *Client4) GetAnalyticsOld(ctx context.Context, name, teamId string) (AnalyticsRows, *Response, error)
- func (c *Client4) GetAncillaryPermissions(ctx context.Context, subsectionPermissions []string) ([]string, *Response, error)
- func (c *Client4) GetAppliedSchemaMigrations(ctx context.Context) ([]AppliedMigration, *Response, error)
- func (c *Client4) GetAudits(ctx context.Context, page int, perPage int, etag string) (Audits, *Response, error)
- func (c *Client4) GetAuthorizedOAuthAppsForUser(ctx context.Context, userId string, page, perPage int) ([]*OAuthApp, *Response, error)
- func (c *Client4) GetBot(ctx context.Context, userId string, etag string) (*Bot, *Response, error)
- func (c *Client4) GetBotIncludeDeleted(ctx context.Context, userId string, etag string) (*Bot, *Response, error)
- func (c *Client4) GetBots(ctx context.Context, page, perPage int, etag string) ([]*Bot, *Response, error)
- func (c *Client4) GetBotsIncludeDeleted(ctx context.Context, page, perPage int, etag string) ([]*Bot, *Response, error)
- func (c *Client4) GetBotsOrphaned(ctx context.Context, page, perPage int, etag string) ([]*Bot, *Response, error)
- func (c *Client4) GetBrandImage(ctx context.Context) ([]byte, *Response, error)
- func (c *Client4) GetBulkReactions(ctx context.Context, postIds []string) (map[string][]*Reaction, *Response, error)
- func (c *Client4) GetChannel(ctx context.Context, channelId, etag string) (*Channel, *Response, error)
- func (c *Client4) GetChannelByName(ctx context.Context, channelName, teamId string, etag string) (*Channel, *Response, error)
- func (c *Client4) GetChannelByNameForTeamName(ctx context.Context, channelName, teamName string, etag string) (*Channel, *Response, error)
- func (c *Client4) GetChannelByNameForTeamNameIncludeDeleted(ctx context.Context, channelName, teamName string, etag string) (*Channel, *Response, error)
- func (c *Client4) GetChannelByNameIncludeDeleted(ctx context.Context, channelName, teamId string, etag string) (*Channel, *Response, error)
- func (c *Client4) GetChannelMember(ctx context.Context, channelId, userId, etag string) (*ChannelMember, *Response, error)
- func (c *Client4) GetChannelMemberCountsByGroup(ctx context.Context, channelID string, includeTimezones bool, etag string) ([]*ChannelMemberCountByGroup, *Response, error)
- func (c *Client4) GetChannelMembers(ctx context.Context, channelId string, page, perPage int, etag string) (ChannelMembers, *Response, error)
- func (c *Client4) GetChannelMembersByIds(ctx context.Context, channelId string, userIds []string) (ChannelMembers, *Response, error)
- func (c *Client4) GetChannelMembersForUser(ctx context.Context, userId, teamId, etag string) (ChannelMembers, *Response, error)
- func (c *Client4) GetChannelMembersTimezones(ctx context.Context, channelId string) ([]string, *Response, error)
- func (c *Client4) GetChannelMembersWithTeamData(ctx context.Context, userID string, page, perPage int) (ChannelMembersWithTeamData, *Response, error)
- func (c *Client4) GetChannelModerations(ctx context.Context, channelID string, etag string) ([]*ChannelModeration, *Response, error)
- func (c *Client4) GetChannelPoliciesForUser(ctx context.Context, userID string, offset, limit int) (*RetentionPolicyForChannelList, *Response, error)
- func (c *Client4) GetChannelStats(ctx context.Context, channelId string, etag string, excludeFilesCount bool) (*ChannelStats, *Response, error)
- func (c *Client4) GetChannelUnread(ctx context.Context, channelId, userId string) (*ChannelUnread, *Response, error)
- func (c *Client4) GetChannelsForRetentionPolicy(ctx context.Context, policyID string, page, perPage int) (*ChannelsWithCount, *Response, error)
- func (c *Client4) GetChannelsForScheme(ctx context.Context, schemeId string, page int, perPage int) (ChannelList, *Response, error)
- func (c *Client4) GetChannelsForTeamAndUserWithLastDeleteAt(ctx context.Context, teamId, userId string, includeDeleted bool, ...) ([]*Channel, *Response, error)
- func (c *Client4) GetChannelsForTeamForUser(ctx context.Context, teamId, userId string, includeDeleted bool, etag string) ([]*Channel, *Response, error)
- func (c *Client4) GetChannelsForUserWithLastDeleteAt(ctx context.Context, userID string, lastDeleteAt int) ([]*Channel, *Response, error)
- func (c *Client4) GetChannelsMemberCount(ctx context.Context, channelIDs []string) (map[string]int64, *Response, error)
- func (c *Client4) GetCloudCustomer(ctx context.Context) (*CloudCustomer, *Response, error)
- func (c *Client4) GetCloudProducts(ctx context.Context) ([]*Product, *Response, error)
- func (c *Client4) GetClusterStatus(ctx context.Context) ([]*ClusterInfo, *Response, error)
- func (c *Client4) GetCommandById(ctx context.Context, cmdId string) (*Command, *Response, error)
- func (c *Client4) GetComplianceReport(ctx context.Context, reportId string) (*Compliance, *Response, error)
- func (c *Client4) GetComplianceReports(ctx context.Context, page, perPage int) (Compliances, *Response, error)
- func (c *Client4) GetConfig(ctx context.Context) (*Config, *Response, error)
- func (c *Client4) GetDataRetentionPolicies(ctx context.Context, page, perPage int) (*RetentionPolicyWithTeamAndChannelCountsList, *Response, error)
- func (c *Client4) GetDataRetentionPoliciesCount(ctx context.Context) (int64, *Response, error)
- func (c *Client4) GetDataRetentionPolicy(ctx context.Context) (*GlobalRetentionPolicy, *Response, error)
- func (c *Client4) GetDataRetentionPolicyByID(ctx context.Context, policyID string) (*RetentionPolicyWithTeamAndChannelCounts, *Response, error)
- func (c *Client4) GetDefaultProfileImage(ctx context.Context, userId string) ([]byte, *Response, error)
- func (c *Client4) GetDeletedChannelsForTeam(ctx context.Context, teamId string, page int, perPage int, etag string) ([]*Channel, *Response, error)
- func (c *Client4) GetDrafts(ctx context.Context, userId, teamId string) ([]*Draft, *Response, error)
- func (c *Client4) GetEditHistoryForPost(ctx context.Context, postId string) ([]*Post, *Response, error)
- func (c *Client4) GetEmoji(ctx context.Context, emojiId string) (*Emoji, *Response, error)
- func (c *Client4) GetEmojiByName(ctx context.Context, name string) (*Emoji, *Response, error)
- func (c *Client4) GetEmojiImage(ctx context.Context, emojiId string) ([]byte, *Response, error)
- func (c *Client4) GetEmojiList(ctx context.Context, page, perPage int) ([]*Emoji, *Response, error)
- func (c *Client4) GetEmojisByNames(ctx context.Context, names []string) ([]*Emoji, *Response, error)
- func (c *Client4) GetEnvironmentConfig(ctx context.Context) (map[string]any, *Response, error)
- func (c *Client4) GetFile(ctx context.Context, fileId string) ([]byte, *Response, error)
- func (c *Client4) GetFileInfo(ctx context.Context, fileId string) (*FileInfo, *Response, error)
- func (c *Client4) GetFileInfosForPost(ctx context.Context, postId string, etag string) ([]*FileInfo, *Response, error)
- func (c *Client4) GetFileInfosForPostIncludeDeleted(ctx context.Context, postId string, etag string) ([]*FileInfo, *Response, error)
- func (c *Client4) GetFileLink(ctx context.Context, fileId string) (string, *Response, error)
- func (c *Client4) GetFilePreview(ctx context.Context, fileId string) ([]byte, *Response, error)
- func (c *Client4) GetFileThumbnail(ctx context.Context, fileId string) ([]byte, *Response, error)
- func (c *Client4) GetFilteredUsersStats(ctx context.Context, options *UserCountOptions) (*UsersStats, *Response, error)
- func (c *Client4) GetFlaggedPostsForUser(ctx context.Context, userId string, page int, perPage int) (*PostList, *Response, error)
- func (c *Client4) GetFlaggedPostsForUserInChannel(ctx context.Context, userId string, channelId string, page int, perPage int) (*PostList, *Response, error)
- func (c *Client4) GetFlaggedPostsForUserInTeam(ctx context.Context, userId string, teamId string, page int, perPage int) (*PostList, *Response, error)
- func (c *Client4) GetGroup(ctx context.Context, groupID, etag string) (*Group, *Response, error)
- func (c *Client4) GetGroupMembers(ctx context.Context, groupID string) (*GroupMemberList, *Response, error)
- func (c *Client4) GetGroupStats(ctx context.Context, groupID string) (*GroupStats, *Response, error)
- func (c *Client4) GetGroupSyncable(ctx context.Context, groupID, syncableID string, ...) (*GroupSyncable, *Response, error)
- func (c *Client4) GetGroupSyncables(ctx context.Context, groupID string, syncableType GroupSyncableType, ...) ([]*GroupSyncable, *Response, error)
- func (c *Client4) GetGroups(ctx context.Context, opts GroupSearchOpts) ([]*Group, *Response, error)
- func (c *Client4) GetGroupsAssociatedToChannelsByTeam(ctx context.Context, teamId string, opts GroupSearchOpts) (map[string][]*GroupWithSchemeAdmin, *Response, error)
- func (c *Client4) GetGroupsByChannel(ctx context.Context, channelId string, opts GroupSearchOpts) ([]*GroupWithSchemeAdmin, int, *Response, error)
- func (c *Client4) GetGroupsByTeam(ctx context.Context, teamId string, opts GroupSearchOpts) ([]*GroupWithSchemeAdmin, int, *Response, error)
- func (c *Client4) GetGroupsByUserId(ctx context.Context, userId string) ([]*Group, *Response, error)
- func (c *Client4) GetIPFilters(ctx context.Context) (*AllowedIPRanges, *Response, error)
- func (c *Client4) GetIncomingWebhook(ctx context.Context, hookID string, etag string) (*IncomingWebhook, *Response, error)
- func (c *Client4) GetIncomingWebhooks(ctx context.Context, page int, perPage int, etag string) ([]*IncomingWebhook, *Response, error)
- func (c *Client4) GetIncomingWebhooksForTeam(ctx context.Context, teamId string, page int, perPage int, etag string) ([]*IncomingWebhook, *Response, error)
- func (c *Client4) GetIncomingWebhooksWithCount(ctx context.Context, page int, perPage int, etag string) (*IncomingWebhooksWithCount, *Response, error)
- func (c *Client4) GetInvoicesForSubscription(ctx context.Context) ([]*Invoice, *Response, error)
- func (c *Client4) GetJob(ctx context.Context, id string) (*Job, *Response, error)
- func (c *Client4) GetJobs(ctx context.Context, jobType string, status string, page int, perPage int) ([]*Job, *Response, error)
- func (c *Client4) GetJobsByType(ctx context.Context, jobType string, page int, perPage int) ([]*Job, *Response, error)
- func (c *Client4) GetKnownUsers(ctx context.Context) ([]string, *Response, error)
- func (c *Client4) GetLdapGroups(ctx context.Context) ([]*Group, *Response, error)
- func (c *Client4) GetLogs(ctx context.Context, page, perPage int) ([]string, *Response, error)
- func (c *Client4) GetMarketplacePlugins(ctx context.Context, filter *MarketplacePluginFilter) ([]*MarketplacePlugin, *Response, error)
- func (c *Client4) GetMe(ctx context.Context, etag string) (*User, *Response, error)
- func (c *Client4) GetMyIP(ctx context.Context) (*GetIPAddressResponse, *Response, error)
- func (c *Client4) GetNewUsersInTeam(ctx context.Context, teamId string, page int, perPage int, etag string) ([]*User, *Response, error)
- func (c *Client4) GetNotices(ctx context.Context, lastViewed int64, teamId string, client NoticeClientType, ...) (NoticeMessages, *Response, error)
- func (c *Client4) GetOAuthAccessToken(ctx context.Context, data url.Values) (*AccessResponse, *Response, error)
- func (c *Client4) GetOAuthApp(ctx context.Context, appId string) (*OAuthApp, *Response, error)
- func (c *Client4) GetOAuthAppInfo(ctx context.Context, appId string) (*OAuthApp, *Response, error)
- func (c *Client4) GetOAuthApps(ctx context.Context, page, perPage int) ([]*OAuthApp, *Response, error)
- func (c *Client4) GetOldClientConfig(ctx context.Context, etag string) (map[string]string, *Response, error)
- func (c *Client4) GetOldClientLicense(ctx context.Context, etag string) (map[string]string, *Response, error)
- func (c *Client4) GetOutgoingOAuthConnection(ctx context.Context, id string) (*OutgoingOAuthConnection, *Response, error)
- func (c *Client4) GetOutgoingOAuthConnections(ctx context.Context, filters OutgoingOAuthConnectionGetConnectionsFilter) ([]*OutgoingOAuthConnection, *Response, error)
- func (c *Client4) GetOutgoingWebhook(ctx context.Context, hookId string) (*OutgoingWebhook, *Response, error)
- func (c *Client4) GetOutgoingWebhooks(ctx context.Context, page int, perPage int, etag string) ([]*OutgoingWebhook, *Response, error)
- func (c *Client4) GetOutgoingWebhooksForChannel(ctx context.Context, channelId string, page int, perPage int, etag string) ([]*OutgoingWebhook, *Response, error)
- func (c *Client4) GetOutgoingWebhooksForTeam(ctx context.Context, teamId string, page int, perPage int, etag string) ([]*OutgoingWebhook, *Response, error)
- func (c *Client4) GetPing(ctx context.Context) (string, *Response, error)
- func (c *Client4) GetPingWithFullServerStatus(ctx context.Context) (map[string]string, *Response, error)
- func (c *Client4) GetPingWithOptions(ctx context.Context, options SystemPingOptions) (map[string]string, *Response, error)
- func (c *Client4) GetPingWithServerStatus(ctx context.Context) (string, *Response, error)
- func (c *Client4) GetPinnedPosts(ctx context.Context, channelId string, etag string) (*PostList, *Response, error)
- func (c *Client4) GetPluginStatuses(ctx context.Context) (PluginStatuses, *Response, error)
- func (c *Client4) GetPlugins(ctx context.Context) (*PluginsResponse, *Response, error)
- func (c *Client4) GetPost(ctx context.Context, postId string, etag string) (*Post, *Response, error)
- func (c *Client4) GetPostIncludeDeleted(ctx context.Context, postId string, etag string) (*Post, *Response, error)
- func (c *Client4) GetPostInfo(ctx context.Context, postId string) (*PostInfo, *Response, error)
- func (c *Client4) GetPostThread(ctx context.Context, postId string, etag string, collapsedThreads bool) (*PostList, *Response, error)
- func (c *Client4) GetPostThreadWithOpts(ctx context.Context, postID string, etag string, opts GetPostsOptions) (*PostList, *Response, error)
- func (c *Client4) GetPostsAfter(ctx context.Context, channelId, postId string, page, perPage int, etag string, ...) (*PostList, *Response, error)
- func (c *Client4) GetPostsAroundLastUnread(ctx context.Context, userId, channelId string, limitBefore, limitAfter int, ...) (*PostList, *Response, error)
- func (c *Client4) GetPostsBefore(ctx context.Context, channelId, postId string, page, perPage int, etag string, ...) (*PostList, *Response, error)
- func (c *Client4) GetPostsByIds(ctx context.Context, postIds []string) ([]*Post, *Response, error)
- func (c *Client4) GetPostsForChannel(ctx context.Context, channelId string, page, perPage int, etag string, ...) (*PostList, *Response, error)
- func (c *Client4) GetPostsSince(ctx context.Context, channelId string, time int64, collapsedThreads bool) (*PostList, *Response, error)
- func (c *Client4) GetPostsUsage(ctx context.Context) (*PostsUsage, *Response, error)
- func (c *Client4) GetPreferenceByCategoryAndName(ctx context.Context, userId string, category string, preferenceName string) (*Preference, *Response, error)
- func (c *Client4) GetPreferences(ctx context.Context, userId string) (Preferences, *Response, error)
- func (c *Client4) GetPreferencesByCategory(ctx context.Context, userId string, category string) (Preferences, *Response, error)
- func (c *Client4) GetPrivateChannelsForTeam(ctx context.Context, teamId string, page int, perPage int, etag string) ([]*Channel, *Response, error)
- func (c *Client4) GetProductLimits(ctx context.Context) (*ProductLimits, *Response, error)
- func (c *Client4) GetProfileImage(ctx context.Context, userId, etag string) ([]byte, *Response, error)
- func (c *Client4) GetPublicChannelsByIdsForTeam(ctx context.Context, teamId string, channelIds []string) ([]*Channel, *Response, error)
- func (c *Client4) GetPublicChannelsForTeam(ctx context.Context, teamId string, page int, perPage int, etag string) ([]*Channel, *Response, error)
- func (c *Client4) GetReactions(ctx context.Context, postId string) ([]*Reaction, *Response, error)
- func (c *Client4) GetRecentlyActiveUsersInTeam(ctx context.Context, teamId string, page int, perPage int, etag string) ([]*User, *Response, error)
- func (c *Client4) GetRedirectLocation(ctx context.Context, urlParam, etag string) (string, *Response, error)
- func (c *Client4) GetRemoteCluster(ctx context.Context, remoteClusterId string) (*RemoteCluster, *Response, error)
- func (c *Client4) GetRemoteClusterInfo(ctx context.Context, remoteID string) (RemoteClusterInfo, *Response, error)
- func (c *Client4) GetRemoteClusters(ctx context.Context, page, perPage int, filter RemoteClusterQueryFilter) ([]*RemoteCluster, *Response, error)
- func (c *Client4) GetRole(ctx context.Context, id string) (*Role, *Response, error)
- func (c *Client4) GetRoleByName(ctx context.Context, name string) (*Role, *Response, error)
- func (c *Client4) GetRolesByNames(ctx context.Context, roleNames []string) ([]*Role, *Response, error)
- func (c *Client4) GetSamlCertificateStatus(ctx context.Context) (*SamlCertificateStatus, *Response, error)
- func (c *Client4) GetSamlMetadata(ctx context.Context) (string, *Response, error)
- func (c *Client4) GetSamlMetadataFromIdp(ctx context.Context, samlMetadataURL string) (*SamlMetadataResponse, *Response, error)
- func (c *Client4) GetScheme(ctx context.Context, id string) (*Scheme, *Response, error)
- func (c *Client4) GetSchemes(ctx context.Context, scope string, page int, perPage int) ([]*Scheme, *Response, error)
- func (c *Client4) GetSelfHostedProducts(ctx context.Context) ([]*Product, *Response, error)
- func (c *Client4) GetServerBusy(ctx context.Context) (*ServerBusyState, *Response, error)
- func (c *Client4) GetServerLimits(ctx context.Context) (*ServerLimits, *Response, error)
- func (c *Client4) GetSessions(ctx context.Context, userId, etag string) ([]*Session, *Response, error)
- func (c *Client4) GetSharedChannelRemotesByRemoteCluster(ctx context.Context, remoteId string, filter SharedChannelRemoteFilterOpts, ...) ([]*SharedChannelRemote, *Response, error)
- func (c *Client4) GetSidebarCategoriesForTeamForUser(ctx context.Context, userID, teamID, etag string) (*OrderedSidebarCategories, *Response, error)
- func (c *Client4) GetSidebarCategoryForTeamForUser(ctx context.Context, userID, teamID, categoryID, etag string) (*SidebarCategoryWithChannels, *Response, error)
- func (c *Client4) GetSidebarCategoryOrderForTeamForUser(ctx context.Context, userID, teamID, etag string) ([]string, *Response, error)
- func (c *Client4) GetSortedEmojiList(ctx context.Context, page, perPage int, sort string) ([]*Emoji, *Response, error)
- func (c *Client4) GetStorageUsage(ctx context.Context) (*StorageUsage, *Response, error)
- func (c *Client4) GetSubscription(ctx context.Context) (*Subscription, *Response, error)
- func (c *Client4) GetSupportedTimezone(ctx context.Context) ([]string, *Response, error)
- func (c *Client4) GetTeam(ctx context.Context, teamId, etag string) (*Team, *Response, error)
- func (c *Client4) GetTeamByName(ctx context.Context, name, etag string) (*Team, *Response, error)
- func (c *Client4) GetTeamIcon(ctx context.Context, teamId, etag string) ([]byte, *Response, error)
- func (c *Client4) GetTeamInviteInfo(ctx context.Context, inviteId string) (*Team, *Response, error)
- func (c *Client4) GetTeamMember(ctx context.Context, teamId, userId, etag string) (*TeamMember, *Response, error)
- func (c *Client4) GetTeamMembers(ctx context.Context, teamId string, page int, perPage int, etag string) ([]*TeamMember, *Response, error)
- func (c *Client4) GetTeamMembersByIds(ctx context.Context, teamId string, userIds []string) ([]*TeamMember, *Response, error)
- func (c *Client4) GetTeamMembersForUser(ctx context.Context, userId string, etag string) ([]*TeamMember, *Response, error)
- func (c *Client4) GetTeamMembersSortAndWithoutDeletedUsers(ctx context.Context, teamId string, page int, perPage int, sort string, ...) ([]*TeamMember, *Response, error)
- func (c *Client4) GetTeamPoliciesForUser(ctx context.Context, userID string, offset, limit int) (*RetentionPolicyForTeamList, *Response, error)
- func (c *Client4) GetTeamStats(ctx context.Context, teamId, etag string) (*TeamStats, *Response, error)
- func (c *Client4) GetTeamUnread(ctx context.Context, teamId, userId string) (*TeamUnread, *Response, error)
- func (c *Client4) GetTeamsForRetentionPolicy(ctx context.Context, policyID string, page, perPage int) (*TeamsWithCount, *Response, error)
- func (c *Client4) GetTeamsForScheme(ctx context.Context, schemeId string, page int, perPage int) ([]*Team, *Response, error)
- func (c *Client4) GetTeamsForUser(ctx context.Context, userId, etag string) ([]*Team, *Response, error)
- func (c *Client4) GetTeamsUnreadForUser(ctx context.Context, userId, teamIdToExclude string, ...) ([]*TeamUnread, *Response, error)
- func (c *Client4) GetTeamsUsage(ctx context.Context) (*TeamsUsage, *Response, error)
- func (c *Client4) GetTermsOfService(ctx context.Context, etag string) (*TermsOfService, *Response, error)
- func (c *Client4) GetTotalUsersStats(ctx context.Context, etag string) (*UsersStats, *Response, error)
- func (c *Client4) GetUpload(ctx context.Context, uploadId string) (*UploadSession, *Response, error)
- func (c *Client4) GetUploadsForUser(ctx context.Context, userId string) ([]*UploadSession, *Response, error)
- func (c *Client4) GetUser(ctx context.Context, userId, etag string) (*User, *Response, error)
- func (c *Client4) GetUserAccessToken(ctx context.Context, tokenId string) (*UserAccessToken, *Response, error)
- func (c *Client4) GetUserAccessTokens(ctx context.Context, page int, perPage int) ([]*UserAccessToken, *Response, error)
- func (c *Client4) GetUserAccessTokensForUser(ctx context.Context, userId string, page, perPage int) ([]*UserAccessToken, *Response, error)
- func (c *Client4) GetUserAudits(ctx context.Context, userId string, page int, perPage int, etag string) (Audits, *Response, error)
- func (c *Client4) GetUserByEmail(ctx context.Context, email, etag string) (*User, *Response, error)
- func (c *Client4) GetUserByUsername(ctx context.Context, userName, etag string) (*User, *Response, error)
- func (c *Client4) GetUserScheduledPosts(ctx context.Context, teamId string, includeDirectChannels bool) (map[string][]*ScheduledPost, *Response, error)
- func (c *Client4) GetUserStatus(ctx context.Context, userId, etag string) (*Status, *Response, error)
- func (c *Client4) GetUserTermsOfService(ctx context.Context, userId, etag string) (*UserTermsOfService, *Response, error)
- func (c *Client4) GetUserThread(ctx context.Context, userId, teamId, threadId string, extended bool) (*ThreadResponse, *Response, error)
- func (c *Client4) GetUserThreads(ctx context.Context, userId, teamId string, options GetUserThreadsOpts) (*Threads, *Response, error)
- func (c *Client4) GetUsers(ctx context.Context, page int, perPage int, etag string) ([]*User, *Response, error)
- func (c *Client4) GetUsersByGroupChannelIds(ctx context.Context, groupChannelIds []string) (map[string][]*User, *Response, error)
- func (c *Client4) GetUsersByIds(ctx context.Context, userIds []string) ([]*User, *Response, error)
- func (c *Client4) GetUsersByIdsWithOptions(ctx context.Context, userIds []string, options *UserGetByIdsOptions) ([]*User, *Response, error)
- func (c *Client4) GetUsersByUsernames(ctx context.Context, usernames []string) ([]*User, *Response, error)
- func (c *Client4) GetUsersForReporting(ctx context.Context, options *UserReportOptions) ([]*UserReport, *Response, error)
- func (c *Client4) GetUsersInChannel(ctx context.Context, channelId string, page int, perPage int, etag string) ([]*User, *Response, error)
- func (c *Client4) GetUsersInChannelByStatus(ctx context.Context, channelId string, page int, perPage int, etag string) ([]*User, *Response, error)
- func (c *Client4) GetUsersInGroup(ctx context.Context, groupID string, page int, perPage int, etag string) ([]*User, *Response, error)
- func (c *Client4) GetUsersInGroupByDisplayName(ctx context.Context, groupID string, page int, perPage int, etag string) ([]*User, *Response, error)
- func (c *Client4) GetUsersInTeam(ctx context.Context, teamId string, page int, perPage int, etag string) ([]*User, *Response, error)
- func (c *Client4) GetUsersNotInChannel(ctx context.Context, teamId, channelId string, page int, perPage int, ...) ([]*User, *Response, error)
- func (c *Client4) GetUsersNotInTeam(ctx context.Context, teamId string, page int, perPage int, etag string) ([]*User, *Response, error)
- func (c *Client4) GetUsersStatusesByIds(ctx context.Context, userIds []string) ([]*Status, *Response, error)
- func (c *Client4) GetUsersWithCustomQueryParameters(ctx context.Context, page int, perPage int, queryParameters, etag string) ([]*User, *Response, error)
- func (c *Client4) GetUsersWithInvalidEmails(ctx context.Context, page, perPage int) ([]*User, *Response, error)
- func (c *Client4) GetUsersWithoutTeam(ctx context.Context, page int, perPage int, etag string) ([]*User, *Response, error)
- func (c *Client4) GetWebappPlugins(ctx context.Context) ([]*Manifest, *Response, error)
- func (c *Client4) ImportTeam(ctx context.Context, data []byte, filesize int, ...) (map[string]string, *Response, error)
- func (c *Client4) InstallMarketplacePlugin(ctx context.Context, request *InstallMarketplacePluginRequest) (*Manifest, *Response, error)
- func (c *Client4) InstallPluginFromURL(ctx context.Context, downloadURL string, force bool) (*Manifest, *Response, error)
- func (c *Client4) InvalidateCaches(ctx context.Context) (*Response, error)
- func (c *Client4) InvalidateEmailInvites(ctx context.Context) (*Response, error)
- func (c *Client4) InviteGuestsToTeam(ctx context.Context, teamId string, userEmails []string, channels []string, ...) (*Response, error)
- func (c *Client4) InviteGuestsToTeamGracefully(ctx context.Context, teamId string, userEmails []string, channels []string, ...) ([]*EmailInviteWithError, *Response, error)
- func (c *Client4) InviteRemoteClusterToChannel(ctx context.Context, remoteId, channelId string) (*Response, error)
- func (c *Client4) InviteUsersToTeam(ctx context.Context, teamId string, userEmails []string) (*Response, error)
- func (c *Client4) InviteUsersToTeamAndChannelsGracefully(ctx context.Context, teamId string, userEmails []string, channelIds []string, ...) ([]*EmailInviteWithError, *Response, error)
- func (c *Client4) InviteUsersToTeamGracefully(ctx context.Context, teamId string, userEmails []string) ([]*EmailInviteWithError, *Response, error)
- func (c *Client4) LinkGroupSyncable(ctx context.Context, groupID, syncableID string, ...) (*GroupSyncable, *Response, error)
- func (c *Client4) LinkLdapGroup(ctx context.Context, dn string) (*Group, *Response, error)
- func (c *Client4) ListAutocompleteCommands(ctx context.Context, teamId string) ([]*Command, *Response, error)
- func (c *Client4) ListChannelBookmarksForChannel(ctx context.Context, channelId string, since int64) ([]*ChannelBookmarkWithFileInfo, *Response, error)
- func (c *Client4) ListCommandAutocompleteSuggestions(ctx context.Context, userInput, teamId string) ([]AutocompleteSuggestion, *Response, error)
- func (c *Client4) ListCommands(ctx context.Context, teamId string, customOnly bool) ([]*Command, *Response, error)
- func (c *Client4) ListExports(ctx context.Context) ([]string, *Response, error)
- func (c *Client4) ListImports(ctx context.Context) ([]string, *Response, error)
- func (c *Client4) Login(ctx context.Context, loginId string, password string) (*User, *Response, error)
- func (c *Client4) LoginById(ctx context.Context, id string, password string) (*User, *Response, error)
- func (c *Client4) LoginByLdap(ctx context.Context, loginId string, password string) (*User, *Response, error)
- func (c *Client4) LoginWithDesktopToken(ctx context.Context, token, deviceId string) (*User, *Response, error)
- func (c *Client4) LoginWithDevice(ctx context.Context, loginId string, password string, deviceId string) (*User, *Response, error)
- func (c *Client4) LoginWithMFA(ctx context.Context, loginId, password, mfaToken string) (*User, *Response, error)
- func (c *Client4) Logout(ctx context.Context) (*Response, error)
- func (c *Client4) MarkNoticesViewed(ctx context.Context, ids []string) (*Response, error)
- func (c *Client4) MigrateAuthToLdap(ctx context.Context, fromAuthService string, matchField string, force bool) (*Response, error)
- func (c *Client4) MigrateAuthToSaml(ctx context.Context, fromAuthService string, usersMap map[string]string, ...) (*Response, error)
- func (c *Client4) MigrateConfig(ctx context.Context, from, to string) (*Response, error)
- func (c *Client4) MigrateIdLdap(ctx context.Context, toAttribute string) (*Response, error)
- func (c *Client4) MockSession(token string)
- func (c *Client4) MoveChannel(ctx context.Context, channelId, teamId string, force bool) (*Channel, *Response, error)
- func (c *Client4) MoveCommand(ctx context.Context, teamId string, commandId string) (*Response, error)
- func (c *Client4) MoveThread(ctx context.Context, postId string, params *MoveThreadParams) (*Response, error)
- func (c *Client4) NotifyAdmin(ctx context.Context, nr *NotifyAdminToUpgradeRequest) (int, error)
- func (c *Client4) OpenInteractiveDialog(ctx context.Context, request OpenDialogRequest) (*Response, error)
- func (c *Client4) PatchBot(ctx context.Context, userId string, patch *BotPatch) (*Bot, *Response, error)
- func (c *Client4) PatchChannel(ctx context.Context, channelId string, patch *ChannelPatch) (*Channel, *Response, error)
- func (c *Client4) PatchChannelModerations(ctx context.Context, channelID string, patch []*ChannelModerationPatch) ([]*ChannelModeration, *Response, error)
- func (c *Client4) PatchConfig(ctx context.Context, config *Config) (*Config, *Response, error)
- func (c *Client4) PatchDataRetentionPolicy(ctx context.Context, patch *RetentionPolicyWithTeamAndChannelIDs) (*RetentionPolicyWithTeamAndChannelCounts, *Response, error)
- func (c *Client4) PatchGroup(ctx context.Context, groupID string, patch *GroupPatch) (*Group, *Response, error)
- func (c *Client4) PatchGroupSyncable(ctx context.Context, groupID, syncableID string, ...) (*GroupSyncable, *Response, error)
- func (c *Client4) PatchPost(ctx context.Context, postId string, patch *PostPatch) (*Post, *Response, error)
- func (c *Client4) PatchRemoteCluster(ctx context.Context, remoteClusterId string, patch *RemoteClusterPatch) (*RemoteCluster, *Response, error)
- func (c *Client4) PatchRole(ctx context.Context, roleId string, patch *RolePatch) (*Role, *Response, error)
- func (c *Client4) PatchScheme(ctx context.Context, id string, patch *SchemePatch) (*Scheme, *Response, error)
- func (c *Client4) PatchTeam(ctx context.Context, teamId string, patch *TeamPatch) (*Team, *Response, error)
- func (c *Client4) PatchUser(ctx context.Context, userId string, patch *UserPatch) (*User, *Response, error)
- func (c *Client4) PermanentDeleteAllUsers(ctx context.Context) (*Response, error)
- func (c *Client4) PermanentDeleteChannel(ctx context.Context, channelId string) (*Response, error)
- func (c *Client4) PermanentDeletePost(ctx context.Context, postId string) (*Response, error)
- func (c *Client4) PermanentDeleteTeam(ctx context.Context, teamId string) (*Response, error)
- func (c *Client4) PermanentDeleteUser(ctx context.Context, userId string) (*Response, error)
- func (c *Client4) PinPost(ctx context.Context, postId string) (*Response, error)
- func (c *Client4) PostLog(ctx context.Context, message map[string]string) (map[string]string, *Response, error)
- func (c *Client4) PromoteGuestToUser(ctx context.Context, guestId string) (*Response, error)
- func (c *Client4) PublishUserTyping(ctx context.Context, userID string, typingRequest TypingRequest) (*Response, error)
- func (c *Client4) PurgeBleveIndexes(ctx context.Context) (*Response, error)
- func (c *Client4) PurgeElasticsearchIndexes(ctx context.Context) (*Response, error)
- func (c *Client4) ReadMultipleChannels(ctx context.Context, userId string, channelIds []string) (*ChannelViewResponse, *Response, error)
- func (c *Client4) ReattachPlugin(ctx context.Context, request *PluginReattachRequest) (*Response, error)
- func (c *Client4) RegenCommandToken(ctx context.Context, commandId string) (string, *Response, error)
- func (c *Client4) RegenOutgoingHookToken(ctx context.Context, hookId string) (*OutgoingWebhook, *Response, error)
- func (c *Client4) RegenerateOAuthAppSecret(ctx context.Context, appId string) (*OAuthApp, *Response, error)
- func (c *Client4) RegenerateTeamInviteId(ctx context.Context, teamId string) (*Team, *Response, error)
- func (c *Client4) RegisterTermsOfServiceAction(ctx context.Context, userId, termsOfServiceId string, accepted bool) (*Response, error)
- func (c *Client4) ReloadConfig(ctx context.Context) (*Response, error)
- func (c *Client4) RemoteClusterAcceptInvite(ctx context.Context, rcAcceptInvite *RemoteClusterAcceptInvite) (*RemoteCluster, *Response, error)
- func (c *Client4) RemoveChannelsFromRetentionPolicy(ctx context.Context, policyID string, channelIDs []string) (*Response, error)
- func (c *Client4) RemoveLicenseFile(ctx context.Context) (*Response, error)
- func (c *Client4) RemovePlugin(ctx context.Context, id string) (*Response, error)
- func (c *Client4) RemoveRecentUserCustomStatus(ctx context.Context, userId string) (*Response, error)
- func (c *Client4) RemoveTeamIcon(ctx context.Context, teamId string) (*Response, error)
- func (c *Client4) RemoveTeamMember(ctx context.Context, teamId, userId string) (*Response, error)
- func (c *Client4) RemoveTeamsFromRetentionPolicy(ctx context.Context, policyID string, teamIDs []string) (*Response, error)
- func (c *Client4) RemoveUserCustomStatus(ctx context.Context, userId string) (*Response, error)
- func (c *Client4) RemoveUserFromChannel(ctx context.Context, channelId, userId string) (*Response, error)
- func (c *Client4) RequestTrialLicense(ctx context.Context, users int) (*Response, error)
- func (c *Client4) RequestTrialLicenseWithExtraFields(ctx context.Context, trialRequest *TrialLicenseRequest) (*Response, error)
- func (c *Client4) ResetPassword(ctx context.Context, token, newPassword string) (*Response, error)
- func (c *Client4) ResetSamlAuthDataToEmail(ctx context.Context, includeDeleted bool, dryRun bool, userIDs []string) (int64, *Response, error)
- func (c *Client4) RestoreChannel(ctx context.Context, channelId string) (*Channel, *Response, error)
- func (c *Client4) RestoreGroup(ctx context.Context, groupID string, etag string) (*Group, *Response, error)
- func (c *Client4) RestoreTeam(ctx context.Context, teamId string) (*Team, *Response, error)
- func (c *Client4) RevokeAllSessions(ctx context.Context, userId string) (*Response, error)
- func (c *Client4) RevokeSession(ctx context.Context, userId, sessionId string) (*Response, error)
- func (c *Client4) RevokeSessionsFromAllUsers(ctx context.Context) (*Response, error)
- func (c *Client4) RevokeUserAccessToken(ctx context.Context, tokenId string) (*Response, error)
- func (c *Client4) SaveReaction(ctx context.Context, reaction *Reaction) (*Reaction, *Response, error)
- func (c *Client4) SearchAllChannels(ctx context.Context, search *ChannelSearch) (ChannelListWithTeamData, *Response, error)
- func (c *Client4) SearchAllChannelsForUser(ctx context.Context, term string) (ChannelListWithTeamData, *Response, error)
- func (c *Client4) SearchAllChannelsPaged(ctx context.Context, search *ChannelSearch) (*ChannelsWithCount, *Response, error)
- func (c *Client4) SearchArchivedChannels(ctx context.Context, teamId string, search *ChannelSearch) ([]*Channel, *Response, error)
- func (c *Client4) SearchChannels(ctx context.Context, teamId string, search *ChannelSearch) ([]*Channel, *Response, error)
- func (c *Client4) SearchChannelsForRetentionPolicy(ctx context.Context, policyID string, term string) (ChannelListWithTeamData, *Response, error)
- func (c *Client4) SearchEmoji(ctx context.Context, search *EmojiSearch) ([]*Emoji, *Response, error)
- func (c *Client4) SearchFiles(ctx context.Context, teamId string, terms string, isOrSearch bool) (*FileInfoList, *Response, error)
- func (c *Client4) SearchFilesWithParams(ctx context.Context, teamId string, params *SearchParameter) (*FileInfoList, *Response, error)
- func (c *Client4) SearchGroupChannels(ctx context.Context, search *ChannelSearch) ([]*Channel, *Response, error)
- func (c *Client4) SearchPosts(ctx context.Context, teamId string, terms string, isOrSearch bool) (*PostList, *Response, error)
- func (c *Client4) SearchPostsWithMatches(ctx context.Context, teamId string, terms string, isOrSearch bool) (*PostSearchResults, *Response, error)
- func (c *Client4) SearchPostsWithParams(ctx context.Context, teamId string, params *SearchParameter) (*PostList, *Response, error)
- func (c *Client4) SearchTeams(ctx context.Context, search *TeamSearch) ([]*Team, *Response, error)
- func (c *Client4) SearchTeamsForRetentionPolicy(ctx context.Context, policyID string, term string) ([]*Team, *Response, error)
- func (c *Client4) SearchTeamsPaged(ctx context.Context, search *TeamSearch) ([]*Team, int64, *Response, error)
- func (c *Client4) SearchUserAccessTokens(ctx context.Context, search *UserAccessTokenSearch) ([]*UserAccessToken, *Response, error)
- func (c *Client4) SearchUsers(ctx context.Context, search *UserSearch) ([]*User, *Response, error)
- func (c *Client4) SendPasswordResetEmail(ctx context.Context, email string) (*Response, error)
- func (c *Client4) SendVerificationEmail(ctx context.Context, email string) (*Response, error)
- func (c *Client4) SetBoolString(value bool, valueStr string)
- func (c *Client4) SetDefaultProfileImage(ctx context.Context, userId string) (*Response, error)
- func (c *Client4) SetOAuthToken(token string)
- func (c *Client4) SetPostReminder(ctx context.Context, reminder *PostReminder) (*Response, error)
- func (c *Client4) SetPostUnread(ctx context.Context, userId string, postId string, ...) (*Response, error)
- func (c *Client4) SetProfileImage(ctx context.Context, userId string, data []byte) (*Response, error)
- func (c *Client4) SetServerBusy(ctx context.Context, secs int) (*Response, error)
- func (c *Client4) SetTeamIcon(ctx context.Context, teamId string, data []byte) (*Response, error)
- func (c *Client4) SetThreadUnreadByPostId(ctx context.Context, userId, teamId, threadId, postId string) (*ThreadResponse, *Response, error)
- func (c *Client4) SetToken(token string)
- func (c *Client4) SoftDeleteTeam(ctx context.Context, teamId string) (*Response, error)
- func (c *Client4) SubmitClientMetrics(ctx context.Context, report *PerformanceReport) (*Response, error)
- func (c *Client4) SubmitInteractiveDialog(ctx context.Context, request SubmitDialogRequest) (*SubmitDialogResponse, *Response, error)
- func (c *Client4) SwitchAccountType(ctx context.Context, switchRequest *SwitchRequest) (string, *Response, error)
- func (c *Client4) SyncLdap(ctx context.Context, includeRemovedMembers bool) (*Response, error)
- func (c *Client4) TeamExists(ctx context.Context, name, etag string) (bool, *Response, error)
- func (c *Client4) TeamMembersMinusGroupMembers(ctx context.Context, teamID string, groupIDs []string, page, perPage int, ...) ([]*UserWithGroups, int64, *Response, error)
- func (c *Client4) TestElasticsearch(ctx context.Context) (*Response, error)
- func (c *Client4) TestEmail(ctx context.Context, config *Config) (*Response, error)
- func (c *Client4) TestLdap(ctx context.Context) (*Response, error)
- func (c *Client4) TestNotifications(ctx context.Context) (*Response, error)
- func (c *Client4) TestS3Connection(ctx context.Context, config *Config) (*Response, error)
- func (c *Client4) TestSiteURL(ctx context.Context, siteURL string) (*Response, error)
- func (c *Client4) TriggerNotifyAdmin(ctx context.Context, nr *NotifyAdminToUpgradeRequest) (int, error)
- func (c *Client4) UnacknowledgePost(ctx context.Context, postId, userId string) (*Response, error)
- func (c *Client4) UninviteRemoteClusterToChannel(ctx context.Context, remoteId, channelId string) (*Response, error)
- func (c *Client4) UnlinkGroupSyncable(ctx context.Context, groupID, syncableID string, ...) (*Response, error)
- func (c *Client4) UnlinkLdapGroup(ctx context.Context, dn string) (*Group, *Response, error)
- func (c *Client4) UnpinPost(ctx context.Context, postId string) (*Response, error)
- func (c *Client4) UpdateChannel(ctx context.Context, channel *Channel) (*Channel, *Response, error)
- func (c *Client4) UpdateChannelBookmark(ctx context.Context, channelId, bookmarkId string, patch *ChannelBookmarkPatch) (*UpdateChannelBookmarkResponse, *Response, error)
- func (c *Client4) UpdateChannelBookmarkSortOrder(ctx context.Context, channelId, bookmarkId string, sortOrder int64) ([]*ChannelBookmarkWithFileInfo, *Response, error)
- func (c *Client4) UpdateChannelMemberSchemeRoles(ctx context.Context, channelId string, userId string, schemeRoles *SchemeRoles) (*Response, error)
- func (c *Client4) UpdateChannelNotifyProps(ctx context.Context, channelId, userId string, props map[string]string) (*Response, error)
- func (c *Client4) UpdateChannelPrivacy(ctx context.Context, channelId string, privacy ChannelType) (*Channel, *Response, error)
- func (c *Client4) UpdateChannelRoles(ctx context.Context, channelId, userId, roles string) (*Response, error)
- func (c *Client4) UpdateChannelScheme(ctx context.Context, channelId, schemeId string) (*Response, error)
- func (c *Client4) UpdateCloudCustomer(ctx context.Context, customerInfo *CloudCustomerInfo) (*CloudCustomer, *Response, error)
- func (c *Client4) UpdateCloudCustomerAddress(ctx context.Context, address *Address) (*CloudCustomer, *Response, error)
- func (c *Client4) UpdateCommand(ctx context.Context, cmd *Command) (*Command, *Response, error)
- func (c *Client4) UpdateConfig(ctx context.Context, config *Config) (*Config, *Response, error)
- func (c *Client4) UpdateIncomingWebhook(ctx context.Context, hook *IncomingWebhook) (*IncomingWebhook, *Response, error)
- func (c *Client4) UpdateJobStatus(ctx context.Context, jobId string, status string, force bool) (*Response, error)
- func (c *Client4) UpdateOAuthApp(ctx context.Context, app *OAuthApp) (*OAuthApp, *Response, error)
- func (c *Client4) UpdateOutgoingOAuthConnection(ctx context.Context, connection *OutgoingOAuthConnection) (*OutgoingOAuthConnection, *Response, error)
- func (c *Client4) UpdateOutgoingWebhook(ctx context.Context, hook *OutgoingWebhook) (*OutgoingWebhook, *Response, error)
- func (c *Client4) UpdatePassword(ctx context.Context, userId, currentPassword, newPassword string) (*Response, error)
- func (c *Client4) UpdatePost(ctx context.Context, postId string, post *Post) (*Post, *Response, error)
- func (c *Client4) UpdatePreferences(ctx context.Context, userId string, preferences Preferences) (*Response, error)
- func (c *Client4) UpdateScheduledPost(ctx context.Context, scheduledPost *ScheduledPost) (*ScheduledPost, *Response, error)
- func (c *Client4) UpdateSidebarCategoriesForTeamForUser(ctx context.Context, userID, teamID string, ...) ([]*SidebarCategoryWithChannels, *Response, error)
- func (c *Client4) UpdateSidebarCategoryForTeamForUser(ctx context.Context, userID, teamID, categoryID string, ...) (*SidebarCategoryWithChannels, *Response, error)
- func (c *Client4) UpdateSidebarCategoryOrderForTeamForUser(ctx context.Context, userID, teamID string, order []string) ([]string, *Response, error)
- func (c *Client4) UpdateTeam(ctx context.Context, team *Team) (*Team, *Response, error)
- func (c *Client4) UpdateTeamMemberRoles(ctx context.Context, teamId, userId, newRoles string) (*Response, error)
- func (c *Client4) UpdateTeamMemberSchemeRoles(ctx context.Context, teamId string, userId string, schemeRoles *SchemeRoles) (*Response, error)
- func (c *Client4) UpdateTeamPrivacy(ctx context.Context, teamId string, privacy string) (*Team, *Response, error)
- func (c *Client4) UpdateTeamScheme(ctx context.Context, teamId, schemeId string) (*Response, error)
- func (c *Client4) UpdateThreadFollowForUser(ctx context.Context, userId, teamId, threadId string, state bool) (*Response, error)
- func (c *Client4) UpdateThreadReadForUser(ctx context.Context, userId, teamId, threadId string, timestamp int64) (*ThreadResponse, *Response, error)
- func (c *Client4) UpdateThreadsReadForUser(ctx context.Context, userId, teamId string) (*Response, error)
- func (c *Client4) UpdateUser(ctx context.Context, user *User) (*User, *Response, error)
- func (c *Client4) UpdateUserActive(ctx context.Context, userId string, active bool) (*Response, error)
- func (c *Client4) UpdateUserAuth(ctx context.Context, userId string, userAuth *UserAuth) (*UserAuth, *Response, error)
- func (c *Client4) UpdateUserCustomStatus(ctx context.Context, userId string, userCustomStatus *CustomStatus) (*CustomStatus, *Response, error)
- func (c *Client4) UpdateUserHashedPassword(ctx context.Context, userId, newHashedPassword string) (*Response, error)
- func (c *Client4) UpdateUserMfa(ctx context.Context, userId, code string, activate bool) (*Response, error)
- func (c *Client4) UpdateUserPassword(ctx context.Context, userId, currentPassword, newPassword string) (*Response, error)
- func (c *Client4) UpdateUserRoles(ctx context.Context, userId, roles string) (*Response, error)
- func (c *Client4) UpdateUserStatus(ctx context.Context, userId string, userStatus *Status) (*Status, *Response, error)
- func (c *Client4) UploadBrandImage(ctx context.Context, data []byte) (*Response, error)
- func (c *Client4) UploadData(ctx context.Context, uploadId string, data io.Reader) (*FileInfo, *Response, error)
- func (c *Client4) UploadFile(ctx context.Context, data []byte, channelId string, filename string) (*FileUploadResponse, *Response, error)
- func (c *Client4) UploadFileAsRequestBody(ctx context.Context, data []byte, channelId string, filename string) (*FileUploadResponse, *Response, error)
- func (c *Client4) UploadLdapPrivateCertificate(ctx context.Context, data []byte) (*Response, error)
- func (c *Client4) UploadLdapPublicCertificate(ctx context.Context, data []byte) (*Response, error)
- func (c *Client4) UploadLicenseFile(ctx context.Context, data []byte) (*Response, error)
- func (c *Client4) UploadPlugin(ctx context.Context, file io.Reader) (*Manifest, *Response, error)
- func (c *Client4) UploadPluginForced(ctx context.Context, file io.Reader) (*Manifest, *Response, error)
- func (c *Client4) UploadSamlIdpCertificate(ctx context.Context, data []byte, filename string) (*Response, error)
- func (c *Client4) UploadSamlPrivateCertificate(ctx context.Context, data []byte, filename string) (*Response, error)
- func (c *Client4) UploadSamlPublicCertificate(ctx context.Context, data []byte, filename string) (*Response, error)
- func (c *Client4) UpsertDraft(ctx context.Context, draft *Draft) (*Draft, *Response, error)
- func (c *Client4) UpsertGroupMembers(ctx context.Context, groupID string, userIds *GroupModifyMembers) ([]*GroupMember, *Response, error)
- func (c *Client4) ValidateBusinessEmail(ctx context.Context, email *ValidateBusinessEmailRequest) (*Response, error)
- func (c *Client4) ValidateWorkspaceBusinessEmail(ctx context.Context) (*Response, error)
- func (c *Client4) VerifyUserEmail(ctx context.Context, token string) (*Response, error)
- func (c *Client4) VerifyUserEmailWithoutToken(ctx context.Context, userId string) (*User, *Response, error)
- func (c *Client4) ViewChannel(ctx context.Context, userId string, view *ChannelView) (*ChannelViewResponse, *Response, error)
- type ClientRequirements
- type CloudCustomer
- type CloudCustomerInfo
- type CloudSettings
- type CloudWorkspaceOwner
- type ClusterDiscovery
- type ClusterEvent
- type ClusterInfo
- type ClusterMessage
- type ClusterSettings
- type ClusterStats
- type Command
- type CommandArgs
- type CommandMoveRequest
- type CommandResponse
- type CommandWebhook
- type CompleteOnboardingRequest
- type Compliance
- type ComplianceExportCursor
- type CompliancePost
- type ComplianceSettings
- type Compliances
- type Conditions
- type Config
- func (o *Config) Auditable() map[string]interface{}
- func (o *Config) Clone() *Config
- func (o *Config) GetSSOService(service string) *SSOSettings
- func (o *Config) GetSanitizeOptions() map[string]bool
- func (o *Config) IsValid() *AppError
- func (o *Config) Sanitize(pluginManifests []*Manifest)
- func (o *Config) SetDefaults()
- func (o *Config) ToJSONFiltered(tagType, tagValue string) ([]byte, error)
- type ConfigFunc
- type ConfirmPaymentMethodRequest
- type ConnectedWorkspacesSettings
- type ContactPerson
- type CreateDefaultMembershipParams
- type CreatePostFlags
- type CreateSubscriptionRequest
- type CustomStatus
- type Customer
- type DataRetentionSettings
- type DelinquencyEmail
- type DelinquencyEmailTrigger
- type Dialog
- type DialogElement
- type DirectChannelForExport
- type DirectPostForExport
- type DisplaySettings
- type DoPostActionRequest
- type Draft
- type ElasticsearchSettings
- type EmailInviteWithError
- type EmailSettings
- type Emoji
- type EmojiSearch
- type EncryptionMethod
- type Endpoint
- type EntityDescriptor
- type ExperimentalAuditSettings
- type ExperimentalSettings
- type ExportSettings
- type ExternalDependency
- type FailedPayment
- type FeatureFlags
- type Features
- type Feedback
- type FileData
- type FileForIndexing
- type FileInfo
- type FileInfoList
- func (o *FileInfoList) AddFileInfo(fileInfo *FileInfo)
- func (o *FileInfoList) AddOrder(id string)
- func (o *FileInfoList) Etag() string
- func (o *FileInfoList) Extend(other *FileInfoList)
- func (o *FileInfoList) MakeNonNil()
- func (o *FileInfoList) SortByCreateAt()
- func (o *FileInfoList) ToSlice() []*FileInfo
- func (o *FileInfoList) UniqueOrder()
- type FileInfoSearchMatches
- type FileInfoSearchResults
- type FileSettings
- type FileUploadResponse
- type FilesLimits
- type GetFileInfosOptions
- type GetGroupOpts
- type GetIPAddressResponse
- type GetPersistentNotificationsPostsParams
- type GetPostsOptions
- type GetPostsSinceForSyncCursor
- type GetPostsSinceForSyncOptions
- type GetPostsSinceOptions
- type GetUserThreadsOpts
- type GetUsersForSyncFilter
- type GithubReleaseInfo
- type GlobalRelayMessageExportSettings
- type GlobalRetentionPolicy
- type Group
- func (group *Group) Auditable() map[string]interface{}
- func (group *Group) GetMemberCount() int
- func (group *Group) GetName() string
- func (group *Group) GetRemoteId() string
- func (group *Group) IsValidForCreate() *AppError
- func (group *Group) IsValidForUpdate() *AppError
- func (group *Group) IsValidName() *AppError
- func (group *Group) LogClone() any
- func (group *Group) Patch(patch *GroupPatch)
- type GroupMember
- type GroupMemberList
- type GroupMessageConversionRequestBody
- type GroupModifyMembers
- type GroupPatch
- type GroupSearchOpts
- type GroupSource
- type GroupStats
- type GroupSyncable
- func (syncable *GroupSyncable) Auditable() map[string]interface{}
- func (syncable *GroupSyncable) IsValid() *AppError
- func (syncable *GroupSyncable) MarshalJSON() ([]byte, error)
- func (syncable *GroupSyncable) Patch(patch *GroupSyncablePatch)
- func (syncable *GroupSyncable) UnmarshalJSON(b []byte) error
- type GroupSyncablePatch
- type GroupSyncableType
- type GroupWithSchemeAdmin
- type GroupWithUserIds
- type GroupsAssociatedToChannel
- type GroupsAssociatedToChannelWithSchemeAdmin
- type GroupsWithCount
- type GuestAccountsSettings
- type GuestsInvite
- type IDPSSODescriptor
- type ImageProxySettings
- type ImportSettings
- type IncomingWebhook
- type IncomingWebhookRequest
- type IncomingWebhooksWithCount
- type IndexedEndpoint
- type InitialLoad
- type InstallMarketplacePluginRequest
- type Installation
- type InstalledIntegration
- type IntegrityCheckResult
- type Invites
- type Invoice
- type InvoiceLineItem
- type Job
- type JobSettings
- type KeyDescriptor
- type KeyInfo
- type LdapGroupSearchOpts
- type LdapSettings
- type License
- func (l *License) DaysToExpiration() int
- func (l *License) HasEnterpriseMarketplacePlugins() bool
- func (l *License) HasRemoteClusterService() bool
- func (l *License) HasSharedChannels() bool
- func (l *License) IsCloud() bool
- func (l *License) IsE20OrEnterprise() bool
- func (l *License) IsExpired() bool
- func (l *License) IsPastGracePeriod() bool
- func (l *License) IsSanctionedTrial() bool
- func (l *License) IsStarted() bool
- func (l *License) IsTrialLicense() bool
- func (l *License) IsWithinExpirationPeriod() bool
- type LicenseRecord
- type LinkMetadata
- type LinkMetadataType
- type LocalizationSettings
- type LocalizedName
- type LocalizedURI
- type LogEntry
- type LogFilter
- type LogSettings
- type Manifest
- func (m *Manifest) ClientManifest() *Manifest
- func (m *Manifest) GetExecutableForRuntime(goOs, goArch string) string
- func (m *Manifest) HasClient() bool
- func (m *Manifest) HasServer() bool
- func (m *Manifest) HasWebapp() bool
- func (m *Manifest) IsValid() error
- func (m *Manifest) MeetMinServerVersion(serverVersion string) (bool, error)
- type ManifestServer
- type ManifestWebapp
- type MarketplaceLabel
- type MarketplacePlugin
- type MarketplacePluginFilter
- type MattermostFeature
- type MemberInvite
- type MessageExport
- type MessageExportCursor
- type MessageExportSettings
- type MessagesLimits
- type MetricSample
- type MetricType
- type MetricsSettings
- type MfaSecret
- type MobileSessionMetadata
- func (z *MobileSessionMetadata) DecodeMsg(dc *msgp.Reader) (err error)
- func (z *MobileSessionMetadata) EncodeMsg(en *msgp.Writer) (err error)
- func (z *MobileSessionMetadata) MarshalMsg(b []byte) (o []byte, err error)
- func (z *MobileSessionMetadata) Msgsize() (s int)
- func (z *MobileSessionMetadata) UnmarshalMsg(bts []byte) (o []byte, err error)
- type MoveThreadParams
- type NameID
- type NameIDFormat
- type NativeAppSettings
- type NoticeAction
- type NoticeAudience
- type NoticeClientType
- type NoticeInstanceType
- type NoticeMessage
- type NoticeMessageInternal
- type NoticeMessages
- type NoticeSKU
- type NotificationLogSettings
- type NotificationReason
- type NotificationStatus
- type NotificationType
- type NotifyAdminData
- type NotifyAdminToUpgradeRequest
- type OAuthApp
- type Office365Settings
- type OnInstallEvent
- type OpenDialogRequest
- type OrderedSidebarCategories
- type Organization
- type OrphanedRecord
- type OutgoingOAuthConnection
- func (oa *OutgoingOAuthConnection) Auditable() map[string]interface{}
- func (oa *OutgoingOAuthConnection) Etag() string
- func (oa *OutgoingOAuthConnection) HasValidGrantType() *AppError
- func (oa *OutgoingOAuthConnection) IsValid() *AppError
- func (oa *OutgoingOAuthConnection) Patch(conn *OutgoingOAuthConnection)
- func (oa *OutgoingOAuthConnection) PreSave()
- func (oa *OutgoingOAuthConnection) PreUpdate()
- func (oa *OutgoingOAuthConnection) Sanitize()
- type OutgoingOAuthConnectionGetConnectionsFilter
- type OutgoingOAuthConnectionGrantType
- type OutgoingOAuthConnectionToken
- type OutgoingWebhook
- func (o *OutgoingWebhook) Auditable() map[string]interface{}
- func (o *OutgoingWebhook) GetTriggerWord(word string, isExactMatch bool) (triggerWord string)
- func (o *OutgoingWebhook) IsValid() *AppError
- func (o *OutgoingWebhook) PreSave()
- func (o *OutgoingWebhook) PreUpdate()
- func (o *OutgoingWebhook) TriggerWordExactMatch(word string) bool
- func (o *OutgoingWebhook) TriggerWordStartsWith(word string) bool
- type OutgoingWebhookPayload
- type OutgoingWebhookResponse
- type PacketMetadata
- type PacketType
- type PageOpts
- type PasswordSettings
- type PaymentMethod
- type PerformanceReport
- type Permalink
- type Permission
- type PluginClusterEvent
- type PluginClusterEventSendOptions
- type PluginEventData
- type PluginInfo
- type PluginKVSetOptions
- type PluginKeyValue
- type PluginOption
- type PluginReattachConfig
- type PluginReattachRequest
- type PluginSetting
- type PluginSettingType
- type PluginSettings
- type PluginSettingsSchema
- type PluginSettingsSection
- type PluginState
- type PluginStatus
- type PluginStatuses
- type PluginsResponse
- type Post
- func (o *Post) AddProp(key string, value any)
- func (o *Post) Attachments() []*SlackAttachment
- func (o *Post) AttachmentsEqual(input *Post) bool
- func (o *Post) Auditable() map[string]interface{}
- func (o *Post) ChannelMentions() []string
- func (o *Post) CleanPost() *Post
- func (o *Post) Clone() *Post
- func (o *Post) ContainsIntegrationsReservedProps() []string
- func (o *Post) DelProp(key string)
- func (o *Post) DisableMentionHighlights() string
- func (o *Post) EncodeJSON(w io.Writer) error
- func (o *Post) Etag() string
- func (o *Post) ForPlugin() *Post
- func (o *Post) GenerateActionIds()
- func (o *Post) GetAction(id string) *PostAction
- func (o *Post) GetPersistentNotification() *bool
- func (o *Post) GetPreviewPost() *PreviewPost
- func (o *Post) GetPreviewedPostProp() string
- func (o *Post) GetPriority() *PostPriority
- func (o *Post) GetProp(key string) any
- func (o *Post) GetProps() StringInterface
- func (o *Post) GetRemoteID() string
- func (o *Post) GetRequestedAck() *bool
- func (o *Post) IsFromOAuthBot() bool
- func (o *Post) IsJoinLeaveMessage() bool
- func (o *Post) IsRemote() bool
- func (o *Post) IsSystemMessage() bool
- func (o *Post) IsUrgent() bool
- func (o *Post) IsValid(maxPostSize int) *AppError
- func (o *Post) LogClone() any
- func (o *Post) MakeNonNil()
- func (o *Post) Patch(patch *PostPatch)
- func (o *Post) PreCommit()
- func (o *Post) PreSave()
- func (o *Post) SanitizeInput()
- func (o *Post) SanitizeProps()
- func (o *Post) SetProps(props StringInterface)
- func (o *Post) ShallowCopy(dst *Post) error
- func (o *Post) StripActionIntegrations()
- func (o *Post) ToJSON() (string, error)
- func (o *Post) ToNilIfInvalid() *Post
- func (o *Post) WithRewrittenImageURLs(f func(string) string) *Post
- type PostAcknowledgement
- type PostAction
- type PostActionAPIResponse
- type PostActionCookie
- type PostActionIntegration
- type PostActionIntegrationRequest
- type PostActionIntegrationResponse
- type PostActionOptions
- type PostCountOptions
- type PostEmbed
- type PostEmbedType
- type PostEphemeral
- type PostForExport
- type PostForIndexing
- type PostImage
- type PostInfo
- type PostList
- func (o *PostList) AddOrder(id string)
- func (o *PostList) AddPost(post *Post)
- func (o *PostList) BuildWranglerPostList() *WranglerPostList
- func (o *PostList) Clone() *PostList
- func (o *PostList) EncodeJSON(w io.Writer) error
- func (o *PostList) Etag() string
- func (o *PostList) Extend(other *PostList)
- func (o *PostList) ForPlugin() *PostList
- func (o *PostList) IsChannelId(channelId string) bool
- func (o *PostList) MakeNonNil()
- func (o *PostList) SortByCreateAt()
- func (o *PostList) StripActionIntegrations()
- func (o *PostList) ToJSON() (string, error)
- func (o *PostList) ToSlice() []*Post
- func (o *PostList) UniqueOrder()
- func (o *PostList) WithRewrittenImageURLs(f func(string) string) *PostList
- type PostMetadata
- type PostPatch
- type PostPersistentNotifications
- type PostPriority
- type PostReminder
- type PostSearchMatches
- type PostSearchResults
- type PostsUsage
- type Preference
- type Preferences
- type PresignURLResponse
- type PreviewPost
- type PrivacySettings
- type Product
- type ProductLimits
- type ProductNotice
- type ProductNoticeViewState
- type ProductNotices
- type ProductSku
- type PushNotification
- type PushNotificationAck
- type PushResponse
- type PushSubType
- type RateLimitSettings
- type Reaction
- type RecentCustomStatuses
- type RecurringInterval
- type RegisterPluginOpts
- type RelationalIntegrityCheckData
- type RemoteCluster
- func (rc *RemoteCluster) Auditable() map[string]interface{}
- func (rc *RemoteCluster) GetSiteURL() string
- func (rc *RemoteCluster) IsConfirmed() bool
- func (rc *RemoteCluster) IsOnline() bool
- func (rc *RemoteCluster) IsOptionFlagSet(flag Bitmask) bool
- func (rc *RemoteCluster) IsPlugin() bool
- func (rc *RemoteCluster) IsValid() *AppError
- func (rc *RemoteCluster) Patch(patch *RemoteClusterPatch)
- func (rc *RemoteCluster) PreSave()
- func (rc *RemoteCluster) PreUpdate()
- func (rc *RemoteCluster) Sanitize()
- func (rc *RemoteCluster) SetOptionFlag(flag Bitmask)
- func (rc *RemoteCluster) ToRemoteClusterInfo() RemoteClusterInfo
- func (rc *RemoteCluster) UnsetOptionFlag(flag Bitmask)
- type RemoteClusterAcceptInvite
- type RemoteClusterFrame
- type RemoteClusterInfo
- type RemoteClusterInvite
- type RemoteClusterMsg
- type RemoteClusterPatch
- type RemoteClusterPing
- type RemoteClusterQueryFilter
- type RemoteClusterWithInvite
- type RemoteClusterWithPassword
- type ReplicaLagSettings
- type ReplyForExport
- type ReportableObject
- type ReportingBaseOptions
- type Response
- type RetentionIdsForDeletion
- type RetentionPolicy
- type RetentionPolicyChannel
- type RetentionPolicyCursor
- type RetentionPolicyForChannel
- type RetentionPolicyForChannelList
- type RetentionPolicyForTeam
- type RetentionPolicyForTeamList
- type RetentionPolicyTeam
- type RetentionPolicyWithTeamAndChannelCounts
- type RetentionPolicyWithTeamAndChannelCountsList
- type RetentionPolicyWithTeamAndChannelIDs
- type Role
- func (r *Role) Auditable() map[string]interface{}
- func (r *Role) CreateAt_() float64
- func (r *Role) DeleteAt_() float64
- func (r *Role) GetChannelModeratedPermissions(channelType ChannelType) map[string]bool
- func (r *Role) IsValid() bool
- func (r *Role) IsValidWithoutId() bool
- func (r *Role) MergeChannelHigherScopedPermissions(higherScopedPermissions *RolePermissions)
- func (r *Role) Patch(patch *RolePatch)
- func (r *Role) RolePatchFromChannelModerationsPatch(channelModerationsPatch []*ChannelModerationPatch, roleName string) *RolePatch
- func (r *Role) UpdateAt_() float64
- type RoleDescriptor
- type RolePatch
- type RolePermissions
- type RoleScope
- type RoleType
- type SSODescriptor
- type SSOSettings
- type SamlAuthRequest
- type SamlCertificateStatus
- type SamlMetadataResponse
- type SamlSettings
- type ScheduledPost
- func (s *ScheduledPost) Auditable() map[string]interface{}
- func (s *ScheduledPost) BaseIsValid() *AppError
- func (s *ScheduledPost) GetPriority() *PostPriority
- func (s *ScheduledPost) IsValid(maxMessageSize int) *AppError
- func (s *ScheduledPost) PreSave()
- func (s *ScheduledPost) PreUpdate()
- func (s *ScheduledPost) RestoreNonUpdatableFields(originalScheduledPost *ScheduledPost)
- func (s *ScheduledPost) SanitizeInput()
- func (s *ScheduledPost) ToPost() (*Post, error)
- type ScheduledTask
- func CreateRecurringTask(name string, function TaskFunc, interval time.Duration) *ScheduledTask
- func CreateRecurringTaskFromNextIntervalTime(name string, function TaskFunc, interval time.Duration) *ScheduledTask
- func CreateTask(name string, function TaskFunc, timeToExecution time.Duration) *ScheduledTask
- type Scheme
- type SchemeConveyor
- type SchemeIDPatch
- type SchemePatch
- type SchemeRoles
- type SearchParameter
- type SearchParams
- func (p *SearchParams) GetAfterDateMillis() int64
- func (p *SearchParams) GetBeforeDateMillis() int64
- func (p *SearchParams) GetExcludedAfterDateMillis() int64
- func (p *SearchParams) GetExcludedBeforeDateMillis() int64
- func (p *SearchParams) GetExcludedDateMillis() (int64, int64)
- func (p *SearchParams) GetOnDateMillis() (int64, int64)
- type SecurityBulletin
- type SecurityBulletins
- type ServerBusyState
- type ServerLimits
- type ServiceSettings
- type Session
- func (s *Session) AddProp(key string, value string)
- func (s *Session) Auditable() map[string]interface{}
- func (s *Session) CreateAt_() float64
- func (z *Session) DecodeMsg(dc *msgp.Reader) (err error)
- func (s *Session) DeepCopy() *Session
- func (z *Session) EncodeMsg(en *msgp.Writer) (err error)
- func (s *Session) ExpiresAt_() float64
- func (s *Session) GenerateCSRF() string
- func (s *Session) GetCSRF() string
- func (s *Session) GetTeamByTeamId(teamId string) *TeamMember
- func (s *Session) GetUserRoles() []string
- func (s *Session) IsBotUser() bool
- func (s *Session) IsExpired() bool
- func (s *Session) IsIntegration() bool
- func (s *Session) IsMobile() bool
- func (s *Session) IsMobileApp() bool
- func (s *Session) IsOAuthUser() bool
- func (s *Session) IsSSOLogin() bool
- func (s *Session) IsSaml() bool
- func (s *Session) IsUnrestricted() bool
- func (s *Session) IsUserAccessToken() bool
- func (s *Session) IsValid() *AppError
- func (s *Session) LastActivityAt_() float64
- func (z *Session) MarshalMsg(b []byte) (o []byte, err error)
- func (z *Session) Msgsize() (s int)
- func (s *Session) PreSave()
- func (s *Session) Sanitize()
- func (z *Session) UnmarshalMsg(bts []byte) (o []byte, err error)
- type SharedChannel
- type SharedChannelAttachment
- type SharedChannelFilterOpts
- type SharedChannelRemote
- type SharedChannelRemoteFilterOpts
- type SharedChannelRemoteStatus
- type SharedChannelUser
- type SidebarCategoriesWithChannels
- type SidebarCategory
- type SidebarCategoryOrder
- type SidebarCategorySorting
- type SidebarCategoryType
- type SidebarCategoryWithChannels
- type SidebarChannel
- type SidebarChannels
- type SlackAttachment
- type SlackAttachmentField
- type SlackCompatibleBool
- type SqlSettings
- type StartCloudTrialRequest
- type Status
- type StorageUsage
- type StringArray
- func (sa StringArray) Contains(input string) bool
- func (z *StringArray) DecodeMsg(dc *msgp.Reader) (err error)
- func (z StringArray) EncodeMsg(en *msgp.Writer) (err error)
- func (sa StringArray) Equals(input StringArray) bool
- func (z StringArray) MarshalMsg(b []byte) (o []byte, err error)
- func (z StringArray) Msgsize() (s int)
- func (sa StringArray) Remove(input string) StringArray
- func (sa *StringArray) Scan(value any) error
- func (z *StringArray) UnmarshalMsg(bts []byte) (o []byte, err error)
- func (sa StringArray) Value() (driver.Value, error)
- type StringInterface
- type StringMap
- func (z *StringMap) DecodeMsg(dc *msgp.Reader) (err error)
- func (z StringMap) EncodeMsg(en *msgp.Writer) (err error)
- func (m StringMap) MarshalJSON() ([]byte, error)
- func (z StringMap) MarshalMsg(b []byte) (o []byte, err error)
- func (z StringMap) Msgsize() (s int)
- func (m *StringMap) Scan(value any) error
- func (z *StringMap) UnmarshalMsg(bts []byte) (o []byte, err error)
- func (m StringMap) Value() (driver.Value, error)
- type StringSet
- type StripeSetupIntent
- type SubmitDialogRequest
- type SubmitDialogResponse
- type SubscribeNewsletterRequest
- type Subscription
- type SubscriptionChange
- type SubscriptionFamily
- type SubscriptionHistory
- type SubscriptionHistoryChange
- type SubscriptionLicenseSelfServeStatusResponse
- type SuggestCommand
- type SupportPacket
- type SupportPacketOptions
- type SupportSettings
- type SwitchRequest
- type SyncMsg
- type SyncResponse
- type System
- type SystemAsymmetricSigningKey
- type SystemECDSAKey
- type SystemPingOptions
- type SystemPostActionCookieSecret
- type TaskFunc
- type Team
- func (o *Team) Auditable() map[string]interface{}
- func (o *Team) Etag() string
- func (o *Team) IsGroupConstrained() bool
- func (o *Team) IsValid() *AppError
- func (o *Team) LogClone() any
- func (o *Team) Patch(patch *TeamPatch)
- func (o *Team) PreSave()
- func (o *Team) PreUpdate()
- func (o *Team) Sanitize()
- func (o *Team) ShallowCopy() *Team
- type TeamForExport
- type TeamInviteReminderData
- type TeamMember
- func (o *TeamMember) Auditable() map[string]interface{}
- func (z *TeamMember) DecodeMsg(dc *msgp.Reader) (err error)
- func (z *TeamMember) EncodeMsg(en *msgp.Writer) (err error)
- func (o *TeamMember) GetRoles() []string
- func (o *TeamMember) IsValid() *AppError
- func (z *TeamMember) MarshalMsg(b []byte) (o []byte, err error)
- func (z *TeamMember) Msgsize() (s int)
- func (o *TeamMember) PreUpdate()
- func (z *TeamMember) UnmarshalMsg(bts []byte) (o []byte, err error)
- type TeamMemberForExport
- type TeamMemberWithError
- type TeamMembersGetOptions
- type TeamPatch
- type TeamSearch
- type TeamSettings
- type TeamStats
- type TeamUnread
- type TeamsLimits
- type TeamsUsage
- type TeamsWithCount
- type TermsOfService
- type ThemeSettings
- type Thread
- type ThreadMembership
- type ThreadMembershipForExport
- type ThreadResponse
- type Threads
- type Token
- type TrialLicenseRequest
- type TypingRequest
- type UpdateChannelBookmarkResponse
- type UploadSession
- type UploadType
- type User
- func (u *User) AddNotifyProp(key string, value string)
- func (u *User) Auditable() map[string]interface{}
- func (u *User) ClearCustomStatus()
- func (u *User) ClearNonProfileFields(asAdmin bool)
- func (u *User) CustomStatus() *CustomStatus
- func (z *User) DecodeMsg(dc *msgp.Reader) (err error)
- func (u *User) DeepCopy() *User
- func (u *User) EmailDomain() string
- func (z *User) EncodeMsg(en *msgp.Writer) (err error)
- func (u *User) Etag(showFullName, showEmail bool) string
- func (u *User) GetAuthData() string
- func (u *User) GetCustomStatus() *CustomStatus
- func (u *User) GetDisplayName(nameFormat string) string
- func (u *User) GetDisplayNameWithPrefix(nameFormat, prefix string) string
- func (u *User) GetFullName() string
- func (u *User) GetMentionKeys() []string
- func (u *User) GetPreferredTimezone() string
- func (u *User) GetProp(name string) (string, bool)
- func (u *User) GetRawRoles() string
- func (u *User) GetRemoteID() string
- func (u *User) GetRoles() []string
- func (u *User) GetTimezoneLocation() *time.Location
- func (u *User) IsGuest() bool
- func (u *User) IsInRole(inRole string) bool
- func (u *User) IsLDAPUser() bool
- func (u *User) IsOAuthUser() bool
- func (u *User) IsRemote() bool
- func (u *User) IsSAMLUser() bool
- func (u *User) IsSSOUser() bool
- func (u *User) IsSystemAdmin() bool
- func (u *User) IsValid() *AppError
- func (u *User) LogClone() any
- func (u *User) MakeNonNil()
- func (z *User) MarshalMsg(b []byte) (o []byte, err error)
- func (z *User) Msgsize() (s int)
- func (u *User) Patch(patch *UserPatch)
- func (u *User) PreSave() *AppError
- func (u *User) PreUpdate()
- func (u *User) Sanitize(options map[string]bool)
- func (u *User) SanitizeInput(isAdmin bool)
- func (u *User) SanitizeProfile(options map[string]bool, asAdmin bool)
- func (u *User) SetCustomStatus(cs *CustomStatus) error
- func (u *User) SetDefaultNotifications()
- func (u *User) SetProp(name string, value string)
- func (u *User) ToPatch() *UserPatch
- func (z *User) UnmarshalMsg(bts []byte) (o []byte, err error)
- func (u *User) UpdateMentionKeysFromUsername(oldUsername string)
- func (u *User) ValidateCustomStatus() bool
- type UserAccessToken
- type UserAccessTokenSearch
- type UserAuth
- type UserAutocomplete
- type UserAutocompleteInChannel
- type UserAutocompleteInTeam
- type UserChannelIDPair
- type UserCountOptions
- type UserFacingProduct
- type UserForIndexing
- type UserGetByIdsOptions
- type UserGetOptions
- type UserMap
- type UserMentionMap
- type UserPatch
- type UserPostStats
- func (z *UserPostStats) DecodeMsg(dc *msgp.Reader) (err error)
- func (z *UserPostStats) EncodeMsg(en *msgp.Writer) (err error)
- func (z *UserPostStats) MarshalMsg(b []byte) (o []byte, err error)
- func (z *UserPostStats) Msgsize() (s int)
- func (z *UserPostStats) UnmarshalMsg(bts []byte) (o []byte, err error)
- type UserReport
- type UserReportOptions
- type UserReportQuery
- type UserSearch
- type UserSearchOptions
- type UserSlice
- type UserTeamIDPair
- type UserTermsOfService
- type UserUpdate
- type UserWithGroups
- type UsersStats
- type UsersWithGroupsAndCount
- type ValidateBusinessEmailRequest
- type ValidateBusinessEmailResponse
- type ViewUsersRestrictions
- type WebSocketClient
- func NewReliableWebSocketClientWithDialer(dialer *websocket.Dialer, url, authToken, connID string, seqNo int, ...) (*WebSocketClient, error)
- func NewWebSocketClient(url, authToken string) (*WebSocketClient, error)
- func NewWebSocketClient4(url, authToken string) (*WebSocketClient, error)
- func NewWebSocketClient4WithDialer(dialer *websocket.Dialer, url, authToken string) (*WebSocketClient, error)
- func NewWebSocketClientWithDialer(dialer *websocket.Dialer, url, authToken string) (*WebSocketClient, error)
- func (wsc *WebSocketClient) Close()
- func (wsc *WebSocketClient) Connect() *AppError
- func (wsc *WebSocketClient) ConnectWithDialer(dialer *websocket.Dialer) *AppError
- func (wsc *WebSocketClient) GetStatuses()
- func (wsc *WebSocketClient) GetStatusesByIds(userIds []string)
- func (wsc *WebSocketClient) Listen()
- func (wsc *WebSocketClient) SendBinaryMessage(action string, data map[string]any) error
- func (wsc *WebSocketClient) SendMessage(action string, data map[string]any)
- func (wsc *WebSocketClient) UpdateActiveChannel(channelID string)
- func (wsc *WebSocketClient) UpdateActiveTeam(teamID string)
- func (wsc *WebSocketClient) UpdateActiveThread(isThreadView bool, channelID string)
- func (wsc *WebSocketClient) UserTyping(channelId, parentId string)
- type WebSocketEvent
- func (ev *WebSocketEvent) Add(key string, value any)
- func (ev *WebSocketEvent) Copy() *WebSocketEvent
- func (ev *WebSocketEvent) DeepCopy() *WebSocketEvent
- func (ev *WebSocketEvent) Encode(enc *json.Encoder, buf io.Writer) error
- func (ev *WebSocketEvent) EventType() WebsocketEventType
- func (ev *WebSocketEvent) GetBroadcast() *WebsocketBroadcast
- func (ev *WebSocketEvent) GetData() map[string]any
- func (ev *WebSocketEvent) GetSequence() int64
- func (ev *WebSocketEvent) IsValid() bool
- func (ev *WebSocketEvent) PrecomputeJSON() *WebSocketEvent
- func (ev *WebSocketEvent) RemovePrecomputedJSON() *WebSocketEvent
- func (ev *WebSocketEvent) SetBroadcast(broadcast *WebsocketBroadcast) *WebSocketEvent
- func (ev *WebSocketEvent) SetData(data map[string]any) *WebSocketEvent
- func (ev *WebSocketEvent) SetEvent(event WebsocketEventType) *WebSocketEvent
- func (ev *WebSocketEvent) SetSequence(seq int64) *WebSocketEvent
- func (ev *WebSocketEvent) ToJSON() ([]byte, error)
- func (ev *WebSocketEvent) WithoutBroadcastHooks() (*WebSocketEvent, []string, []map[string]any)
- type WebSocketMessage
- type WebSocketRequest
- type WebSocketResponse
- type WebsocketBroadcast
- type WebsocketEventType
- type Worker
- type WorkspaceDeletionRequest
- type WranglerPostList
- type WranglerSettings
- type X509Certificate
- type X509Data
Examples ¶
- Client4.AddChannelMember
- Client4.CreateChannel
- Client4.CreateDirectChannel
- Client4.CreateGroupChannel
- Client4.DeleteChannel
- Client4.GetChannel
- Client4.GetChannelByName
- Client4.GetChannelByNameForTeamName
- Client4.GetChannelMember
- Client4.GetChannelMembers
- Client4.GetChannelMembersByIds
- Client4.GetChannelMembersForUser
- Client4.GetChannelMembersTimezones
- Client4.GetChannelStats
- Client4.GetChannelUnread
- Client4.GetChannelsForTeamForUser
- Client4.GetChannelsForUserWithLastDeleteAt
- Client4.GetPinnedPosts
- Client4.GetPrivateChannelsForTeam
- Client4.GetPublicChannelsByIdsForTeam
- Client4.GetPublicChannelsForTeam
- Client4.GetUsers
- Client4.PatchChannel
- Client4.RemoveUserFromChannel
- Client4.SearchArchivedChannels
- Client4.SearchChannels
- Client4.SearchGroupChannels
- Client4.UpdateChannel
- Client4.UpdateChannelNotifyProps
- Client4.UpdateChannelPrivacy
- Client4.UpdateChannelRoles
- Client4.UpdateChannelScheme
- Client4.ViewChannel
Constants ¶
const ( AccessTokenGrantType = "authorization_code" AccessTokenType = "bearer" RefreshTokenGrantType = "refresh_token" )
const ( AuthCodeExpireTime = 60 * 10 // 10 minutes AuthCodeResponseType = "code" ImplicitResponseType = "token" DefaultScope = "user" )
const ( BotDisplayNameMaxRunes = UserFirstNameMaxRunes BotDescriptionMaxRunes = 1024 BotCreatorIdMaxRunes = KeyValuePluginIdMaxRunes // UserId or PluginId BotWarnMetricBotUsername = "mattermost-advisor" BotSystemBotUsername = "system-bot" )
const ( ChannelTypeOpen ChannelType = "O" ChannelTypePrivate ChannelType = "P" ChannelTypeDirect ChannelType = "D" ChannelTypeGroup ChannelType = "G" ChannelGroupMaxUsers = 8 ChannelGroupMinUsers = 3 DefaultChannelName = "town-square" ChannelDisplayNameMaxRunes = 64 ChannelNameMinLength = 1 ChannelNameMaxLength = 64 ChannelHeaderMaxRunes = 1024 ChannelPurposeMaxRunes = 250 ChannelCacheSize = 25000 ChannelSortByUsername = "username" ChannelSortByStatus = "status" )
const ( ChannelBookmarkLink ChannelBookmarkType = "link" ChannelBookmarkFile ChannelBookmarkType = "file" BookmarkFileOwner = "bookmark" MaxBookmarksPerChannel = 50 DisplayNameMaxRunes = 64 LinkMaxRunes = 1024 )
const ( ChannelNotifyDefault = "default" ChannelNotifyAll = "all" ChannelNotifyMention = "mention" ChannelNotifyNone = "none" ChannelMarkUnreadAll = "all" ChannelMarkUnreadMention = "mention" IgnoreChannelMentionsDefault = "default" IgnoreChannelMentionsOff = "off" IgnoreChannelMentionsOn = "on" IgnoreChannelMentionsNotifyProp = "ignore_channel_mentions" ChannelAutoFollowThreadsOff = "off" ChannelAutoFollowThreadsOn = "on" ChannelAutoFollowThreads = "channel_auto_follow_threads" ChannelMemberNotifyPropsMaxRunes = 800000 )
const ( // Each sidebar category has a 'type'. System categories are Channels, Favorites and DMs // All user-created categories will have type Custom SidebarCategoryChannels SidebarCategoryType = "channels" SidebarCategoryDirectMessages SidebarCategoryType = "direct_messages" SidebarCategoryFavorites SidebarCategoryType = "favorites" SidebarCategoryCustom SidebarCategoryType = "custom" // Increment to use when adding/reordering things in the sidebar MinimalSidebarSortDistance = 10 // Default Sort Orders for categories DefaultSidebarSortOrderFavorites = 0 DefaultSidebarSortOrderChannels = DefaultSidebarSortOrderFavorites + MinimalSidebarSortDistance DefaultSidebarSortOrderDMs = DefaultSidebarSortOrderChannels + MinimalSidebarSortDistance // Sorting modes // default for all categories except DMs (behaves like manual) SidebarCategorySortDefault SidebarCategorySorting = "" // sort manually SidebarCategorySortManual SidebarCategorySorting = "manual" // sort by recency (default for DMs) SidebarCategorySortRecent SidebarCategorySorting = "recent" // sort by display name alphabetically SidebarCategorySortAlphabetical SidebarCategorySorting = "alpha" )
const ( HeaderRequestId = "X-Request-ID" HeaderVersionId = "X-Version-ID" HeaderClusterId = "X-Cluster-ID" HeaderEtagServer = "ETag" HeaderEtagClient = "If-None-Match" HeaderForwarded = "X-Forwarded-For" HeaderRealIP = "X-Real-IP" HeaderForwardedProto = "X-Forwarded-Proto" HeaderToken = "token" HeaderCsrfToken = "X-CSRF-Token" HeaderBearer = "BEARER" HeaderAuth = "Authorization" HeaderCloudToken = "X-Cloud-Token" HeaderRemoteclusterToken = "X-RemoteCluster-Token" HeaderRemoteclusterId = "X-RemoteCluster-Id" HeaderRequestedWith = "X-Requested-With" HeaderRequestedWithXML = "XMLHttpRequest" HeaderFirstInaccessiblePostTime = "First-Inaccessible-Post-Time" HeaderFirstInaccessibleFileTime = "First-Inaccessible-File-Time" HeaderRange = "Range" STATUS = "status" StatusOk = "OK" StatusFail = "FAIL" StatusUnhealthy = "UNHEALTHY" StatusRemove = "REMOVE" ConnectionId = "Connection-Id" ClientDir = "client" APIURLSuffixV1 = "/api/v1" APIURLSuffixV4 = "/api/v4" APIURLSuffixV5 = "/api/v5" APIURLSuffix = APIURLSuffixV4 )
const ( EventTypeFailedPayment = "failed-payment" EventTypeFailedPaymentNoCard = "failed-payment-no-card" EventTypeSendAdminWelcomeEmail = "send-admin-welcome-email" EventTypeSendUpgradeConfirmationEmail = "send-upgrade-confirmation-email" EventTypeSubscriptionChanged = "subscription-changed" EventTypeTriggerDelinquencyEmail = "trigger-delinquency-email" )
const ( BillingSchemePerSeat = BillingScheme("per_seat") BillingSchemeFlatFee = BillingScheme("flat_fee") BillingSchemeSalesServe = BillingScheme("sales_serve") )
const ( BillingTypeLicensed = BillingType("licensed") BillingTypeInternal = BillingType("internal") )
const ( RecurringIntervalYearly = RecurringInterval("year") RecurringIntervalMonthly = RecurringInterval("month") )
const ( SubscriptionFamilyCloud = SubscriptionFamily("cloud") SubscriptionFamilyOnPrem = SubscriptionFamily("on-prem") )
const ( SkuStarterGov = ProductSku("starter-gov") SkuProfessionalGov = ProductSku("professional-gov") SkuEnterpriseGov = ProductSku("enterprise-gov") SkuStarter = ProductSku("starter") SkuProfessional = ProductSku("professional") SkuEnterprise = ProductSku("enterprise") SkuCloudStarter = ProductSku("cloud-starter") SkuCloudProfessional = ProductSku("cloud-professional") SkuCloudEnterprise = ProductSku("cloud-enterprise") )
const ( CDSOfflineAfterMillis = 1000 * 60 * 30 // 30 minutes CDSTypeApp = "mattermost_app" )
const ( ClusterEventNone ClusterEvent = "none" ClusterEventPublish ClusterEvent = "publish" ClusterEventUpdateStatus ClusterEvent = "update_status" ClusterEventInvalidateAllCaches ClusterEvent = "inv_all_caches" ClusterEventInvalidateCacheForReactions ClusterEvent = "inv_reactions" ClusterEventInvalidateCacheForChannelMembersNotifyProps ClusterEvent = "inv_channel_members_notify_props" ClusterEventInvalidateCacheForChannelByName ClusterEvent = "inv_channel_name" ClusterEventInvalidateCacheForChannel ClusterEvent = "inv_channel" ClusterEventInvalidateCacheForChannelGuestCount ClusterEvent = "inv_channel_guest_count" ClusterEventInvalidateCacheForUser ClusterEvent = "inv_user" ClusterEventInvalidateWebConnCacheForUser ClusterEvent = "inv_user_teams" ClusterEventClearSessionCacheForUser ClusterEvent = "clear_session_user" ClusterEventInvalidateCacheForRoles ClusterEvent = "inv_roles" ClusterEventInvalidateCacheForRolePermissions ClusterEvent = "inv_role_permissions" ClusterEventInvalidateCacheForProfileByIds ClusterEvent = "inv_profile_ids" ClusterEventInvalidateCacheForAllProfiles ClusterEvent = "inv_all_profiles" ClusterEventInvalidateCacheForProfileInChannel ClusterEvent = "inv_profile_in_channel" ClusterEventInvalidateCacheForSchemes ClusterEvent = "inv_schemes" ClusterEventInvalidateCacheForFileInfos ClusterEvent = "inv_file_infos" ClusterEventInvalidateCacheForWebhooks ClusterEvent = "inv_webhooks" ClusterEventInvalidateCacheForEmojisById ClusterEvent = "inv_emojis_by_id" ClusterEventInvalidateCacheForEmojisIdByName ClusterEvent = "inv_emojis_id_by_name" ClusterEventInvalidateCacheForChannelFileCount ClusterEvent = "inv_channel_file_count" ClusterEventInvalidateCacheForChannelPinnedpostsCounts ClusterEvent = "inv_channel_pinnedposts_counts" ClusterEventInvalidateCacheForChannelMemberCounts ClusterEvent = "inv_channel_member_counts" ClusterEventInvalidateCacheForChannelsMemberCount ClusterEvent = "inv_channels_member_count" ClusterEventInvalidateCacheForLastPosts ClusterEvent = "inv_last_posts" ClusterEventInvalidateCacheForLastPostTime ClusterEvent = "inv_last_post_time" ClusterEventInvalidateCacheForPostsUsage ClusterEvent = "inv_posts_usage" ClusterEventInvalidateCacheForTeams ClusterEvent = "inv_teams" ClusterEventClearSessionCacheForAllUsers ClusterEvent = "inv_all_user_sessions" ClusterEventInstallPlugin ClusterEvent = "install_plugin" ClusterEventRemovePlugin ClusterEvent = "remove_plugin" ClusterEventPluginEvent ClusterEvent = "plugin_event" ClusterEventInvalidateCacheForTermsOfService ClusterEvent = "inv_terms_of_service" ClusterEventBusyStateChanged ClusterEvent = "busy_state_change" // Gossip communication ClusterGossipEventRequestGetLogs = "gossip_request_get_logs" ClusterGossipEventResponseGetLogs = "gossip_response_get_logs" ClusterGossipEventRequestGenerateSupportPacket = "gossip_request_generate_support_packet" ClusterGossipEventResponseGenerateSupportPacket = "gossip_response_generate_support_packet" ClusterGossipEventRequestGetClusterStats = "gossip_request_cluster_stats" ClusterGossipEventResponseGetClusterStats = "gossip_response_cluster_stats" ClusterGossipEventRequestGetPluginStatuses = "gossip_request_plugin_statuses" ClusterGossipEventResponseGetPluginStatuses = "gossip_response_plugin_statuses" ClusterGossipEventRequestSaveConfig = "gossip_request_save_config" ClusterGossipEventResponseSaveConfig = "gossip_response_save_config" ClusterGossipEventRequestWebConnCount = "gossip_request_webconn_count" ClusterGossipEventResponseWebConnCount = "gossip_response_webconn_count" // SendTypes for ClusterMessage. ClusterSendBestEffort = "best_effort" ClusterSendReliable = "reliable" )
const ( CommandMethodPost = "P" CommandMethodGet = "G" MinTriggerLength = 1 MaxTriggerLength = 128 )
const ( CommandResponseTypeInChannel = "in_channel" CommandResponseTypeEphemeral = "ephemeral" )
const ( ComplianceStatusCreated = "created" ComplianceStatusRunning = "running" ComplianceStatusFinished = "finished" ComplianceStatusFailed = "failed" ComplianceStatusRemoved = "removed" ComplianceTypeDaily = "daily" ComplianceTypeAdhoc = "adhoc" )
const ( ConnSecurityNone = "" ConnSecurityPlain = "PLAIN" ConnSecurityTLS = "TLS" ConnSecurityStarttls = "STARTTLS" ImageDriverLocal = "local" ImageDriverS3 = "amazons3" DatabaseDriverMysql = "mysql" DatabaseDriverPostgres = "postgres" SearchengineElasticsearch = "elasticsearch" MinioAccessKey = "minioaccesskey" MinioSecretKey = "miniosecretkey" MinioBucket = "mattermost-test" PasswordMaximumLength = 72 PasswordMinimumLength = 5 ServiceGitlab = "gitlab" ServiceGoogle = "google" ServiceOffice365 = "office365" ServiceOpenid = "openid" GenericNoChannelNotification = "generic_no_channel" GenericNotification = "generic" GenericNotificationServer = "https://push-test.mattermost.com" MmSupportAdvisorAddress = "support-advisor@mattermost.com" FullNotification = "full" IdLoadedNotification = "id_loaded" DirectMessageAny = "any" DirectMessageTeam = "team" ShowUsername = "username" ShowNicknameFullName = "nickname_full_name" ShowFullName = "full_name" PermissionsAll = "all" PermissionsChannelAdmin = "channel_admin" PermissionsTeamAdmin = "team_admin" PermissionsSystemAdmin = "system_admin" FakeSetting = "********************************" RestrictEmojiCreationAll = "all" RestrictEmojiCreationAdmin = "admin" RestrictEmojiCreationSystemAdmin = "system_admin" PermissionsDeletePostAll = "all" PermissionsDeletePostTeamAdmin = "team_admin" PermissionsDeletePostSystemAdmin = "system_admin" GroupUnreadChannelsDisabled = "disabled" GroupUnreadChannelsDefaultOn = "default_on" GroupUnreadChannelsDefaultOff = "default_off" CollapsedThreadsDisabled = "disabled" CollapsedThreadsDefaultOn = "default_on" CollapsedThreadsDefaultOff = "default_off" CollapsedThreadsAlwaysOn = "always_on" EmailBatchingBufferSize = 256 EmailBatchingInterval = 30 EmailNotificationContentsFull = "full" EmailNotificationContentsGeneric = "generic" EmailSMTPDefaultServer = "localhost" EmailSMTPDefaultPort = "10025" CacheTypeLRU = "lru" CacheTypeRedis = "redis" SitenameMaxLength = 30 ServiceSettingsDefaultSiteURL = "http://localhost:8065" ServiceSettingsDefaultTLSCertFile = "" ServiceSettingsDefaultTLSKeyFile = "" ServiceSettingsDefaultReadTimeout = 300 ServiceSettingsDefaultWriteTimeout = 300 ServiceSettingsDefaultIdleTimeout = 60 ServiceSettingsDefaultMaxLoginAttempts = 10 ServiceSettingsDefaultAllowCorsFrom = "" ServiceSettingsDefaultListenAndAddress = ":8065" ServiceSettingsDefaultGiphySdkKeyTest = "s0glxvzVg9azvPipKxcPLpXV0q1x1fVP" ServiceSettingsDefaultDeveloperFlags = "" ServiceSettingsDefaultUniqueReactionsPerPost = 50 ServiceSettingsDefaultMaxURLLength = 2048 ServiceSettingsMaxUniqueReactionsPerPost = 500 TeamSettingsDefaultSiteName = "Mattermost" TeamSettingsDefaultMaxUsersPerTeam = 50 TeamSettingsDefaultCustomBrandText = "" TeamSettingsDefaultCustomDescriptionText = "" TeamSettingsDefaultUserStatusAwayTimeout = 300 SqlSettingsDefaultDataSource = "postgres://mmuser:mostest@localhost/mattermost_test?sslmode=disable&connect_timeout=10&binary_parameters=yes" FileSettingsDefaultDirectory = "./data/" FileSettingsDefaultS3UploadPartSizeBytes = 5 * 1024 * 1024 // 5MB FileSettingsDefaultS3ExportUploadPartSizeBytes = 100 * 1024 * 1024 // 100MB ImportSettingsDefaultDirectory = "./import" ImportSettingsDefaultRetentionDays = 30 ExportSettingsDefaultDirectory = "./export" ExportSettingsDefaultRetentionDays = 30 EmailSettingsDefaultFeedbackOrganization = "" SupportSettingsDefaultTermsOfServiceLink = "https://mattermost.com/pl/terms-of-use/" SupportSettingsDefaultPrivacyPolicyLink = "https://mattermost.com/pl/privacy-policy/" SupportSettingsDefaultAboutLink = "https://mattermost.com/pl/about-mattermost" SupportSettingsDefaultHelpLink = "https://mattermost.com/pl/help/" SupportSettingsDefaultReportAProblemLink = "https://mattermost.com/pl/report-a-bug" SupportSettingsDefaultSupportEmail = "" SupportSettingsDefaultReAcceptancePeriod = 365 LdapSettingsDefaultFirstNameAttribute = "" LdapSettingsDefaultLastNameAttribute = "" LdapSettingsDefaultEmailAttribute = "" LdapSettingsDefaultUsernameAttribute = "" LdapSettingsDefaultNicknameAttribute = "" LdapSettingsDefaultIdAttribute = "" LdapSettingsDefaultPositionAttribute = "" LdapSettingsDefaultLoginFieldName = "" LdapSettingsDefaultGroupDisplayNameAttribute = "" LdapSettingsDefaultGroupIdAttribute = "" LdapSettingsDefaultPictureAttribute = "" SamlSettingsDefaultIdAttribute = "" SamlSettingsDefaultGuestAttribute = "" SamlSettingsDefaultAdminAttribute = "" SamlSettingsDefaultFirstNameAttribute = "" SamlSettingsDefaultLastNameAttribute = "" SamlSettingsDefaultEmailAttribute = "" SamlSettingsDefaultUsernameAttribute = "" SamlSettingsDefaultNicknameAttribute = "" SamlSettingsDefaultLocaleAttribute = "" SamlSettingsDefaultPositionAttribute = "" SamlSettingsSignatureAlgorithmSha1 = "RSAwithSHA1" SamlSettingsSignatureAlgorithmSha256 = "RSAwithSHA256" SamlSettingsSignatureAlgorithmSha512 = "RSAwithSHA512" SamlSettingsDefaultSignatureAlgorithm = SamlSettingsSignatureAlgorithmSha1 SamlSettingsCanonicalAlgorithmC14n = "Canonical1.0" SamlSettingsCanonicalAlgorithmC14n11 = "Canonical1.1" SamlSettingsDefaultCanonicalAlgorithm = SamlSettingsCanonicalAlgorithmC14n NativeappSettingsDefaultAppDownloadLink = "https://mattermost.com/pl/download-apps" NativeappSettingsDefaultAndroidAppDownloadLink = "https://mattermost.com/pl/android-app/" NativeappSettingsDefaultIosAppDownloadLink = "https://mattermost.com/pl/ios-app/" ExperimentalSettingsDefaultLinkMetadataTimeoutMilliseconds = 5000 ExperimentalSettingsDefaultUsersStatusAndProfileFetchingPollIntervalMilliseconds = 3000 AnalyticsSettingsDefaultMaxUsersForStatistics = 2500 AnnouncementSettingsDefaultBannerColor = "#f2a93b" AnnouncementSettingsDefaultBannerTextColor = "#333333" AnnouncementSettingsDefaultNoticesJsonURL = "https://notices.mattermost.com/" AnnouncementSettingsDefaultNoticesFetchFrequencySeconds = 3600 TeamSettingsDefaultTeamText = "default" ElasticsearchSettingsDefaultConnectionURL = "http://localhost:9200" ElasticsearchSettingsDefaultUsername = "elastic" ElasticsearchSettingsDefaultPassword = "changeme" ElasticsearchSettingsDefaultPostIndexReplicas = 1 ElasticsearchSettingsDefaultPostIndexShards = 1 ElasticsearchSettingsDefaultChannelIndexReplicas = 1 ElasticsearchSettingsDefaultChannelIndexShards = 1 ElasticsearchSettingsDefaultUserIndexReplicas = 1 ElasticsearchSettingsDefaultUserIndexShards = 1 ElasticsearchSettingsDefaultAggregatePostsAfterDays = 365 ElasticsearchSettingsDefaultPostsAggregatorJobStartTime = "03:00" ElasticsearchSettingsDefaultIndexPrefix = "" ElasticsearchSettingsDefaultLiveIndexingBatchSize = 10 ElasticsearchSettingsDefaultRequestTimeoutSeconds = 30 ElasticsearchSettingsDefaultBatchSize = 10000 ElasticsearchSettingsESBackend = "elasticsearch" ElasticsearchSettingsOSBackend = "opensearch" BleveSettingsDefaultIndexDir = "" BleveSettingsDefaultBatchSize = 10000 DataRetentionSettingsDefaultMessageRetentionDays = 365 DataRetentionSettingsDefaultMessageRetentionHours = 0 DataRetentionSettingsDefaultFileRetentionDays = 365 DataRetentionSettingsDefaultFileRetentionHours = 0 DataRetentionSettingsDefaultBoardsRetentionDays = 365 DataRetentionSettingsDefaultDeletionJobStartTime = "02:00" DataRetentionSettingsDefaultBatchSize = 3000 DataRetentionSettingsDefaultTimeBetweenBatchesMilliseconds = 100 DataRetentionSettingsDefaultRetentionIdsBatchSize = 100 OutgoingIntegrationRequestsDefaultTimeout = 30 PluginSettingsDefaultDirectory = "./plugins" PluginSettingsDefaultClientDirectory = "./client/plugins" PluginSettingsDefaultEnableMarketplace = true PluginSettingsDefaultMarketplaceURL = "https://api.integrations.mattermost.com" PluginSettingsOldMarketplaceURL = "https://marketplace.integrations.mattermost.com" ComplianceExportTypeCsv = "csv" ComplianceExportTypeActiance = "actiance" ComplianceExportTypeGlobalrelay = "globalrelay" ComplianceExportTypeGlobalrelayZip = "globalrelay-zip" GlobalrelayCustomerTypeA9 = "A9" GlobalrelayCustomerTypeA10 = "A10" GlobalrelayCustomerTypeCustom = "CUSTOM" ClientSideCertCheckPrimaryAuth = "primary" ClientSideCertCheckSecondaryAuth = "secondary" ImageProxyTypeLocal = "local" ImageProxyTypeAtmosCamo = "atmos/camo" GoogleSettingsDefaultScope = "profile email" GoogleSettingsDefaultAuthEndpoint = "https://accounts.google.com/o/oauth2/v2/auth" GoogleSettingsDefaultTokenEndpoint = "https://www.googleapis.com/oauth2/v4/token" GoogleSettingsDefaultUserAPIEndpoint = "https://people.googleapis.com/v1/people/me?personFields=names,emailAddresses,nicknames,metadata" Office365SettingsDefaultScope = "User.Read" Office365SettingsDefaultAuthEndpoint = "https://login.microsoftonline.com/common/oauth2/v2.0/authorize" Office365SettingsDefaultTokenEndpoint = "https://login.microsoftonline.com/common/oauth2/v2.0/token" Office365SettingsDefaultUserAPIEndpoint = "https://graph.microsoft.com/v1.0/me" CloudSettingsDefaultCwsURL = "https://customers.mattermost.com" CloudSettingsDefaultCwsAPIURL = "https://portal.internal.prod.cloud.mattermost.com" CloudSettingsDefaultCwsURLTest = "https://portal.test.cloud.mattermost.com" CloudSettingsDefaultCwsAPIURLTest = "https://api.internal.test.cloud.mattermost.com" OpenidSettingsDefaultScope = "profile openid email" LocalModeSocketPath = "/var/tmp/mattermost_local.socket" ConnectedWorkspacesSettingsDefaultMaxPostsPerSync = 50 // a bit more than 4 typical screenfulls of posts // These storage classes are the valid values for the x-amz-storage-class header. More documentation here https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html#AmazonS3-PutObject-request-header-StorageClass StorageClassStandard = "STANDARD" StorageClassReducedRedundancy = "REDUCED_REDUNDANCY" StorageClassStandardIA = "STANDARD_IA" StorageClassOnezoneIA = "ONEZONE_IA" StorageClassIntelligentTiering = "INTELLIGENT_TIERING" StorageClassGlacier = "GLACIER" StorageClassDeepArchive = "DEEP_ARCHIVE" StorageClassOutposts = "OUTPOSTS" StorageClassGlacierIR = "GLACIER_IR" StorageClassSnow = "SNOW" StorageClassExpressOnezone = "EXPRESS_ONEZONE" )
const ( UserPropsKeyCustomStatus = "customStatus" CustomStatusTextMaxRunes = 100 MaxRecentCustomStatuses = 5 DefaultCustomStatusEmoji = "speech_balloon" )
const ( EmojiNameMaxLength = 64 EmojiSortByName = "name" )
const ( FileinfoSortByCreated = "CreateAt" FileinfoSortBySize = "Size" )
const ( GroupSourceLdap GroupSource = "ldap" GroupSourceCustom GroupSource = "custom" GroupNameMaxLength = 64 GroupSourceMaxLength = 64 GroupDisplayNameMaxLength = 128 GroupDescriptionMaxLength = 1024 GroupRemoteIDMaxLength = 48 )
const ( PostActionTypeButton = "button" PostActionTypeSelect = "select" DialogTitleMaxLength = 24 DialogElementDisplayNameMaxLength = 24 DialogElementNameMaxLength = 300 DialogElementHelpTextMaxLength = 150 DialogElementTextMaxLength = 150 DialogElementTextareaMaxLength = 3000 DialogElementSelectMaxLength = 3000 DialogElementBoolMaxLength = 150 )
const ( JobTypeDataRetention = "data_retention" JobTypeMessageExport = "message_export" JobTypeElasticsearchPostIndexing = "elasticsearch_post_indexing" JobTypeElasticsearchPostAggregation = "elasticsearch_post_aggregation" JobTypeBlevePostIndexing = "bleve_post_indexing" JobTypeLdapSync = "ldap_sync" JobTypeMigrations = "migrations" JobTypePlugins = "plugins" JobTypeExpiryNotify = "expiry_notify" JobTypeProductNotices = "product_notices" JobTypeActiveUsers = "active_users" JobTypeImportProcess = "import_process" JobTypeImportDelete = "import_delete" JobTypeExportProcess = "export_process" JobTypeExportDelete = "export_delete" JobTypeCloud = "cloud" JobTypeResendInvitationEmail = "resend_invitation_email" JobTypeExtractContent = "extract_content" JobTypeLastAccessiblePost = "last_accessible_post" JobTypeLastAccessibleFile = "last_accessible_file" JobTypeUpgradeNotifyAdmin = "upgrade_notify_admin" JobTypeTrialNotifyAdmin = "trial_notify_admin" JobTypePostPersistentNotifications = "post_persistent_notifications" JobTypeInstallPluginNotifyAdmin = "install_plugin_notify_admin" JobTypeHostedPurchaseScreening = "hosted_purchase_screening" JobTypeS3PathMigration = "s3_path_migration" JobTypeCleanupDesktopTokens = "cleanup_desktop_tokens" JobTypeDeleteEmptyDraftsMigration = "delete_empty_drafts_migration" JobTypeRefreshPostStats = "refresh_post_stats" JobTypeDeleteOrphanDraftsMigration = "delete_orphan_drafts_migration" JobTypeExportUsersToCSV = "export_users_to_csv" JobTypeDeleteDmsPreferencesMigration = "delete_dms_preferences_migration" JobTypeMobileSessionMetadata = "mobile_session_metadata" JobStatusPending = "pending" JobStatusInProgress = "in_progress" JobStatusSuccess = "success" JobStatusError = "error" JobStatusCancelRequested = "cancel_requested" JobStatusCanceled = "canceled" JobStatusWarning = "warning" )
const ( UserAuthServiceLdap = "ldap" LdapPublicCertificateName = "ldap-public.crt" LdapPrivateKeyName = "ldap-private.key" )
const ( DayInSeconds = 24 * 60 * 60 DayInMilliseconds = DayInSeconds * 1000 ExpiredLicenseError = "api.license.add_license.expired.app_error" InvalidLicenseError = "api.license.add_license.invalid.app_error" LicenseGracePeriod = DayInMilliseconds * 10 //10 days LicenseRenewalLink = "https://mattermost.com/renew/" LicenseShortSkuE10 = "E10" LicenseShortSkuE20 = "E20" LicenseShortSkuProfessional = "professional" LicenseShortSkuEnterprise = "enterprise" )
const ( LinkMetadataTypeImage LinkMetadataType = "image" LinkMetadataTypeNone LinkMetadataType = "none" LinkMetadataTypeOpengraph LinkMetadataType = "opengraph" LinkMetadataMaxImages int = 5 )
const ( AdvancedPermissionsMigrationKey = "AdvancedPermissionsMigrationComplete" MigrationKeyAdvancedPermissionsPhase2 = "migration_advanced_permissions_phase_2" MigrationKeyEmojiPermissionsSplit = "emoji_permissions_split" MigrationKeyWebhookPermissionsSplit = "webhook_permissions_split" MigrationKeyListJoinPublicPrivateTeams = "list_join_public_private_teams" MigrationKeyRemovePermanentDeleteUser = "remove_permanent_delete_user" MigrationKeyAddBotPermissions = "add_bot_permissions" MigrationKeyApplyChannelManageDeleteToChannelUser = "apply_channel_manage_delete_to_channel_user" MigrationKeyRemoveChannelManageDeleteFromTeamUser = "remove_channel_manage_delete_from_team_user" MigrationKeyViewMembersNewPermission = "view_members_new_permission" MigrationKeyAddManageGuestsPermissions = "add_manage_guests_permissions" MigrationKeyChannelModerationsPermissions = "channel_moderations_permissions" MigrationKeyAddUseGroupMentionsPermission = "add_use_group_mentions_permission" MigrationKeyAddSystemConsolePermissions = "add_system_console_permissions" MigrationKeySidebarCategoriesPhase2 = "migration_sidebar_categories_phase_2" MigrationKeyAddConvertChannelPermissions = "add_convert_channel_permissions" MigrationKeyAddSystemRolesPermissions = "add_system_roles_permissions" MigrationKeyAddBillingPermissions = "add_billing_permissions" MigrationKeyAddManageSecureConnectionsPermissions = "manage_secure_connections_permissions" MigrationKeyAddDownloadComplianceExportResults = "download_compliance_export_results" MigrationKeyAddComplianceSubsectionPermissions = "compliance_subsection_permissions" MigrationKeyAddExperimentalSubsectionPermissions = "experimental_subsection_permissions" MigrationKeyAddAuthenticationSubsectionPermissions = "authentication_subsection_permissions" MigrationKeyAddSiteSubsectionPermissions = "site_subsection_permissions" MigrationKeyAddEnvironmentSubsectionPermissions = "environment_subsection_permissions" MigrationKeyAddReportingSubsectionPermissions = "reporting_subsection_permissions" MigrationKeyAddTestEmailAncillaryPermission = "test_email_ancillary_permission" MigrationKeyAddAboutSubsectionPermissions = "about_subsection_permissions" MigrationKeyAddIntegrationsSubsectionPermissions = "integrations_subsection_permissions" MigrationKeyAddPlaybooksPermissions = "playbooks_permissions" MigrationKeyAddCustomUserGroupsPermissions = "custom_groups_permissions" MigrationKeyAddPlayboosksManageRolesPermissions = "playbooks_manage_roles" MigrationKeyAddProductsBoardsPermissions = "products_boards" MigrationKeyAddCustomUserGroupsPermissionRestore = "custom_groups_permission_restore" MigrationKeyAddReadChannelContentPermissions = "read_channel_content_permissions" MigrationKeyS3Path = "s3_path_migration" MigrationKeyDeleteEmptyDrafts = "delete_empty_drafts_migration" MigrationKeyDeleteOrphanDrafts = "delete_orphan_drafts_migration" MigrationKeyAddIPFilteringPermissions = "add_ip_filtering_permissions" MigrationKeyAddOutgoingOAuthConnectionsPermissions = "add_outgoing_oauth_connections_permissions" MigrationKeyAddChannelBookmarksPermissions = "add_channel_bookmarks_permissions" MigrationKeyDeleteDmsPreferences = "delete_dms_preferences_migration" MigrationKeyAddManageJobAncillaryPermissions = "add_manage_jobs_ancillary_permissions" MigrationKeyAddUploadFilePermission = "add_upload_file_permission" )
const ( NotificationStatusSuccess NotificationStatus = "success" NotificationStatusError NotificationStatus = "error" NotificationStatusNotSent NotificationStatus = "not_sent" NotificationStatusUnsupported NotificationStatus = "unsupported" NotificationTypeAll NotificationType = "all" NotificationTypeEmail NotificationType = "email" NotificationTypeWebsocket NotificationType = "websocket" NotificationTypePush NotificationType = "push" NotificationNoPlatform = "no_platform" NotificationReasonFetchError NotificationReason = "fetch_error" NotificationReasonParseError NotificationReason = "json_parse_error" NotificationReasonMarshalError NotificationReason = "json_marshal_error" NotificationReasonPushProxyError NotificationReason = "push_proxy_error" NotificationReasonPushProxySendError NotificationReason = "push_proxy_send_error" NotificationReasonPushProxyRemoveDevice NotificationReason = "push_proxy_remove_device" NotificationReasonRejectedByPlugin NotificationReason = "rejected_by_plugin" NotificationReasonSessionExpired NotificationReason = "session_expired" NotificationReasonChannelMuted NotificationReason = "channel_muted" NotificationReasonSystemMessage NotificationReason = "system_message" NotificationReasonLevelSetToNone NotificationReason = "notify_level_none" NotificationReasonNotMentioned NotificationReason = "not_mentioned" NotificationReasonUserStatus NotificationReason = "user_status" NotificationReasonUserIsActive NotificationReason = "user_is_active" NotificationReasonMissingProfile NotificationReason = "missing_profile" NotificationReasonEmailNotVerified NotificationReason = "email_not_verified" NotificationReasonEmailSendError NotificationReason = "email_send_error" NotificationReasonTooManyUsersInChannel NotificationReason = "too_many_users_in_channel" NotificationReasonResolvePersistentNotificationError NotificationReason = "resolve_persistent_notification_error" NotificationReasonMissingThreadMembership NotificationReason = "missing_thread_membership" )
const ( PaidFeatureGuestAccounts = MattermostFeature("mattermost.feature.guest_accounts") PaidFeatureCustomUsergroups = MattermostFeature("mattermost.feature.custom_user_groups") PaidFeatureCreateMultipleTeams = MattermostFeature("mattermost.feature.create_multiple_teams") PaidFeatureStartcall = MattermostFeature("mattermost.feature.start_call") PaidFeaturePlaybooksRetrospective = MattermostFeature("mattermost.feature.playbooks_retro") PaidFeatureUnlimitedMessages = MattermostFeature("mattermost.feature.unlimited_messages") PaidFeatureUnlimitedFileStorage = MattermostFeature("mattermost.feature.unlimited_file_storage") PaidFeatureAllProfessionalfeatures = MattermostFeature("mattermost.feature.all_professional") PaidFeatureAllEnterprisefeatures = MattermostFeature("mattermost.feature.all_enterprise") UpgradeDowngradedWorkspace = MattermostFeature("mattermost.feature.upgrade_downgraded_workspace") PluginFeature = MattermostFeature("mattermost.feature.plugin") PaidFeatureHighlightWithoutNotification = MattermostFeature("mattermost.feature.highlight_without_notification") )
const ( OAuthActionSignup = "signup" OAuthActionLogin = "login" OAuthActionEmailToSSO = "email_to_sso" OAuthActionSSOToEmail = "sso_to_email" OAuthActionMobile = "mobile" )
const ( CurrentMetadataVersion int = 1 SupportPacketType PacketType = "support-packet" PluginPacketType PacketType = "plugin-packet" PacketMetadataFileName = "metadata.yaml" )
const ( PermissionScopeSystem = "system_scope" PermissionScopeTeam = "team_scope" PermissionScopeChannel = "channel_scope" PermissionScopeGroup = "group_scope" PermissionScopePlaybook = "playbook_scope" PermissionScopeRun = "run_scope" )
const ( PluginClusterEventSendTypeReliable = ClusterSendReliable PluginClusterEventSendTypeBestEffort = ClusterSendBestEffort )
const ( PluginIdPlaybooks = "playbooks" PluginIdFocalboard = "focalboard" PluginIdApps = "com.mattermost.apps" PluginIdCalls = "com.mattermost.calls" PluginIdNPS = "com.mattermost.nps" PluginIdChannelExport = "com.mattermost.plugin-channel-export" PluginIdAI = "mattermost-ai" )
const ( KeyValuePluginIdMaxRunes = 190 KeyValueKeyMaxRunes = 150 )
const ( PluginStateNotRunning = 0 PluginStateStarting = 1 // unused by server PluginStateRunning = 2 PluginStateFailedToStart = 3 PluginStateFailedToStayRunning = 4 PluginStateStopping = 5 // unused by server )
const ( MinIdLength = 3 MaxIdLength = 190 ValidIdRegex = `^[a-zA-Z0-9-_\.]+$` )
const ( PostSystemMessagePrefix = "system_" PostTypeDefault = "" PostTypeSlackAttachment = "slack_attachment" PostTypeSystemGeneric = "system_generic" PostTypeJoinLeave = "system_join_leave" // Deprecated, use PostJoinChannel or PostLeaveChannel instead PostTypeJoinChannel = "system_join_channel" PostTypeGuestJoinChannel = "system_guest_join_channel" PostTypeLeaveChannel = "system_leave_channel" PostTypeJoinTeam = "system_join_team" PostTypeLeaveTeam = "system_leave_team" PostTypeAutoResponder = "system_auto_responder" PostTypeAddRemove = "system_add_remove" // Deprecated, use PostAddToChannel or PostRemoveFromChannel instead PostTypeAddToChannel = "system_add_to_channel" PostTypeAddGuestToChannel = "system_add_guest_to_chan" PostTypeRemoveFromChannel = "system_remove_from_channel" PostTypeMoveChannel = "system_move_channel" PostTypeAddToTeam = "system_add_to_team" PostTypeRemoveFromTeam = "system_remove_from_team" PostTypeHeaderChange = "system_header_change" PostTypeDisplaynameChange = "system_displayname_change" PostTypeConvertChannel = "system_convert_channel" PostTypePurposeChange = "system_purpose_change" PostTypeChannelDeleted = "system_channel_deleted" PostTypeChannelRestored = "system_channel_restored" PostTypeEphemeral = "system_ephemeral" PostTypeChangeChannelPrivacy = "system_change_chan_privacy" PostTypeWrangler = "system_wrangler" PostTypeGMConvertedToChannel = "system_gm_to_channel" PostTypeAddBotTeamsChannels = "add_bot_teams_channels" PostTypeMe = "me" PostCustomTypePrefix = "custom_" PostTypeReminder = "reminder" PostFileidsMaxRunes = 300 PostFilenamesMaxRunes = 4000 PostMessageMaxRunesV1 = 4000 PostMessageMaxBytesV2 = 65535 // Maximum size of a TEXT column in MySQL PostMessageMaxRunesV2 = PostMessageMaxBytesV2 / 4 // Assume a worst-case representation PostPropsMaxRunes = 800000 PostPropsMaxUserRunes = PostPropsMaxRunes - 40000 // Leave some room for system / pre-save modifications PropsAddChannelMember = "add_channel_member" PostPropsAddedUserId = "addedUserId" PostPropsDeleteBy = "deleteBy" PostPropsOverrideIconURL = "override_icon_url" PostPropsOverrideIconEmoji = "override_icon_emoji" PostPropsOverrideUsername = "override_username" PostPropsFromWebhook = "from_webhook" PostPropsFromBot = "from_bot" PostPropsFromOAuthApp = "from_oauth_app" PostPropsWebhookDisplayName = "webhook_display_name" PostPropsMentionHighlightDisabled = "mentionHighlightDisabled" PostPropsGroupHighlightDisabled = "disable_group_highlight" PostPropsPreviewedPost = "previewed_post" PostPropsForceNotification = "force_notification" PostPriorityUrgent = "urgent" PostPropsRequestedAck = "requested_ack" PostPropsPersistentNotifications = "persistent_notifications" )
const ( // PreferenceCategoryDirectChannelShow and PreferenceCategoryGroupChannelShow // are used to store the user's preferences for which channels to show in the sidebar. // The Name field is the channel ID. PreferenceCategoryDirectChannelShow = "direct_channel_show" PreferenceCategoryGroupChannelShow = "group_channel_show" // PreferenceCategoryTutorialStep is used to store the user's progress in the tutorial. // The Name field is the user ID again (for whatever reason). PreferenceCategoryTutorialSteps = "tutorial_step" // PreferenceCategoryAdvancedSettings has settings for the user's advanced settings. // The Name field is the setting name. Possible values are: // - "formatting" // - "send_on_ctrl_enter" // - "join_leave" // - "unread_scroll_position" // - "sync_drafts" // - "feature_enabled_markdown_preview" <- deprecated in favor of "formatting" PreferenceCategoryAdvancedSettings = "advanced_settings" // PreferenceCategoryFlaggedPost is used to store the user's saved posts. // The Name field is the post ID. PreferenceCategoryFlaggedPost = "flagged_post" // PreferenceCategoryFavoriteChannel is used to store the user's favorite channels to be // shown in the sidebar. The Name field is the channel ID. PreferenceCategoryFavoriteChannel = "favorite_channel" // PreferenceCategorySidebarSettings is used to store the user's sidebar settings. // The Name field is the setting name. (ie. PreferenceNameShowUnreadSection or PreferenceLimitVisibleDmsGms) PreferenceCategorySidebarSettings = "sidebar_settings" // PreferenceCategoryDisplaySettings is used to store the user's various display settings. // The possible Name fields are: // - PreferenceNameUseMilitaryTime // - PreferenceNameCollapseSetting // - PreferenceNameMessageDisplay // - PreferenceNameCollapseConsecutive // - PreferenceNameColorizeUsernames // - PreferenceNameChannelDisplayMode // - PreferenceNameNameFormat PreferenceCategoryDisplaySettings = "display_settings" // PreferenceCategorySystemNotice is used store system admin notices. // Possible Name values are not defined here. It can be anything with the notice name. PreferenceCategorySystemNotice = "system_notice" // Deprecated: PreferenceCategoryLast is not used anymore. PreferenceCategoryLast = "last" // PreferenceCategoryCustomStatus is used to store the user's custom status preferences. // Possible Name values are: // - PreferenceNameRecentCustomStatuses // - PreferenceNameCustomStatusTutorialState // - PreferenceCustomStatusModalViewed PreferenceCategoryCustomStatus = "custom_status" // PreferenceCategoryNotifications is used to store the user's notification settings. // Possible Name values are: // - PreferenceNameEmailInterval PreferenceCategoryNotifications = "notifications" // Deprecated: PreferenceRecommendedNextSteps is not used anymore. // Use PreferenceCategoryRecommendedNextSteps instead. // PreferenceRecommendedNextSteps is actually a Category. The only possible // Name vaule is PreferenceRecommendedNextStepsHide for now. PreferenceRecommendedNextSteps = PreferenceCategoryRecommendedNextSteps PreferenceCategoryRecommendedNextSteps = "recommended_next_steps" // PreferenceCategoryTheme has the name for the team id where theme is set. PreferenceCategoryTheme = "theme" PreferenceNameCollapsedThreadsEnabled = "collapsed_reply_threads" PreferenceNameChannelDisplayMode = "channel_display_mode" PreferenceNameCollapseSetting = "collapse_previews" PreferenceNameMessageDisplay = "message_display" PreferenceNameCollapseConsecutive = "collapse_consecutive_messages" PreferenceNameColorizeUsernames = "colorize_usernames" PreferenceNameNameFormat = "name_format" PreferenceNameUseMilitaryTime = "use_military_time" PreferenceNameShowUnreadSection = "show_unread_section" PreferenceLimitVisibleDmsGms = "limit_visible_dms_gms" PreferenceMaxLimitVisibleDmsGmsValue = 40 MaxPreferenceValueLength = 20000 PreferenceCategoryAuthorizedOAuthApp = "oauth_app" // Deprecated: PreferenceCategoryLastChannel is not used anymore. PreferenceNameLastChannel = "channel" // Deprecated: PreferenceCategoryLastTeam is not used anymore. PreferenceNameLastTeam = "team" PreferenceNameRecentCustomStatuses = "recent_custom_statuses" PreferenceNameCustomStatusTutorialState = "custom_status_tutorial_state" PreferenceCustomStatusModalViewed = "custom_status_modal_viewed" PreferenceNameEmailInterval = "email_interval" PreferenceEmailIntervalNoBatchingSeconds = "30" // the "immediate" setting is actually 30s PreferenceEmailIntervalBatchingSeconds = "900" // fifteen minutes is 900 seconds PreferenceEmailIntervalImmediately = "immediately" PreferenceEmailIntervalFifteen = "fifteen" PreferenceEmailIntervalFifteenAsSeconds = "900" PreferenceEmailIntervalHour = "hour" PreferenceEmailIntervalHourAsSeconds = "3600" PreferenceCloudUserEphemeralInfo = "cloud_user_ephemeral_info" PreferenceNameRecommendedNextStepsHide = "hide" )
const ( PushNotifyApple = "apple" PushNotifyAndroid = "android" PushNotifyAppleReactNative = "apple_rn" PushNotifyAndroidReactNative = "android_rn" PushTypeMessage = "message" PushTypeClear = "clear" PushTypeUpdateBadge = "update_badge" PushTypeSession = "session" PushTypeTest = "test" PushMessageV2 = "v2" PushSoundNone = "none" // The category is set to handle a set of interactive Actions // with the push notifications CategoryCanReply = "CAN_REPLY" MHPNS = "https://push.mattermost.com" PushSendPrepare = "Prepared to send" PushSendSuccess = "Successful" PushNotSent = "Not Sent due to preferences" PushReceived = "Received by device" )
const ( PushStatus = "status" PushStatusOk = "OK" PushStatusFail = "FAIL" PushStatusRemove = "REMOVE" PushStatusErrorMsg = "error" )
const ( RemoteOfflineAfterMillis = 1000 * 60 * 5 // 5 minutes RemoteNameMinLength = 1 RemoteNameMaxLength = 64 SiteURLPending = "pending_" SiteURLPlugin = "plugin_" BitflagOptionAutoInvited // Remote is automatically invited to all shared channels )
const ( ReportDurationAllTime = "all_time" ReportDurationLast30Days = "last_30_days" ReportDurationPreviousMonth = "previous_month" ReportDurationLast6Months = "last_6_months" ReportingMaxPageSize = 100 )
const ( SystemGuestRoleId = "system_guest" SystemUserRoleId = "system_user" SystemAdminRoleId = "system_admin" SystemPostAllRoleId = "system_post_all" SystemPostAllPublicRoleId = "system_post_all_public" SystemUserAccessTokenRoleId = "system_user_access_token" SystemUserManagerRoleId = "system_user_manager" SystemReadOnlyAdminRoleId = "system_read_only_admin" SystemManagerRoleId = "system_manager" SystemCustomGroupAdminRoleId = "system_custom_group_admin" TeamGuestRoleId = "team_guest" TeamUserRoleId = "team_user" TeamAdminRoleId = "team_admin" TeamPostAllRoleId = "team_post_all" TeamPostAllPublicRoleId = "team_post_all_public" ChannelGuestRoleId = "channel_guest" ChannelUserRoleId = "channel_user" ChannelAdminRoleId = "channel_admin" CustomGroupUserRoleId = "custom_group_user" PlaybookAdminRoleId = "playbook_admin" PlaybookMemberRoleId = "playbook_member" RunAdminRoleId = "run_admin" RunMemberRoleId = "run_member" RoleNameMaxLength = 64 RoleDisplayNameMaxLength = 128 RoleDescriptionMaxLength = 1024 RoleScopeSystem RoleScope = "System" RoleScopeTeam RoleScope = "Team" RoleScopeChannel RoleScope = "Channel" RoleScopeGroup RoleScope = "Group" RoleTypeGuest RoleType = "Guest" RoleTypeUser RoleType = "User" RoleTypeAdmin RoleType = "Admin" )
const ( UserAuthServiceSaml = "saml" UserAuthServiceSamlText = "SAML" UserAuthServiceIsSaml = "isSaml" UserAuthServiceIsMobile = "isMobile" UserAuthServiceIsOAuth = "isOAuthUser" )
const ( ScheduledPostErrorUnknownError = "unknown" ScheduledPostErrorCodeChannelArchived = "channel_archived" ScheduledPostErrorCodeChannelNotFound = "channel_not_found" ScheduledPostErrorCodeUserDoesNotExist = "user_missing" ScheduledPostErrorCodeUserDeleted = "user_deleted" ScheduledPostErrorCodeNoChannelPermission = "no_channel_permission" ScheduledPostErrorNoChannelMember = "no_channel_member" ScheduledPostErrorThreadDeleted = "thread_deleted" ScheduledPostErrorUnableToSend = "unable_to_send" ScheduledPostErrorInvalidPost = "invalid_post" )
const ( SchemeDisplayNameMaxLength = 128 SchemeNameMaxLength = 64 SchemeDescriptionMaxLength = 1024 SchemeScopeTeam = "team" SchemeScopeChannel = "channel" SchemeScopePlaybook = "playbook" SchemeScopeRun = "run" )
const ( // ServiceEnvironmentProduction represents the production self-managed or cloud // environments. This can be configured explicitly with MM_SERVICEENVIRONMENT explicitly // set to "production", but is also the default for any production builds. ServiceEnvironmentProduction = "production" // ServiceEnvironmentTest represents testing environments in which MM_SERVICEENVIRONMENT // is set explicitly to "test". ServiceEnvironmentTest = "test" // ServiceEnvironmentDev represents development environments. This can be configured // explicitly with MM_SERVICEENVIRONMENT set to "dev", but is also the default for any // non-production builds. ServiceEnvironmentDev = "dev" )
const ( SessionCookieToken = "MMAUTHTOKEN" SessionCookieUser = "MMUSERID" SessionCookieCsrf = "MMCSRF" SessionCookieCloudUrl = "MMCLOUDURL" SessionCacheSize = 35000 SessionPropPlatform = "platform" SessionPropOs = "os" SessionPropBrowser = "browser" SessionPropType = "type" SessionPropUserAccessTokenId = "user_access_token_id" SessionPropIsBot = "is_bot" SessionPropIsBotValue = "true" SessionPropOAuthAppID = "oauth_app_id" SessionPropMattermostAppID = "mattermost_app_id" SessionPropLastRemovedDeviceId = "last_removed_device_id" SessionPropDeviceNotificationDisabled = "device_notification_disabled" SessionPropMobileVersion = "mobile_version" SessionTypeUserAccessToken = "UserAccessToken" SessionTypeCloudKey = "CloudKey" SessionTypeRemoteclusterToken = "RemoteClusterToken" SessionPropIsGuest = "is_guest" SessionActivityTimeout = 1000 * 60 * 5 // 5 minutes SessionUserAccessTokenExpiryHours = 100 * 365 * 24 // 100 years )
const ( UserPropsKeyRemoteUsername = "RemoteUsername" UserPropsKeyRemoteEmail = "RemoteEmail" )
const ( StatusOutOfOffice = "ooo" StatusOffline = "offline" StatusAway = "away" StatusDnd = "dnd" StatusOnline = "online" StatusCacheSize = SessionCacheSize StatusChannelTimeout = 20000 // 20 seconds StatusMinUpdateTime = 120000 // 2 minutes )
const ( SystemTelemetryId = "DiagnosticId" SystemRanUnitTests = "RanUnitTests" SystemLastSecurityTime = "LastSecurityTime" SystemActiveLicenseId = "ActiveLicenseId" SystemLastComplianceTime = "LastComplianceTime" SystemAsymmetricSigningKeyKey = "AsymmetricSigningKey" SystemPostActionCookieSecretKey = "PostActionCookieSecret" SystemInstallationDateKey = "InstallationDate" SystemOrganizationName = "OrganizationName" SystemFirstAdminRole = "FirstAdminRole" SystemFirstServerRunTimestampKey = "FirstServerRunTimestamp" SystemClusterEncryptionKey = "ClusterEncryptionKey" SystemUpgradedFromTeId = "UpgradedFromTE" SystemWarnMetricNumberOfTeams5 = "warn_metric_number_of_teams_5" SystemWarnMetricNumberOfChannels50 = "warn_metric_number_of_channels_50" SystemWarnMetricMfa = "warn_metric_mfa" SystemWarnMetricEmailDomain = "warn_metric_email_domain" SystemWarnMetricNumberOfActiveUsers100 = "warn_metric_number_of_active_users_100" SystemWarnMetricNumberOfActiveUsers200 = "warn_metric_number_of_active_users_200" SystemWarnMetricNumberOfActiveUsers300 = "warn_metric_number_of_active_users_300" SystemWarnMetricNumberOfActiveUsers500 = "warn_metric_number_of_active_users_500" SystemWarnMetricNumberOfPosts2m = "warn_metric_number_of_posts_2M" SystemWarnMetricLastRunTimestampKey = "LastWarnMetricRunTimestamp" SystemFirstAdminVisitMarketplace = "FirstAdminVisitMarketplace" SystemFirstAdminSetupComplete = "FirstAdminSetupComplete" SystemLastAccessiblePostTime = "LastAccessiblePostTime" SystemLastAccessibleFileTime = "LastAccessibleFileTime" SystemHostedPurchaseNeedsScreening = "HostedPurchaseNeedsScreening" AwsMeteringReportInterval = 1 AwsMeteringDimensionUsageHrs = "UsageHrs" CloudRenewalEmail = "CloudRenewalEmail" )
const ( WarnMetricStatusLimitReached = "true" WarnMetricStatusRunonce = "runonce" WarnMetricStatusAck = "ack" WarnMetricStatusStorePrefix = "warn_metric_" WarnMetricJobInterval = 24 * 7 WarnMetricNumberOfActiveUsers25 = 25 WarnMetricJobWaitTime = 1000 * 3600 * 24 * 7 // 7 days )
const ( TeamOpen = "O" TeamInvite = "I" TeamAllowedDomainsMaxLength = 500 TeamCompanyNameMaxLength = 64 TeamDescriptionMaxLength = 255 TeamDisplayNameMaxRunes = 64 TeamEmailMaxLength = 128 TeamNameMaxLength = 64 TeamNameMinLength = 2 )
const ( TokenSize = 64 MaxTokenExipryTime = 1000 * 60 * 60 * 48 // 48 hour TokenTypeOAuth = "oauth" TokenTypeSaml = "saml" )
const ( Me = "me" UserNotifyAll = "all" UserNotifyHere = "here" UserNotifyMention = "mention" UserNotifyNone = "none" DesktopNotifyProp = "desktop" DesktopSoundNotifyProp = "desktop_sound" MarkUnreadNotifyProp = "mark_unread" PushNotifyProp = "push" PushStatusNotifyProp = "push_status" EmailNotifyProp = "email" ChannelMentionsNotifyProp = "channel" CommentsNotifyProp = "comments" MentionKeysNotifyProp = "mention_keys" HighlightsNotifyProp = "highlight_keys" CommentsNotifyNever = "never" CommentsNotifyRoot = "root" CommentsNotifyAny = "any" CommentsNotifyCRT = "crt" FirstNameNotifyProp = "first_name" AutoResponderActiveNotifyProp = "auto_responder_active" AutoResponderMessageNotifyProp = "auto_responder_message" DesktopThreadsNotifyProp = "desktop_threads" PushThreadsNotifyProp = "push_threads" EmailThreadsNotifyProp = "email_threads" DefaultLocale = "en" UserAuthServiceEmail = "email" UserEmailMaxLength = 128 UserNicknameMaxRunes = 64 UserPositionMaxRunes = 128 UserFirstNameMaxRunes = 64 UserLastNameMaxRunes = 64 UserAuthDataMaxLength = 128 UserNameMaxLength = 64 UserNameMinLength = 1 UserPasswordMaxLength = 72 UserLocaleMaxLength = 5 UserTimezoneMaxRunes = 256 UserRolesMaxLength = 256 DesktopTokenTTL = time.Minute * 3 )
const ( LowercaseLetters = "abcdefghijklmnopqrstuvwxyz" UppercaseLetters = "ABCDEFGHIJKLMNOPQRSTUVWXYZ" NUMBERS = "0123456789" SYMBOLS = " !\"\\#$%&'()*+,-./:;<=>?@[]^_`|~" BinaryParamKey = "MM_BINARY_PARAMETERS" NoTranslation = "<untranslated>" PayloadParseError = "api.payload.parse.error" )
const ( SocketMaxMessageSizeKb = 8 * 1024 // 8KB PingTimeoutBufferSeconds = 5 )
const ( WebSocketRemoteAddr = "remote_addr" WebSocketXForwardedFor = "x_forwarded_for" )
const ChannelSearchDefaultLimit = 50
const (
CommandWebhookLifetime = 1000 * 60 * 30
)
const ConfigAccessTagAnySysConsoleRead = "*_read"
Allows read access if any PermissionSysconsoleRead* is allowed
const ConfigAccessTagCloudRestrictable = "cloud_restrictable"
const ConfigAccessTagType = "access"
const ConfigAccessTagWriteRestrictable = "write_restrictable"
const (
DefaultWebhookUsername = "webhook"
)
const ExportDataDir = "data"
ExportDataDir is the name of the directory were to store additional data included with the export (e.g. file attachments).
const (
LicenseUpForRenewalEmailSent = "LicenseUpForRenewalEmailSent"
)
const (
MaxImageSize = int64(6048 * 4032) // 24 megapixels, roughly 36MB as a raw image
)
const OutgoingHookResponseTypeComment = "comment"
const (
SupportPacketErrorFile = "warning.txt"
)
const (
USERNAME = "Username"
)
const UpcomingInvoice = "upcoming"
const UploadNoUserID = "nouser"
UploadNoUserID is a "fake" user id used by the API layer when in local mode.
const (
UserAuthServiceGitlab = "gitlab"
)
const UserSearchDefaultLimit = 100
const UserSearchMaxLimit = 1000
Variables ¶
var ( AcceptedInteractions = sliceToMapKey("keyboard", "pointer", "other") AcceptedLCPRegions = sliceToMapKey( "post", "post_textbox", "channel_sidebar", "team_sidebar", "channel_header", "global_header", "announcement_bar", "center_channel", "modal_content", "other", ) AcceptedTrueFalseLabels = sliceToMapKey("true", "false") )
var ( ReportExportFormats = []string{"csv"} UserReportSortColumns = []string{"CreateAt", "Username", "FirstName", "LastName", "Nickname", "Email", "Roles"} )
var ( ErrChannelHomedOnRemote = errors.New("channel is homed on a remote cluster") ErrChannelAlreadyExists = errors.New("channel already exists") )
var AllJobTypes = [...]string{ JobTypeDataRetention, JobTypeMessageExport, JobTypeElasticsearchPostIndexing, JobTypeElasticsearchPostAggregation, JobTypeBlevePostIndexing, JobTypeLdapSync, JobTypeMigrations, JobTypePlugins, JobTypeExpiryNotify, JobTypeProductNotices, JobTypeActiveUsers, JobTypeImportProcess, JobTypeImportDelete, JobTypeExportProcess, JobTypeExportDelete, JobTypeCloud, JobTypeExtractContent, JobTypeLastAccessiblePost, JobTypeLastAccessibleFile, JobTypeCleanupDesktopTokens, JobTypeRefreshPostStats, JobTypeMobileSessionMetadata, }
var AllPermissions []*Permission
var BuildDate string
var BuildEnterpriseReady string
var BuildHash string
var BuildHashEnterprise string
var BuildNumber string
var BuiltInSchemeManagedRoleIDs []string
var ChannelModeratedPermissions []string
var ChannelModeratedPermissionsMap map[string]string
var CurrentVersion = versions[0]
var DeprecatedPermissions []*Permission
var EmojiPattern = regexp.MustCompile(`:[a-zA-Z0-9_+-]+:`)
var ErrMaxPropSizeExceeded = fmt.Errorf("max prop size of %d exceeded", maxPropSizeBytes)
var (
ErrOfflineRemote = errors.New("remote is offline")
)
var InstalledIntegrationsIgnoredPlugins = map[string]struct{}{
PluginIdPlaybooks: {},
PluginIdFocalboard: {},
PluginIdApps: {},
PluginIdCalls: {},
PluginIdNPS: {},
PluginIdChannelExport: {},
PluginIdAI: {},
}
var MattermostGiphySdkKey string
var MockCWS string
var ModeratedBookmarkPermissions []*Permission
var NewSystemRoleIDs []string
var PostActionRetainPropKeys = []string{"from_webhook", "override_username", "override_icon_url"}
var ServerTLSSupportedCiphers = map[string]uint16{ "TLS_RSA_WITH_RC4_128_SHA": tls.TLS_RSA_WITH_RC4_128_SHA, "TLS_RSA_WITH_3DES_EDE_CBC_SHA": tls.TLS_RSA_WITH_3DES_EDE_CBC_SHA, "TLS_RSA_WITH_AES_128_CBC_SHA": tls.TLS_RSA_WITH_AES_128_CBC_SHA, "TLS_RSA_WITH_AES_256_CBC_SHA": tls.TLS_RSA_WITH_AES_256_CBC_SHA, "TLS_RSA_WITH_AES_128_CBC_SHA256": tls.TLS_RSA_WITH_AES_128_CBC_SHA256, "TLS_RSA_WITH_AES_128_GCM_SHA256": tls.TLS_RSA_WITH_AES_128_GCM_SHA256, "TLS_RSA_WITH_AES_256_GCM_SHA384": tls.TLS_RSA_WITH_AES_256_GCM_SHA384, "TLS_ECDHE_ECDSA_WITH_RC4_128_SHA": tls.TLS_ECDHE_ECDSA_WITH_RC4_128_SHA, "TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA": tls.TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA, "TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA": tls.TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA, "TLS_ECDHE_RSA_WITH_RC4_128_SHA": tls.TLS_ECDHE_RSA_WITH_RC4_128_SHA, "TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA": tls.TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA, "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA": tls.TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA, "TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA": tls.TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA, "TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256": tls.TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256, "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256": tls.TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256, "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256": tls.TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, "TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256": tls.TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256, "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384": tls.TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384, "TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384": tls.TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384, "TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305": tls.TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305, "TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305": tls.TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305, }
var SysconsoleAncillaryPermissions map[string][]*Permission
SysconsoleAncillaryPermissions maps the non-sysconsole permissions required by each sysconsole view.
var SysconsoleReadPermissions []*Permission
var SysconsoleWritePermissions []*Permission
var SystemCustomGroupAdminDefaultPermissions []string
var SystemEmojis = map[string]string{}/* 4464 elements not displayed */
var SystemManagerDefaultPermissions []string
var SystemReadOnlyAdminDefaultPermissions []string
var SystemUserManagerDefaultPermissions []string
Functions ¶
func AddAncillaryPermissions ¶
func AppErrorFromJSON ¶
AppErrorFromJSON will try to decode the input into an AppError.
func AppErrorInit ¶
func AppErrorInit(t i18n.TranslateFunc)
func ArrayFromInterface ¶
func ArrayFromJSON
deprecated
func ArrayToJSON ¶
func AuditModelTypeConv ¶
AuditModelTypeConv converts key model types to something better suited for audit output.
func ChannelMentions ¶
func CleanRoleNames ¶
func CleanTeamName ¶
func CleanUsername ¶
func CleanUsername(logger mlog.LoggerIFace, username string) string
func ClearMentionTags ¶
func CompliancePostHeader ¶
func CompliancePostHeader() []string
func ContainsIntegrationsReservedProps ¶ added in v0.1.8
func ContainsIntegrationsReservedProps(props StringInterface) []string
func DecryptPostActionCookie ¶
func EmailInviteWithErrorToEmails ¶
func EmailInviteWithErrorToEmails(o []*EmailInviteWithError) []string
func EmailInviteWithErrorToString ¶
func EmailInviteWithErrorToString(o *EmailInviteWithError) string
func FloorToNearestHour ¶
FloorToNearestHour takes a timestamp (in milliseconds) and returns it rounded to the previous hour in UTC.
func GenerateLinkMetadataHash ¶
GenerateLinkMetadataHash generates a unique hash for a given URL and timestamp for use as a database key.
func GetDMNameFromIds ¶
func GetDefaultAppCustomURLSchemes ¶
func GetDefaultAppCustomURLSchemes() []string
func GetEmojiNameFromUnicode ¶
func GetEndOfDayMillis ¶
GetEndOfDayMillis is a convenience method to get milliseconds since epoch for provided date's end of day
func GetEtagForFileInfos ¶
func GetGroupNameFromUserIds ¶
func GetMillis ¶
func GetMillis() int64
GetMillis is a convenience method to get milliseconds since epoch.
func GetMillisForTime ¶
GetMillisForTime is a convenience method to get milliseconds since epoch for provided Time.
func GetPreferredTimezone ¶
func GetPreviousVersion ¶
func GetReportDateRange ¶ added in v0.0.14
func GetServerIPAddress ¶
func GetServiceEnvironment ¶
func GetServiceEnvironment() string
GetServiceEnvironment returns the currently configured external service environment, deciding which public key is used to validate enterprise licenses, which telemetry keys are active, and which Stripe keys are in use.
To configure an environment other than default, set MM_SERVICEENVIRONMENT before starting the application. Production builds default to ServiceEnvironmentProduction, and non-production builds default to ServiceEnvironmentDev.
Note that this configuration is explicitly not part of the model.Config data structure, as it should never be persisted to the config store nor accidentally configured in any other way than the MM_SERVICEENVIRONMENT variable.
func GetStartOfDayMillis ¶
GetStartOfDayMillis is a convenience method to get milliseconds since epoch for provided date's start of day
func GetSystemEmojiId ¶
func GetTimeForMillis ¶
GetTimeForMillis is a convenience method to get time.Time for milliseconds since epoch.
func HashPassword ¶
HashPassword generates a hash using the bcrypt.GenerateFromPassword
func IncomingWebhookRequestFromJSON ¶
func IncomingWebhookRequestFromJSON(data io.Reader) (*IncomingWebhookRequest, *AppError)
func IsBotDMChannel ¶
func IsCurrentVersion ¶
func IsInRole ¶
Make sure you actually want to use this function. In context.go there are functions to check permissions This function should not be used to check permissions.
func IsReservedTeamName ¶
func IsSendEmailValid ¶
func IsSystemEmojiName ¶ added in v0.0.12
func IsValidCategoryId ¶
func IsValidEmail ¶
func IsValidHTTPURL ¶
func IsValidJobStatus ¶ added in v0.1.5
func IsValidJobType ¶ added in v0.1.5
func IsValidLocale ¶
func IsValidPluginId ¶
IsValidPluginId verifies that the plugin id has a minimum length of 3, maximum length of 190, and contains only alphanumeric characters, dashes, underscores and periods.
These constraints are necessary since the plugin id is used as part of a filesystem path.
func IsValidRemoteName ¶
func IsValidReportExportFormat ¶ added in v0.0.14
func IsValidRoleName ¶
func IsValidSchemeName ¶
func IsValidTeamName ¶
func IsValidUserRoles ¶
func IsValidUsername ¶
func MakeDefaultRoles ¶
func MapBoolFromJSON ¶
MapFromJSON will decode the key/value pair map
func MapBoolToJSON ¶
MapBoolToJSON converts a map to a json string
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 without the padding.
func NewPluginKeyValueFromOptions ¶
func NewPluginKeyValueFromOptions(pluginId, key string, value []byte, opt PluginKVSetOptions) (*PluginKeyValue, *AppError)
NewPluginKeyValueFromOptions return a PluginKeyValue given a pluginID, a KV pair and options.
func NewPointer ¶ added in v0.1.6
func NewPointer[T any](t T) *T
NewPointer returns a pointer to the object passed.
func NewRandomString ¶
NewRandomString returns a random string of the given length. The resulting entropy will be (5 * length) bits.
func NewRandomTeamName ¶
func NewRandomTeamName() string
NewRandomTeamName is a NewId that will be a valid team name.
func NewUsername ¶ added in v0.1.7
func NewUsername() string
NewUsername is a NewId prefixed with a letter to make valid username
func NonSortedArrayFromJSON ¶ added in v0.0.13
func NormalizeEmail ¶
func NormalizeRemoteName ¶
func NormalizeUsername ¶
func PadDateStringZeros ¶
PadDateStringZeros is a convenience method to pad 2 digit date parts with zeros to meet ISO 8601 format
func ParseHashtags ¶
func ParseSlackAttachment ¶
func ParseSlackAttachment(post *Post, attachments []*SlackAttachment)
This method only parses and processes the attachments, all else should be set in the post which is passed
func PermissionsChangedByPatch ¶
Returns an array of permissions that are in either role.Permissions or patch.Permissions, but not both.
func RemoveDuplicateStrings ¶
RemoveDuplicateStrings does an in-place removal of duplicate strings from the input slice. The original slice gets modified.
func RemoveDuplicateStringsNonSort ¶ added in v0.0.13
RemoveDuplicateStringsNonSort does a removal of duplicate strings using a map.
func RewriteImageURLs ¶
RewriteImageURLs takes a message and returns a copy that has all of the image URLs replaced according to the function f. For each image URL, f will be invoked, and the resulting markdown will contain the URL returned by that invocation instead.
Image URLs are destination URLs used in inline images or reference definitions that are used anywhere in the input markdown as an image.
func RuneToHexadecimalString ¶
func SafeDereference ¶ added in v0.1.6
func SafeDereference[T any](t *T) T
SafeDereference returns the zero value of T if t is nil. Otherwise it return the derference of t.
func SanitizeUnicode ¶
SanitizeUnicode will remove undesirable Unicode characters from a string.
func SortedArrayFromJSON ¶ added in v0.0.13
func StatusListToJSON ¶
func StatusMapToInterfaceMap ¶
func StringInterfaceToJSON ¶
func StructFromJSONLimited ¶ added in v0.0.14
func TeamMemberWithErrorToString ¶
func TeamMemberWithErrorToString(o *TeamMemberWithError) string
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"` Scope string `json:"scope"` }
func (*AccessData) IsExpired ¶
func (ad *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.
type AccessResponse ¶
type AddOn ¶
type AddOn struct { ID string `json:"id"` Name string `json:"name"` DisplayName string `json:"display_name"` PricePerSeat float64 `json:"price_per_seat"` }
AddOn represents an addon to a product.
type Address ¶
type Address struct { City string `json:"city"` Country string `json:"country"` Line1 string `json:"line1"` Line2 string `json:"line2"` PostalCode string `json:"postal_code"` State string `json:"state"` }
Address model represents a customer's address.
type AllowedIPRange ¶ added in v0.0.11
type AllowedIPRanges ¶ added in v0.0.11
type AllowedIPRanges []AllowedIPRange
func (*AllowedIPRanges) Auditable ¶ added in v0.0.11
func (air *AllowedIPRanges) Auditable() map[string]interface{}
type AnalyticsRow ¶
type AnalyticsRows ¶
type AnalyticsRows []*AnalyticsRow
type AnalyticsSettings ¶
type AnalyticsSettings struct {
MaxUsersForStatistics *int `access:"write_restrictable,cloud_restrictable"`
}
func (*AnalyticsSettings) SetDefaults ¶
func (s *AnalyticsSettings) SetDefaults()
type AnnouncementSettings ¶
type AnnouncementSettings struct { EnableBanner *bool `access:"site_announcement_banner"` BannerText *string `access:"site_announcement_banner"` // telemetry: none BannerColor *string `access:"site_announcement_banner"` BannerTextColor *string `access:"site_announcement_banner"` AllowBannerDismissal *bool `access:"site_announcement_banner"` AdminNoticesEnabled *bool `access:"site_notices"` UserNoticesEnabled *bool `access:"site_notices"` NoticesURL *string `access:"site_notices,write_restrictable"` // telemetry: none NoticesFetchFrequency *int `access:"site_notices,write_restrictable"` // telemetry: none NoticesSkipCache *bool `access:"site_notices,write_restrictable"` // telemetry: none }
func (*AnnouncementSettings) SetDefaults ¶
func (s *AnnouncementSettings) SetDefaults()
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 SkipTranslation bool `json:"-"` // Whether translation for the error should be skipped. // contains filtered or unexported fields }
func GenerateTriggerId ¶
func InvalidUserError ¶
func IsChannelMemberNotifyPropsValid ¶ added in v0.0.13
func IsSearchParamsListValid ¶
func IsSearchParamsListValid(paramsList []*SearchParams) *AppError
func IsValidEmojiName ¶
func MakeBotNotFoundError ¶
MakeBotNotFoundError creates the error returned when a bot does not exist, or when the user isn't allowed to query the bot. The errors must the same in both cases to avoid leaking that a user is a bot.
func MakePermissionError ¶ added in v0.0.12
func MakePermissionError(s *Session, permissions []*Permission) *AppError
func MakePermissionErrorForUser ¶ added in v0.1.8
func MakePermissionErrorForUser(userId string, permissions []*Permission) *AppError
func MinimumProfessionalProvidedLicense ¶ added in v0.1.8
func NewAppError ¶
func (*AppError) SystemMessage ¶
func (er *AppError) SystemMessage(T i18n.TranslateFunc) string
func (*AppError) Translate ¶
func (er *AppError) Translate(T i18n.TranslateFunc)
func (*AppError) WipeDetailed ¶ added in v0.0.17
func (er *AppError) WipeDetailed()
type AppliedMigration ¶
type AttributeValue ¶
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"` }
type AuthorizeRequest ¶
type AuthorizeRequest struct { ResponseType string `json:"response_type"` ClientId string `json:"client_id"` RedirectURI string `json:"redirect_uri"` Scope string `json:"scope"` State string `json:"state"` }
func (*AuthorizeRequest) IsValid ¶
func (ar *AuthorizeRequest) IsValid() *AppError
IsValid validates the AuthorizeRequest and returns an error if it isn't configured correctly.
type AutocompleteArg ¶
type AutocompleteArg struct { // Name of the argument Name string // Text displayed to the user to help with the autocomplete HelpText string // Type of the argument Type AutocompleteArgType // Required determines if argument is optional or not. Required bool // Actual data of the argument (depends on the Type) Data any }
AutocompleteArg describes an argument of the command. Arguments can be named or positional. If Name is empty string Argument is positional otherwise it is named argument. Named arguments are passed as --Name Argument_Value.
func (*AutocompleteArg) Equals ¶
func (a *AutocompleteArg) Equals(arg *AutocompleteArg) bool
Equals method checks if argument is the same.
func (*AutocompleteArg) UnmarshalJSON ¶
func (a *AutocompleteArg) UnmarshalJSON(b []byte) error
UnmarshalJSON will unmarshal argument
type AutocompleteArgType ¶
type AutocompleteArgType string
AutocompleteArgType describes autocomplete argument type
const ( AutocompleteArgTypeText AutocompleteArgType = "TextInput" AutocompleteArgTypeStaticList AutocompleteArgType = "StaticList" AutocompleteArgTypeDynamicList AutocompleteArgType = "DynamicList" )
Argument types
type AutocompleteData ¶
type AutocompleteData struct { // Trigger of the command Trigger string // Hint of a command Hint string // Text displayed to the user to help with the autocomplete description HelpText string // Role of the user who should be able to see the autocomplete info of this command RoleID string // Arguments of the command. Arguments can be named or positional. // If they are positional order in the list matters, if they are named order does not matter. // All arguments should be either named or positional, no mixing allowed. Arguments []*AutocompleteArg // Subcommands of the command SubCommands []*AutocompleteData }
AutocompleteData describes slash command autocomplete information.
func NewAutocompleteData ¶
func NewAutocompleteData(trigger, hint, helpText string) *AutocompleteData
NewAutocompleteData returns new Autocomplete data.
func (*AutocompleteData) AddCommand ¶
func (ad *AutocompleteData) AddCommand(command *AutocompleteData)
AddCommand adds a subcommand to the autocomplete data.
func (*AutocompleteData) AddDynamicListArgument ¶
func (ad *AutocompleteData) AddDynamicListArgument(helpText, url string, required bool)
AddDynamicListArgument adds positional AutocompleteArgTypeDynamicList argument to the command.
func (*AutocompleteData) AddNamedDynamicListArgument ¶
func (ad *AutocompleteData) AddNamedDynamicListArgument(name, helpText, url string, required bool)
AddNamedDynamicListArgument adds named AutocompleteArgTypeDynamicList argument to the command.
func (*AutocompleteData) AddNamedStaticListArgument ¶
func (ad *AutocompleteData) AddNamedStaticListArgument(name, helpText string, required bool, items []AutocompleteListItem)
AddNamedStaticListArgument adds named AutocompleteArgTypeStaticList argument to the command.
func (*AutocompleteData) AddNamedTextArgument ¶
func (ad *AutocompleteData) AddNamedTextArgument(name, helpText, hint, pattern string, required bool)
AddNamedTextArgument adds named AutocompleteArgTypeText argument to the command.
func (*AutocompleteData) AddStaticListArgument ¶
func (ad *AutocompleteData) AddStaticListArgument(helpText string, required bool, items []AutocompleteListItem)
AddStaticListArgument adds positional AutocompleteArgTypeStaticList argument to the command.
func (*AutocompleteData) AddTextArgument ¶
func (ad *AutocompleteData) AddTextArgument(helpText, hint, pattern string)
AddTextArgument adds positional AutocompleteArgTypeText argument to the command.
func (*AutocompleteData) Equals ¶
func (ad *AutocompleteData) Equals(command *AutocompleteData) bool
Equals method checks if command is the same.
func (*AutocompleteData) IsValid ¶
func (ad *AutocompleteData) IsValid() error
IsValid method checks if autocomplete data is valid.
func (*AutocompleteData) UpdateRelativeURLsForPluginCommands ¶
func (ad *AutocompleteData) UpdateRelativeURLsForPluginCommands(baseURL *url.URL) error
UpdateRelativeURLsForPluginCommands method updates relative urls for plugin commands
type AutocompleteDynamicListArg ¶
type AutocompleteDynamicListArg struct {
FetchURL string
}
AutocompleteDynamicListArg is used when user wants to download possible argument list from the URL.
type AutocompleteListItem ¶
AutocompleteListItem describes an item in the AutocompleteStaticListArg.
type AutocompleteStaticListArg ¶
type AutocompleteStaticListArg struct {
PossibleArguments []AutocompleteListItem
}
AutocompleteStaticListArg is used to input one of the arguments from the list, for example [yes, no], [on, off], and so on.
type AutocompleteSuggestion ¶
type AutocompleteSuggestion struct { // Complete describes completed suggestion Complete string // Suggestion describes what user might want to input next Suggestion string // Hint describes a hint about the suggested input Hint string // Description of the command or a suggestion Description string // IconData is base64 encoded svg image IconData string }
AutocompleteSuggestion describes a single suggestion item sent to the front-end Example: for user input `/jira cre` - Complete might be `/jira create` Suggestion might be `create`, Hint might be `[issue text]`, Description might be `Create a new Issue`
type AutocompleteTextArg ¶
type AutocompleteTextArg struct { // Hint of the input text Hint string // Regex pattern to match Pattern string }
AutocompleteTextArg describes text user can input as an argument.
type BaseMarketplacePlugin ¶
type BaseMarketplacePlugin struct { HomepageURL string `json:"homepage_url"` IconData string `json:"icon_data"` DownloadURL string `json:"download_url"` ReleaseNotesURL string `json:"release_notes_url"` Labels []MarketplaceLabel `json:"labels,omitempty"` Hosting string `json:"hosting"` // Indicated if the plugin is limited to a certain hosting type AuthorType string `json:"author_type"` // The maintainer of the plugin ReleaseStage string `json:"release_stage"` // The stage in the software release cycle that the plugin is in Enterprise bool `json:"enterprise"` // Indicated if the plugin is an enterprise plugin Signature string `json:"signature"` // Signature represents a signature of a plugin saved in base64 encoding. Manifest *Manifest `json:"manifest"` }
BaseMarketplacePlugin is a Mattermost plugin received from the Marketplace server.
func BaseMarketplacePluginsFromReader ¶
func BaseMarketplacePluginsFromReader(reader io.Reader) ([]*BaseMarketplacePlugin, error)
BaseMarketplacePluginsFromReader decodes a json-encoded list of plugins from the given io.Reader.
func (*BaseMarketplacePlugin) DecodeSignature ¶
func (plugin *BaseMarketplacePlugin) DecodeSignature() (io.ReadSeeker, error)
DecodeSignature Decodes signature and returns ReadSeeker.
type BillingScheme ¶
type BillingScheme string
type BillingType ¶ added in v0.0.15
type BillingType string
type BleveSettings ¶
type BleveSettings struct { IndexDir *string `access:"experimental_bleve"` // telemetry: none EnableIndexing *bool `access:"experimental_bleve"` EnableSearching *bool `access:"experimental_bleve"` EnableAutocomplete *bool `access:"experimental_bleve"` BulkIndexingTimeWindowSeconds *int `json:",omitempty"` // telemetry: none BatchSize *int `access:"experimental_bleve"` }
func (*BleveSettings) SetDefaults ¶
func (bs *BleveSettings) SetDefaults()
type Bot ¶
type Bot struct { UserId string `json:"user_id"` Username string `json:"username"` DisplayName string `json:"display_name,omitempty"` Description string `json:"description,omitempty"` OwnerId string `json:"owner_id"` LastIconUpdate int64 `json:"last_icon_update,omitempty"` CreateAt int64 `json:"create_at"` UpdateAt int64 `json:"update_at"` DeleteAt int64 `json:"delete_at"` }
Bot is a special type of User meant for programmatic interactions. Note that the primary key of a bot is the UserId, and matches the primary key of the corresponding user.
func BotFromUser ¶
BotFromUser returns a bot model given a user model
func (*Bot) IsValid ¶
IsValid validates the bot and returns an error if it isn't configured correctly.
func (*Bot) IsValidCreate ¶
IsValidCreate validates bot for Create call. This skips validations of fields that are auto-filled on Create
func (*Bot) Patch ¶
Patch modifies an existing bot with optional fields from the given patch. TODO 6.0: consider returning a boolean to indicate whether or not the patch applied any changes.
func (*Bot) PreSave ¶
func (b *Bot) PreSave()
PreSave should be run before saving a new bot to the database.
func (*Bot) PreUpdate ¶
func (b *Bot) PreUpdate()
PreUpdate should be run before saving an updated bot to the database.
func (*Bot) Trace ¶
Trace describes the minimum information required to identify a bot for the purpose of logging.
func (*Bot) WouldPatch ¶
WouldPatch returns whether or not the given patch would be applied or not.
type BotGetOptions ¶
type BotGetOptions struct { OwnerId string IncludeDeleted bool OnlyOrphaned bool Page int PerPage int }
BotGetOptions acts as a filter on bulk bot fetching queries.
type BotPatch ¶
type BotPatch struct { Username *string `json:"username"` DisplayName *string `json:"display_name"` Description *string `json:"description"` }
BotPatch is a description of what fields to update on an existing bot.
type BulkExportOpts ¶
type BundleInfo ¶
func BundleInfoForPath ¶
func BundleInfoForPath(path string) *BundleInfo
Returns bundle info for the given path. The return value is never nil.
func (*BundleInfo) WrapLogger ¶
func (b *BundleInfo) WrapLogger(logger *mlog.Logger) *mlog.Logger
type CWSWebhookPayload ¶
type CWSWebhookPayload struct { Event string `json:"event"` FailedPayment *FailedPayment `json:"failed_payment"` CloudWorkspaceOwner *CloudWorkspaceOwner `json:"cloud_workspace_owner"` ProductLimits *ProductLimits `json:"product_limits"` Subscription *Subscription `json:"subscription"` SubscriptionTrialEndUnixTimeStamp int64 `json:"trial_end_time_stamp"` DelinquencyEmail *DelinquencyEmailTrigger `json:"delinquency_email"` }
type CacheSettings ¶ added in v0.1.7
type CacheSettings struct { CacheType *string `access:",write_restrictable,cloud_restrictable"` RedisAddress *string `access:",write_restrictable,cloud_restrictable"` // telemetry: none RedisPassword *string `access:",write_restrictable,cloud_restrictable"` // telemetry: none RedisDB *int `access:",write_restrictable,cloud_restrictable"` // telemetry: none DisableClientCache *bool `access:",write_restrictable,cloud_restrictable"` // telemetry: none }
func (*CacheSettings) SetDefaults ¶ added in v0.1.7
func (s *CacheSettings) SetDefaults()
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 ChannelType `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"` SchemeId *string `json:"scheme_id"` Props map[string]any `json:"props"` GroupConstrained *bool `json:"group_constrained"` TotalMsgCountRoot int64 `json:"total_msg_count_root"` PolicyID *string `json:"policy_id"` LastRootPostAt int64 `json:"last_root_post_at"` }
func (*Channel) GetBothUsersForDM ¶ added in v0.1.8
func (*Channel) GetOtherUserIdForDM ¶
func (*Channel) IsGroupConstrained ¶
func (*Channel) IsGroupOrDirect ¶
func (*Channel) MakeNonNil ¶
func (o *Channel) MakeNonNil()
func (*Channel) Patch ¶
func (o *Channel) Patch(patch *ChannelPatch)
type ChannelBookmark ¶ added in v0.0.17
type ChannelBookmark struct { Id string `json:"id"` CreateAt int64 `json:"create_at"` UpdateAt int64 `json:"update_at"` DeleteAt int64 `json:"delete_at"` ChannelId string `json:"channel_id"` OwnerId string `json:"owner_id"` FileId string `json:"file_id"` DisplayName string `json:"display_name"` SortOrder int64 `json:"sort_order"` LinkUrl string `json:"link_url,omitempty"` ImageUrl string `json:"image_url,omitempty"` Emoji string `json:"emoji,omitempty"` Type ChannelBookmarkType `json:"type"` OriginalId string `json:"original_id,omitempty"` ParentId string `json:"parent_id,omitempty"` }
func (*ChannelBookmark) Auditable ¶ added in v0.0.17
func (o *ChannelBookmark) Auditable() map[string]interface{}
func (*ChannelBookmark) Clone ¶ added in v0.0.17
func (o *ChannelBookmark) Clone() *ChannelBookmark
Clone returns a shallow copy of the channel bookmark.
func (*ChannelBookmark) IsValid ¶ added in v0.0.17
func (o *ChannelBookmark) IsValid() *AppError
func (*ChannelBookmark) Patch ¶ added in v0.0.17
func (o *ChannelBookmark) Patch(patch *ChannelBookmarkPatch)
func (*ChannelBookmark) PreSave ¶ added in v0.0.17
func (o *ChannelBookmark) PreSave()
func (*ChannelBookmark) PreUpdate ¶ added in v0.0.17
func (o *ChannelBookmark) PreUpdate()
func (*ChannelBookmark) SetOriginal ¶ added in v0.0.17
func (o *ChannelBookmark) SetOriginal(newOwnerId string) *ChannelBookmark
SetOriginal generates a new bookmark copying the data of the receiver bookmark, resets its timestamps and main ID, updates its OriginalId and sets the owner to the ID passed as a parameter
func (*ChannelBookmark) ToBookmarkWithFileInfo ¶ added in v0.0.17
func (o *ChannelBookmark) ToBookmarkWithFileInfo(f *FileInfo) *ChannelBookmarkWithFileInfo
type ChannelBookmarkAndFileInfo ¶ added in v0.0.17
type ChannelBookmarkAndFileInfo struct { Id string CreateAt int64 UpdateAt int64 DeleteAt int64 ChannelId string OwnerId string FileInfoId string DisplayName string SortOrder int64 LinkUrl string ImageUrl string Emoji string Type ChannelBookmarkType OriginalId string ParentId string FileId string FileName string Extension string Size int64 MimeType string Width int Height int HasPreviewImage bool MiniPreview *[]byte }
func (*ChannelBookmarkAndFileInfo) ToChannelBookmarkWithFileInfo ¶ added in v0.0.17
func (o *ChannelBookmarkAndFileInfo) ToChannelBookmarkWithFileInfo() *ChannelBookmarkWithFileInfo
type ChannelBookmarkPatch ¶ added in v0.0.17
type ChannelBookmarkPatch struct { FileId *string `json:"file_id"` DisplayName *string `json:"display_name"` SortOrder *int64 `json:"sort_order"` LinkUrl *string `json:"link_url,omitempty"` ImageUrl *string `json:"image_url,omitempty"` Emoji *string `json:"emoji,omitempty"` }
func (*ChannelBookmarkPatch) Auditable ¶ added in v0.0.17
func (o *ChannelBookmarkPatch) Auditable() map[string]interface{}
type ChannelBookmarkType ¶ added in v0.0.17
type ChannelBookmarkType string
type ChannelBookmarkWithFileInfo ¶ added in v0.0.17
type ChannelBookmarkWithFileInfo struct { *ChannelBookmark FileInfo *FileInfo `json:"file,omitempty"` }
func (*ChannelBookmarkWithFileInfo) Auditable ¶ added in v0.0.17
func (o *ChannelBookmarkWithFileInfo) Auditable() map[string]interface{}
func (*ChannelBookmarkWithFileInfo) Clone ¶ added in v0.0.17
func (o *ChannelBookmarkWithFileInfo) Clone() *ChannelBookmarkWithFileInfo
Clone returns a shallow copy of the channel bookmark with file info.
type ChannelCounts ¶
type ChannelCounts struct { Counts map[string]int64 `json:"counts"` CountsRoot map[string]int64 `json:"counts_root"` UpdateTimes map[string]int64 `json:"update_times"` }
func (*ChannelCounts) Etag ¶
func (o *ChannelCounts) Etag() string
type ChannelData ¶
type ChannelData struct { Channel *Channel `json:"channel"` Member *ChannelMember `json:"member"` }
func (*ChannelData) Etag ¶
func (o *ChannelData) Etag() string
type ChannelForExport ¶
type ChannelList ¶
type ChannelList []*Channel
func (*ChannelList) Etag ¶
func (o *ChannelList) Etag() string
type ChannelListWithTeamData ¶
type ChannelListWithTeamData []*ChannelWithTeamData
func (*ChannelListWithTeamData) Etag ¶
func (o *ChannelListWithTeamData) Etag() 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"` MentionCountRoot int64 `json:"mention_count_root"` UrgentMentionCount int64 `json:"urgent_mention_count"` MsgCountRoot int64 `json:"msg_count_root"` NotifyProps StringMap `json:"notify_props"` LastUpdateAt int64 `json:"last_update_at"` SchemeGuest bool `json:"scheme_guest"` SchemeUser bool `json:"scheme_user"` SchemeAdmin bool `json:"scheme_admin"` ExplicitRoles string `json:"explicit_roles"` }
func (*ChannelMember) Auditable ¶
func (o *ChannelMember) Auditable() map[string]interface{}
func (*ChannelMember) GetRoles ¶
func (o *ChannelMember) GetRoles() []string
func (*ChannelMember) IsChannelMuted ¶
func (o *ChannelMember) IsChannelMuted() bool
func (*ChannelMember) IsValid ¶
func (o *ChannelMember) IsValid() *AppError
func (*ChannelMember) PreSave ¶
func (o *ChannelMember) PreSave()
func (*ChannelMember) PreUpdate ¶
func (o *ChannelMember) PreUpdate()
func (*ChannelMember) SetChannelMuted ¶
func (o *ChannelMember) SetChannelMuted(muted bool)
type ChannelMemberForExport ¶
type ChannelMemberForExport struct { ChannelMember ChannelName string Username string }
type ChannelMemberHistory ¶
type ChannelMemberIdentifier ¶ added in v0.0.13
type ChannelMemberWithTeamData ¶
type ChannelMemberWithTeamData struct { ChannelMember TeamDisplayName string `json:"team_display_name"` TeamName string `json:"team_name"` TeamUpdateAt int64 `json:"team_update_at"` }
ChannelMemberWithTeamData contains ChannelMember appended with extra team information as well.
type ChannelMembers ¶
type ChannelMembers []ChannelMember
type ChannelMembersWithTeamData ¶
type ChannelMembersWithTeamData []ChannelMemberWithTeamData
type ChannelMentionMap ¶
func ChannelMentionMapFromURLValues ¶
func ChannelMentionMapFromURLValues(values url.Values) (ChannelMentionMap, error)
func (ChannelMentionMap) ToURLValues ¶
func (m ChannelMentionMap) ToURLValues() url.Values
type ChannelModeratedRole ¶
type ChannelModeratedRoles ¶
type ChannelModeratedRoles struct { Guests *ChannelModeratedRole `json:"guests"` Members *ChannelModeratedRole `json:"members"` }
type ChannelModeration ¶
type ChannelModeration struct { Name string `json:"name"` Roles *ChannelModeratedRoles `json:"roles"` }
type ChannelModerationPatch ¶
type ChannelModerationPatch struct { Name *string `json:"name"` Roles *ChannelModeratedRolesPatch `json:"roles"` }
func (*ChannelModerationPatch) Auditable ¶
func (c *ChannelModerationPatch) Auditable() map[string]interface{}
type ChannelOption ¶
type ChannelOption func(channel *Channel)
func WithID ¶
func WithID(ID string) ChannelOption
type ChannelPatch ¶
type ChannelPatch struct { DisplayName *string `json:"display_name"` Name *string `json:"name"` Header *string `json:"header"` Purpose *string `json:"purpose"` GroupConstrained *bool `json:"group_constrained"` }
func (*ChannelPatch) Auditable ¶
func (c *ChannelPatch) Auditable() map[string]interface{}
type ChannelSearch ¶
type ChannelSearch struct { Term string `json:"term"` ExcludeDefaultChannels bool `json:"exclude_default_channels"` NotAssociatedToGroup string `json:"not_associated_to_group"` TeamIds []string `json:"team_ids"` GroupConstrained bool `json:"group_constrained"` ExcludeGroupConstrained bool `json:"exclude_group_constrained"` ExcludePolicyConstrained bool `json:"exclude_policy_constrained"` Public bool `json:"public"` Private bool `json:"private"` IncludeDeleted bool `json:"include_deleted"` IncludeSearchById bool `json:"include_search_by_id"` ExcludeRemote bool `json:"exclude_remote"` Deleted bool `json:"deleted"` Page *int `json:"page,omitempty"` PerPage *int `json:"per_page,omitempty"` }
type ChannelSearchOpts ¶
type ChannelSearchOpts struct { NotAssociatedToGroup string ExcludeDefaultChannels bool IncludeDeleted bool // If true, deleted channels will be included in the results. Deleted bool ExcludeChannelNames []string TeamIds []string GroupConstrained bool ExcludeGroupConstrained bool PolicyID string ExcludePolicyConstrained bool IncludePolicyID bool IncludeSearchById bool ExcludeRemote bool Public bool Private bool Page *int PerPage *int LastDeleteAt int // When combined with IncludeDeleted, only channels deleted after this time will be returned. LastUpdateAt int }
ChannelSearchOpts contains options for searching channels.
NotAssociatedToGroup will exclude channels that have associated, active GroupChannels records. ExcludeDefaultChannels will exclude the configured default channels (ex 'town-square' and 'off-topic'). IncludeDeleted will include channel records where DeleteAt != 0. ExcludeChannelNames will exclude channels from the results by name. IncludeSearchById will include searching matches against channel IDs in the results Paginate whether to paginate the results. Page page requested, if results are paginated. PerPage number of results per page, if paginated.
type ChannelStats ¶
type ChannelStats struct { ChannelId string `json:"channel_id"` MemberCount int64 `json:"member_count"` GuestCount int64 `json:"guest_count"` PinnedPostCount int64 `json:"pinnedpost_count"` FilesCount int64 `json:"files_count"` }
func (*ChannelStats) GuestCount_ ¶
func (o *ChannelStats) GuestCount_() float64
func (*ChannelStats) MemberCount_ ¶
func (o *ChannelStats) MemberCount_() float64
func (*ChannelStats) PinnedPostCount_ ¶
func (o *ChannelStats) PinnedPostCount_() float64
type ChannelType ¶
type ChannelType string
func (ChannelType) MarshalJSON ¶
func (t ChannelType) MarshalJSON() ([]byte, error)
type ChannelUnread ¶
type ChannelUnread struct { TeamId string `json:"team_id"` ChannelId string `json:"channel_id"` MsgCount int64 `json:"msg_count"` MentionCount int64 `json:"mention_count"` MentionCountRoot int64 `json:"mention_count_root"` UrgentMentionCount int64 `json:"urgent_mention_count"` MsgCountRoot int64 `json:"msg_count_root"` NotifyProps StringMap `json:"-"` }
type ChannelUnreadAt ¶
type ChannelUnreadAt struct { TeamId string `json:"team_id"` UserId string `json:"user_id"` ChannelId string `json:"channel_id"` MsgCount int64 `json:"msg_count"` MentionCount int64 `json:"mention_count"` MentionCountRoot int64 `json:"mention_count_root"` UrgentMentionCount int64 `json:"urgent_mention_count"` MsgCountRoot int64 `json:"msg_count_root"` LastViewedAt int64 `json:"last_viewed_at"` NotifyProps StringMap `json:"-"` }
type ChannelView ¶
type ChannelViewResponse ¶
type ChannelWithBookmarks ¶ added in v0.0.17
type ChannelWithBookmarks struct { *Channel Bookmarks []*ChannelBookmarkWithFileInfo `json:"bookmarks,omitempty"` }
type ChannelWithTeamData ¶
type ChannelWithTeamDataAndBookmarks ¶ added in v0.0.17
type ChannelWithTeamDataAndBookmarks struct { *ChannelWithTeamData Bookmarks []*ChannelBookmarkWithFileInfo `json:"bookmarks,omitempty"` }
type ChannelsWithCount ¶
type ChannelsWithCount struct { Channels ChannelListWithTeamData `json:"channels"` TotalCount int64 `json:"total_count"` }
type Client4 ¶
type Client4 struct { URL string // The location of the server, for example "http://localhost:8065" APIURL string // The api location of the server, for example "http://localhost:8065/api/v4" HTTPClient *http.Client // The http client AuthToken string AuthType string HTTPHeader map[string]string // Headers to be copied over for each request // contains filtered or unexported fields }
func NewAPIv4Client ¶
func NewAPIv4SocketClient ¶
func (*Client4) AcknowledgePost ¶
func (*Client4) AddChannelMember ¶
func (c *Client4) AddChannelMember(ctx context.Context, channelId, userId string) (*ChannelMember, *Response, error)
AddChannelMember adds user to channel and return a channel member.
Example ¶
package main import ( "context" "fmt" "log" "os" "github.com/mattermost/mattermost/server/public/model" ) func main() { client := model.NewAPIv4Client(os.Getenv("MM_SERVICESETTINGS_SITEURL")) client.SetToken(os.Getenv("MM_AUTHTOKEN")) channelId := "channel_id" userId := "user_id" cm, _, err := client.AddChannelMember(context.Background(), channelId, userId) if err != nil { log.Fatal(err) } fmt.Printf("Added user %s to channel %s with roles %s\n", userId, channelId, cm.Roles) postRootId := "post_root_id" cm, _, err = client.AddChannelMemberWithRootId(context.Background(), channelId, userId, postRootId) if err != nil { log.Fatal(err) } fmt.Printf("Added user %s to channel %s with roles %s using post %s\n", userId, channelId, cm.Roles, postRootId) }
Output:
func (*Client4) AddChannelMemberWithRootId ¶
func (c *Client4) AddChannelMemberWithRootId(ctx context.Context, channelId, userId, postRootId string) (*ChannelMember, *Response, error)
AddChannelMemberWithRootId adds user to channel and return a channel member. Post add to channel message has the postRootId.
func (*Client4) AddChannelMembers ¶ added in v0.1.5
func (c *Client4) AddChannelMembers(ctx context.Context, channelId, postRootId string, userIds []string) ([]*ChannelMember, *Response, error)
AddChannelMembers adds users to a channel and return an array of channel members.
func (*Client4) AddChannelsToRetentionPolicy ¶
func (c *Client4) AddChannelsToRetentionPolicy(ctx context.Context, policyID string, channelIDs []string) (*Response, error)
AddChannelsToRetentionPolicy will add the specified channels to the granular data retention policy with the specified ID.
func (*Client4) AddTeamMember ¶
func (c *Client4) AddTeamMember(ctx context.Context, teamId, userId string) (*TeamMember, *Response, error)
AddTeamMember adds user to a team and return a team member.
func (*Client4) AddTeamMemberFromInvite ¶
func (c *Client4) AddTeamMemberFromInvite(ctx context.Context, token, inviteId string) (*TeamMember, *Response, error)
AddTeamMemberFromInvite adds a user to a team and return a team member using an invite id or an invite token/data pair.
func (*Client4) AddTeamMembers ¶
func (c *Client4) AddTeamMembers(ctx context.Context, teamId string, userIds []string) ([]*TeamMember, *Response, error)
AddTeamMembers adds a number of users to a team and returns the team members.
func (*Client4) AddTeamMembersGracefully ¶
func (c *Client4) AddTeamMembersGracefully(ctx context.Context, teamId string, userIds []string) ([]*TeamMemberWithError, *Response, error)
AddTeamMembers adds a number of users to a team and returns the team members.
func (*Client4) AddTeamsToRetentionPolicy ¶
func (c *Client4) AddTeamsToRetentionPolicy(ctx context.Context, policyID string, teamIDs []string) (*Response, error)
AddTeamsToRetentionPolicy will add the specified teams to the granular data retention policy with the specified ID.
func (*Client4) AddUserToGroupSyncables ¶
func (*Client4) ApplyIPFilters ¶ added in v0.0.11
func (c *Client4) ApplyIPFilters(ctx context.Context, allowedRanges *AllowedIPRanges) (*AllowedIPRanges, *Response, error)
func (*Client4) ArrayFromJSON ¶ added in v0.0.13
func (*Client4) AssignBot ¶
func (c *Client4) AssignBot(ctx context.Context, botUserId, newOwnerId string) (*Bot, *Response, error)
AssignBot assigns the given bot to the given user
func (*Client4) AttachDeviceProps ¶ added in v0.1.7
func (c *Client4) AttachDeviceProps(ctx context.Context, newProps map[string]string) (*Response, error)
AttachDeviceProps attaches a mobile device ID to the current session and other props.
func (*Client4) AuthorizeOAuthApp ¶
func (c *Client4) AuthorizeOAuthApp(ctx context.Context, authRequest *AuthorizeRequest) (string, *Response, error)
AuthorizeOAuthApp will authorize an OAuth 2.0 client application to access a user's account and provide a redirect link to follow.
func (*Client4) AutocompleteChannelsForTeam ¶
func (c *Client4) AutocompleteChannelsForTeam(ctx context.Context, teamId, name string) (ChannelList, *Response, error)
AutocompleteChannelsForTeam will return an ordered list of channels autocomplete suggestions.
func (*Client4) AutocompleteChannelsForTeamForSearch ¶
func (c *Client4) AutocompleteChannelsForTeamForSearch(ctx context.Context, teamId, name string) (ChannelList, *Response, error)
AutocompleteChannelsForTeamForSearch will return an ordered list of your channels autocomplete suggestions.
func (*Client4) AutocompleteEmoji ¶
func (c *Client4) AutocompleteEmoji(ctx context.Context, name string, etag string) ([]*Emoji, *Response, error)
AutocompleteEmoji returns a list of emoji starting with or matching name.
func (*Client4) AutocompleteUsers ¶
func (c *Client4) AutocompleteUsers(ctx context.Context, username string, limit int, etag string) (*UserAutocomplete, *Response, error)
AutocompleteUsers returns the users in the system based on search term.
func (*Client4) AutocompleteUsersInChannel ¶
func (c *Client4) AutocompleteUsersInChannel(ctx context.Context, teamId string, channelId string, username string, limit int, etag string) (*UserAutocomplete, *Response, error)
AutocompleteUsersInChannel returns the users in a channel based on search term.
func (*Client4) AutocompleteUsersInTeam ¶
func (c *Client4) AutocompleteUsersInTeam(ctx context.Context, teamId string, username string, limit int, etag string) (*UserAutocomplete, *Response, error)
AutocompleteUsersInTeam returns the users on a team based on search term.
func (*Client4) ChannelMembersMinusGroupMembers ¶
func (*Client4) CheckCWSConnection ¶
func (*Client4) CheckIntegrity ¶
CheckIntegrity performs a database integrity check.
func (*Client4) ClearOAuthToken ¶
func (c *Client4) ClearOAuthToken()
func (*Client4) ClearServerBusy ¶
ClearServerBusy will mark the server as not busy.
func (*Client4) CompleteOnboarding ¶
func (*Client4) ConvertBotToUser ¶
func (c *Client4) ConvertBotToUser(ctx context.Context, userId string, userPatch *UserPatch, setSystemAdmin bool) (*User, *Response, error)
ConvertBotToUser converts a bot user to a user.
func (*Client4) ConvertUserToBot ¶
ConvertUserToBot converts a user to a bot user.
func (*Client4) CreateChannel ¶
CreateChannel creates a channel based on the provided channel struct.
Example ¶
package main import ( "context" "fmt" "log" "os" "github.com/mattermost/mattermost/server/public/model" ) func main() { client := model.NewAPIv4Client(os.Getenv("MM_SERVICESETTINGS_SITEURL")) client.SetToken(os.Getenv("MM_AUTHTOKEN")) channel, _, err := client.CreateChannel(context.Background(), &model.Channel{ Name: "channel_name", DisplayName: "Channel Name", Type: model.ChannelTypeOpen, TeamId: "team_id", }) if err != nil { log.Fatal(err) } fmt.Printf("Created channel with id %s\n", channel.Id) }
Output:
func (*Client4) CreateChannelBookmark ¶ added in v0.0.17
func (c *Client4) CreateChannelBookmark(ctx context.Context, channelBookmark *ChannelBookmark) (*ChannelBookmarkWithFileInfo, *Response, error)
CreateChannelBookmark creates a channel bookmark based on the provided struct.
func (*Client4) CreateCommand ¶
CreateCommand will create a new command if the user have the right permissions.
func (*Client4) CreateComplianceReport ¶
func (c *Client4) CreateComplianceReport(ctx context.Context, report *Compliance) (*Compliance, *Response, error)
CreateComplianceReport creates an incoming webhook for a channel.
func (*Client4) CreateDataRetentionPolicy ¶
func (c *Client4) CreateDataRetentionPolicy(ctx context.Context, policy *RetentionPolicyWithTeamAndChannelIDs) (*RetentionPolicyWithTeamAndChannelCounts, *Response, error)
CreateDataRetentionPolicy will create a new granular data retention policy which will be applied to the specified teams and channels. The Id field of `policy` must be empty.
func (*Client4) CreateDirectChannel ¶
func (c *Client4) CreateDirectChannel(ctx context.Context, userId1, userId2 string) (*Channel, *Response, error)
CreateDirectChannel creates a direct message channel based on the two user ids provided.
Example ¶
package main import ( "context" "fmt" "log" "os" "github.com/mattermost/mattermost/server/public/model" ) func main() { client := model.NewAPIv4Client(os.Getenv("MM_SERVICESETTINGS_SITEURL")) client.SetToken(os.Getenv("MM_AUTHTOKEN")) userID1 := "user_id_1" userID2 := "user_id_2" channel, _, err := client.CreateDirectChannel(context.Background(), userID1, userID2) if err != nil { log.Fatal(err) } fmt.Printf("Created direct message channel with id %s for users %s and %s\n", channel.Id, userID1, userID2) }
Output:
func (*Client4) CreateEmoji ¶
func (c *Client4) CreateEmoji(ctx context.Context, emoji *Emoji, image []byte, filename string) (*Emoji, *Response, error)
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 (*Client4) CreateGroup ¶
func (*Client4) CreateGroupChannel ¶
func (c *Client4) CreateGroupChannel(ctx context.Context, userIds []string) (*Channel, *Response, error)
CreateGroupChannel creates a group message channel based on userIds provided.
Example ¶
package main import ( "context" "fmt" "log" "os" "github.com/mattermost/mattermost/server/public/model" ) func main() { client := model.NewAPIv4Client(os.Getenv("MM_SERVICESETTINGS_SITEURL")) client.SetToken(os.Getenv("MM_AUTHTOKEN")) userIDs := []string{"user_id_1", "user_id_2", "user_id_3"} channel, _, err := client.CreateGroupChannel(context.Background(), userIDs) if err != nil { log.Fatal(err) } fmt.Printf("Created group message channel with id %s for users %s, %s and %s\n", channel.Id, userIDs[0], userIDs[1], userIDs[2]) }
Output:
func (*Client4) CreateIncomingWebhook ¶
func (c *Client4) CreateIncomingWebhook(ctx context.Context, hook *IncomingWebhook) (*IncomingWebhook, *Response, error)
CreateIncomingWebhook creates an incoming webhook for a channel.
func (*Client4) CreateOAuthApp ¶
CreateOAuthApp will register a new OAuth 2.0 client application with Mattermost acting as an OAuth 2.0 service provider.
func (*Client4) CreateOutgoingOAuthConnection ¶ added in v0.0.15
func (c *Client4) CreateOutgoingOAuthConnection(ctx context.Context, connection *OutgoingOAuthConnection) (*OutgoingOAuthConnection, *Response, error)
CreateOutgoingOAuthConnection creates a new outgoing OAuth connection.
func (*Client4) CreateOutgoingWebhook ¶
func (c *Client4) CreateOutgoingWebhook(ctx context.Context, hook *OutgoingWebhook) (*OutgoingWebhook, *Response, error)
CreateOutgoingWebhook creates an outgoing webhook for a team or channel.
func (*Client4) CreatePost ¶
CreatePost creates a post based on the provided post struct.
func (*Client4) CreatePostEphemeral ¶
func (c *Client4) CreatePostEphemeral(ctx context.Context, post *PostEphemeral) (*Post, *Response, error)
CreatePostEphemeral creates a ephemeral post based on the provided post struct which is send to the given user id.
func (*Client4) CreateRemoteCluster ¶ added in v0.1.5
func (c *Client4) CreateRemoteCluster(ctx context.Context, rcWithPassword *RemoteClusterWithPassword) (*RemoteClusterWithInvite, *Response, error)
func (*Client4) CreateScheduledPost ¶ added in v0.1.8
func (c *Client4) CreateScheduledPost(ctx context.Context, scheduledPost *ScheduledPost) (*ScheduledPost, *Response, error)
func (*Client4) CreateScheme ¶
CreateScheme creates a new Scheme.
func (*Client4) CreateSidebarCategoryForTeamForUser ¶
func (c *Client4) CreateSidebarCategoryForTeamForUser(ctx context.Context, userID, teamID string, category *SidebarCategoryWithChannels) (*SidebarCategoryWithChannels, *Response, error)
func (*Client4) CreateTeam ¶
CreateTeam creates a team in the system based on the provided team struct.
func (*Client4) CreateTermsOfService ¶
func (c *Client4) CreateTermsOfService(ctx context.Context, text, userId string) (*TermsOfService, *Response, error)
CreateTermsOfService creates new terms of service.
func (*Client4) CreateUpload ¶
func (c *Client4) CreateUpload(ctx context.Context, us *UploadSession) (*UploadSession, *Response, error)
CreateUpload creates a new upload session.
func (*Client4) CreateUser ¶
CreateUser creates a user in the system based on the provided user struct.
func (*Client4) CreateUserAccessToken ¶
func (c *Client4) CreateUserAccessToken(ctx context.Context, userId, description string) (*UserAccessToken, *Response, error)
CreateUserAccessToken will generate a user access token that can be used in place of a session token to access the REST API. Must have the 'create_user_access_token' permission and if generating for another user, must have the 'edit_other_users' permission. A non-blank description is required.
func (*Client4) CreateUserWithInviteId ¶
func (c *Client4) CreateUserWithInviteId(ctx context.Context, user *User, inviteId string) (*User, *Response, error)
CreateUserWithInviteId creates a user in the system based on the provided invited id.
func (*Client4) CreateUserWithToken ¶
func (c *Client4) CreateUserWithToken(ctx context.Context, user *User, tokenId string) (*User, *Response, error)
CreateUserWithToken creates a user in the system based on the provided tokenId.
func (*Client4) DatabaseRecycle ¶
DatabaseRecycle will recycle the connections. Discard current connection and get new one.
func (*Client4) DeauthorizeOAuthApp ¶
DeauthorizeOAuthApp will deauthorize an OAuth 2.0 client application from accessing a user's account.
func (*Client4) DeleteBrandImage ¶
DeleteBrandImage deletes the brand image for the system.
func (*Client4) DeleteChannel ¶
DeleteChannel deletes channel based on the provided channel id string.
Example ¶
package main import ( "context" "log" "os" "github.com/mattermost/mattermost/server/public/model" ) func main() { client := model.NewAPIv4Client(os.Getenv("MM_SERVICESETTINGS_SITEURL")) client.SetToken(os.Getenv("MM_AUTHTOKEN")) channelId := "channel_id" _, err := client.DeleteChannel(context.Background(), channelId) if err != nil { log.Fatal(err) } }
Output:
func (*Client4) DeleteChannelBookmark ¶ added in v0.0.17
func (c *Client4) DeleteChannelBookmark(ctx context.Context, channelId, bookmarkId string) (*ChannelBookmarkWithFileInfo, *Response, error)
DeleteChannelBookmark deletes a channel bookmark.
func (*Client4) DeleteCommand ¶
DeleteCommand deletes a command based on the provided command id string.
func (*Client4) DeleteDataRetentionPolicy ¶
func (c *Client4) DeleteDataRetentionPolicy(ctx context.Context, policyID string) (*Response, error)
DeleteDataRetentionPolicy will delete the granular data retention policy with the specified ID.
func (*Client4) DeleteDraft ¶
func (*Client4) DeleteEmoji ¶
DeleteEmoji delete an custom emoji on the provided emoji id string.
func (*Client4) DeleteExport ¶
func (*Client4) DeleteGroup ¶
func (*Client4) DeleteGroupMembers ¶
func (c *Client4) DeleteGroupMembers(ctx context.Context, groupID string, userIds *GroupModifyMembers) ([]*GroupMember, *Response, error)
func (*Client4) DeleteIncomingWebhook ¶
DeleteIncomingWebhook deletes and Incoming Webhook given the hook ID.
func (*Client4) DeleteLdapPrivateCertificate ¶
DeleteLDAPPrivateCertificate deletes the LDAP IDP certificate from the server and updates the config to not use it and disable LDAP.
func (*Client4) DeleteLdapPublicCertificate ¶
DeleteLdapPublicCertificate deletes the LDAP IDP certificate from the server and updates the config to not use it and disable LDAP.
func (*Client4) DeleteOAuthApp ¶
DeleteOAuthApp deletes a registered OAuth 2.0 client application.
func (*Client4) DeleteOutgoingOAuthConnection ¶ added in v0.0.15
DeleteOutgoingOAuthConnection deletes the outgoing OAuth connection with the given ID.
func (*Client4) DeleteOutgoingWebhook ¶
DeleteOutgoingWebhook delete the outgoing webhook on the system requested by Hook Id.
func (*Client4) DeletePost ¶
DeletePost deletes a post from the provided post id string.
func (*Client4) DeletePreferences ¶
func (c *Client4) DeletePreferences(ctx context.Context, userId string, preferences Preferences) (*Response, error)
DeletePreferences deletes the user's preferences.
func (*Client4) DeleteReaction ¶
DeleteReaction deletes reaction of a user in a post.
func (*Client4) DeleteRemoteCluster ¶ added in v0.1.5
func (*Client4) DeleteSamlIdpCertificate ¶
DeleteSamlIdpCertificate deletes the SAML IDP certificate from the server and updates the config to not use it and disable SAML.
func (*Client4) DeleteSamlPrivateCertificate ¶
DeleteSamlPrivateCertificate deletes the SAML IDP certificate from the server and updates the config to not use it and disable SAML.
func (*Client4) DeleteSamlPublicCertificate ¶
DeleteSamlPublicCertificate deletes the SAML IDP certificate from the server and updates the config to not use it and disable SAML.
func (*Client4) DeleteScheduledPost ¶ added in v0.1.8
func (*Client4) DeleteScheme ¶
DeleteScheme deletes a single scheme by ID.
func (*Client4) DeleteUser ¶
DeleteUser deactivates a user in the system based on the provided user id string.
func (*Client4) DemoteUserToGuest ¶
DemoteUserToGuest convert a regular user into a guest
func (*Client4) DetachPlugin ¶ added in v0.0.18
DetachPlugin detaches a previously reattached plugin.
Only available in local mode, and currently only used for testing.
func (*Client4) DisableBot ¶
DisableBot disables the given bot in the system.
func (*Client4) DisablePlugin ¶
DisablePlugin will disable an enabled plugin.
func (*Client4) DisableUserAccessToken ¶
DisableUserAccessToken will disable a user access token by id. Must have the 'revoke_user_access_token' permission and if disabling for another user, must have the 'edit_other_users' permission.
func (*Client4) DoAPIDelete ¶
func (*Client4) DoAPIDeleteBytes ¶
func (*Client4) DoAPIPatchBytes ¶
func (*Client4) DoAPIPostBytes ¶
func (*Client4) DoAPIPutBytes ¶
func (*Client4) DoAPIRequest ¶
func (*Client4) DoAPIRequestBytes ¶
func (*Client4) DoAPIRequestReader ¶
func (*Client4) DoAPIRequestWithHeaders ¶
func (*Client4) DoEmojiUploadFile ¶
func (*Client4) DoPostAction ¶
DoPostAction performs a post action.
func (*Client4) DoPostActionWithCookie ¶
func (c *Client4) DoPostActionWithCookie(ctx context.Context, postId, actionId, selected, cookieStr string) (*Response, error)
DoPostActionWithCookie performs a post action with extra arguments
func (*Client4) DoUploadFile ¶
func (*Client4) DoUploadImportTeam ¶
func (*Client4) DownloadComplianceReport ¶
func (c *Client4) DownloadComplianceReport(ctx context.Context, reportId string) ([]byte, *Response, error)
DownloadComplianceReport returns a full compliance report as a file.
func (*Client4) DownloadExport ¶
func (*Client4) DownloadFile ¶
func (c *Client4) DownloadFile(ctx context.Context, fileId string, download bool) ([]byte, *Response, error)
DownloadFile gets the bytes for a file by id, optionally adding headers to force the browser to download it.
func (*Client4) DownloadFilePreview ¶
func (c *Client4) DownloadFilePreview(ctx context.Context, fileId string, download bool) ([]byte, *Response, error)
DownloadFilePreview gets the bytes for a file by id.
func (*Client4) DownloadFileThumbnail ¶
func (c *Client4) DownloadFileThumbnail(ctx context.Context, fileId string, download bool) ([]byte, *Response, error)
DownloadFileThumbnail gets the bytes for a file by id, optionally adding headers to force the browser to download it.
func (*Client4) DownloadJob ¶
DownloadJob downloads the results of the job
func (*Client4) DownloadLogs ¶ added in v0.1.5
Download logs as mattermost.log file
func (*Client4) EnablePlugin ¶
EnablePlugin will enable an plugin installed.
func (*Client4) EnableUserAccessToken ¶
EnableUserAccessToken will enable a user access token by id. Must have the 'create_user_access_token' permission and if enabling for another user, must have the 'edit_other_users' permission.
func (*Client4) ExecuteCommand ¶
func (c *Client4) ExecuteCommand(ctx context.Context, channelId, command string) (*CommandResponse, *Response, error)
ExecuteCommand executes a given slash command.
func (*Client4) ExecuteCommandWithTeam ¶
func (c *Client4) ExecuteCommandWithTeam(ctx context.Context, channelId, teamId, command string) (*CommandResponse, *Response, error)
ExecuteCommandWithTeam executes a given slash command against the specified team. Use this when executing slash commands in a DM/GM, since the team id cannot be inferred in that case.
func (*Client4) GenerateMfaSecret ¶
func (c *Client4) GenerateMfaSecret(ctx context.Context, userId string) (*MfaSecret, *Response, error)
GenerateMfaSecret will generate a new MFA secret for a user and return it as a string and as a base64 encoded image QR code.
func (*Client4) GeneratePresignedURL ¶ added in v0.0.7
func (*Client4) GenerateRemoteClusterInvite ¶ added in v0.1.5
func (*Client4) GenerateSupportPacket ¶
GenerateSupportPacket generates and downloads a Support Packet.
func (*Client4) GetActiveUsersInTeam ¶
func (c *Client4) GetActiveUsersInTeam(ctx context.Context, teamId string, page int, perPage int, etag string) ([]*User, *Response, error)
GetActiveUsersInTeam returns a page of users on a team. Page counting starts at 0.
func (*Client4) GetAllChannels ¶
func (c *Client4) GetAllChannels(ctx context.Context, page int, perPage int, etag string) (ChannelListWithTeamData, *Response, error)
GetAllChannels get all the channels. Must be a system administrator.
func (*Client4) GetAllChannelsExcludePolicyConstrained ¶
func (c *Client4) GetAllChannelsExcludePolicyConstrained(ctx context.Context, page, perPage int, etag string) (ChannelListWithTeamData, *Response, error)
GetAllChannelsExcludePolicyConstrained gets all channels which are not part of a data retention policy. Must be a system administrator.
func (*Client4) GetAllChannelsIncludeDeleted ¶
func (c *Client4) GetAllChannelsIncludeDeleted(ctx context.Context, page int, perPage int, etag string) (ChannelListWithTeamData, *Response, error)
GetAllChannelsIncludeDeleted get all the channels. Must be a system administrator.
func (*Client4) GetAllChannelsWithCount ¶
func (c *Client4) GetAllChannelsWithCount(ctx context.Context, page int, perPage int, etag string) (ChannelListWithTeamData, int64, *Response, error)
GetAllChannelsWithCount get all the channels including the total count. Must be a system administrator.
func (*Client4) GetAllRoles ¶
GetAllRoles returns a list of all the roles.
func (*Client4) GetAllSharedChannels ¶
func (*Client4) GetAllTeams ¶
func (c *Client4) GetAllTeams(ctx context.Context, etag string, page int, perPage int) ([]*Team, *Response, error)
GetAllTeams returns all teams based on permissions.
func (*Client4) GetAllTeamsExcludePolicyConstrained ¶
func (c *Client4) GetAllTeamsExcludePolicyConstrained(ctx context.Context, etag string, page int, perPage int) ([]*Team, *Response, error)
GetAllTeamsExcludePolicyConstrained returns all teams which are not part of a data retention policy. Must be a system administrator.
func (*Client4) GetAllTeamsWithTotalCount ¶
func (c *Client4) GetAllTeamsWithTotalCount(ctx context.Context, etag string, page int, perPage int) ([]*Team, int64, *Response, error)
GetAllTeamsWithTotalCount returns all teams based on permissions.
func (*Client4) GetAnalyticsOld ¶
func (c *Client4) GetAnalyticsOld(ctx context.Context, name, teamId string) (AnalyticsRows, *Response, error)
GetAnalyticsOld will retrieve analytics using the old format. New format is not available but the "/analytics" endpoint is reserved for it. The "name" argument is optional and defaults to "standard". The "teamId" argument is optional and will limit results to a specific team.
func (*Client4) GetAncillaryPermissions ¶
func (*Client4) GetAppliedSchemaMigrations ¶
func (*Client4) GetAudits ¶
func (c *Client4) GetAudits(ctx context.Context, page int, perPage int, etag string) (Audits, *Response, error)
GetAudits returns a list of audits for the whole system.
func (*Client4) GetAuthorizedOAuthAppsForUser ¶
func (c *Client4) GetAuthorizedOAuthAppsForUser(ctx context.Context, userId string, page, perPage int) ([]*OAuthApp, *Response, error)
GetAuthorizedOAuthAppsForUser gets a page of OAuth 2.0 client applications the user has authorized to use access their account.
func (*Client4) GetBotIncludeDeleted ¶
func (c *Client4) GetBotIncludeDeleted(ctx context.Context, userId string, etag string) (*Bot, *Response, error)
GetBotIncludeDeleted fetches the given bot, even if it is deleted.
func (*Client4) GetBots ¶
func (c *Client4) GetBots(ctx context.Context, page, perPage int, etag string) ([]*Bot, *Response, error)
GetBots fetches the given page of bots, excluding deleted.
func (*Client4) GetBotsIncludeDeleted ¶
func (c *Client4) GetBotsIncludeDeleted(ctx context.Context, page, perPage int, etag string) ([]*Bot, *Response, error)
GetBotsIncludeDeleted fetches the given page of bots, including deleted.
func (*Client4) GetBotsOrphaned ¶
func (c *Client4) GetBotsOrphaned(ctx context.Context, page, perPage int, etag string) ([]*Bot, *Response, error)
GetBotsOrphaned fetches the given page of bots, only including orphaned bots.
func (*Client4) GetBrandImage ¶
GetBrandImage retrieves the previously uploaded brand image.
func (*Client4) GetBulkReactions ¶
func (c *Client4) GetBulkReactions(ctx context.Context, postIds []string) (map[string][]*Reaction, *Response, error)
FetchBulkReactions returns a map of postIds and corresponding reactions
func (*Client4) GetChannel ¶
func (c *Client4) GetChannel(ctx context.Context, channelId, etag string) (*Channel, *Response, error)
GetChannel returns a channel based on the provided channel id string.
Example ¶
package main import ( "context" "fmt" "log" "os" "github.com/mattermost/mattermost/server/public/model" ) func main() { client := model.NewAPIv4Client(os.Getenv("MM_SERVICESETTINGS_SITEURL")) client.SetToken(os.Getenv("MM_AUTHTOKEN")) channelId := "channel_id" etag := "" channel, _, err := client.GetChannel(context.Background(), channelId, etag) if err != nil { log.Fatal(err) } fmt.Printf("Found channel with name %s\n", channel.Name) }
Output:
func (*Client4) GetChannelByName ¶
func (c *Client4) GetChannelByName(ctx context.Context, channelName, teamId string, etag string) (*Channel, *Response, error)
GetChannelByName returns a channel based on the provided channel name and team id strings.
Example ¶
package main import ( "context" "fmt" "log" "os" "github.com/mattermost/mattermost/server/public/model" ) func main() { client := model.NewAPIv4Client(os.Getenv("MM_SERVICESETTINGS_SITEURL")) client.SetToken(os.Getenv("MM_AUTHTOKEN")) channelName := "channel_name" teamId := "team_id" etag := "" channel, _, err := client.GetChannelByName(context.Background(), channelName, teamId, etag) if err != nil { log.Fatal(err) } fmt.Printf("Found channel %s with name %s\n", channel.Id, channel.Name) }
Output:
func (*Client4) GetChannelByNameForTeamName ¶
func (c *Client4) GetChannelByNameForTeamName(ctx context.Context, channelName, teamName string, etag string) (*Channel, *Response, error)
GetChannelByNameForTeamName returns a channel based on the provided channel name and team name strings.
Example ¶
package main import ( "context" "fmt" "log" "os" "github.com/mattermost/mattermost/server/public/model" ) func main() { client := model.NewAPIv4Client(os.Getenv("MM_SERVICESETTINGS_SITEURL")) client.SetToken(os.Getenv("MM_AUTHTOKEN")) channelName := "channel_name" teamName := "team_name" etag := "" channel, _, err := client.GetChannelByNameForTeamName(context.Background(), channelName, teamName, etag) if err != nil { log.Fatal(err) } fmt.Printf("Found channel %s with name %s\n", channel.Id, channel.Name) }
Output:
func (*Client4) GetChannelByNameForTeamNameIncludeDeleted ¶
func (c *Client4) GetChannelByNameForTeamNameIncludeDeleted(ctx context.Context, channelName, teamName string, etag string) (*Channel, *Response, error)
GetChannelByNameForTeamNameIncludeDeleted returns a channel based on the provided channel name and team name strings. Other then GetChannelByNameForTeamName it will also return deleted channels.
func (*Client4) GetChannelByNameIncludeDeleted ¶
func (c *Client4) GetChannelByNameIncludeDeleted(ctx context.Context, channelName, teamId string, etag string) (*Channel, *Response, error)
GetChannelByNameIncludeDeleted returns a channel based on the provided channel name and team id strings. Other then GetChannelByName it will also return deleted channels.
func (*Client4) GetChannelMember ¶
func (c *Client4) GetChannelMember(ctx context.Context, channelId, userId, etag string) (*ChannelMember, *Response, error)
GetChannelMember gets a channel member.
Example ¶
package main import ( "context" "fmt" "log" "os" "github.com/mattermost/mattermost/server/public/model" ) func main() { client := model.NewAPIv4Client(os.Getenv("MM_SERVICESETTINGS_SITEURL")) client.SetToken(os.Getenv("MM_AUTHTOKEN")) channelId := "channel_id" userId := "user_id" etag := "" member, _, err := client.GetChannelMember(context.Background(), channelId, userId, etag) if err != nil { log.Fatal(err) } fmt.Printf("Found channel member for user %s in channel %s having roles %s\n", userId, channelId, member.Roles) }
Output:
func (*Client4) GetChannelMemberCountsByGroup ¶
func (*Client4) GetChannelMembers ¶
func (c *Client4) GetChannelMembers(ctx context.Context, channelId string, page, perPage int, etag string) (ChannelMembers, *Response, error)
GetChannelMembers gets a page of channel members specific to a channel.
Example ¶
package main import ( "context" "fmt" "log" "os" "github.com/mattermost/mattermost/server/public/model" ) func main() { client := model.NewAPIv4Client(os.Getenv("MM_SERVICESETTINGS_SITEURL")) client.SetToken(os.Getenv("MM_AUTHTOKEN")) channelId := "channel_id" page := 0 perPage := 60 etag := "" members, _, err := client.GetChannelMembers(context.Background(), channelId, page, perPage, etag) if err != nil { log.Fatal(err) } fmt.Printf("Found %d channel members for channel %s\n", len(members), channelId) }
Output:
func (*Client4) GetChannelMembersByIds ¶
func (c *Client4) GetChannelMembersByIds(ctx context.Context, channelId string, userIds []string) (ChannelMembers, *Response, error)
GetChannelMembersByIds gets the channel members in a channel for a list of user ids.
Example ¶
package main import ( "context" "fmt" "log" "os" "github.com/mattermost/mattermost/server/public/model" ) func main() { client := model.NewAPIv4Client(os.Getenv("MM_SERVICESETTINGS_SITEURL")) client.SetToken(os.Getenv("MM_AUTHTOKEN")) channelId := "channel_id" usersIds := []string{"user_id_1", "user_id_2"} members, _, err := client.GetChannelMembersByIds(context.Background(), channelId, usersIds) if err != nil { log.Fatal(err) } fmt.Printf("Found %d channel members for channel %s\n", len(members), channelId) }
Output:
func (*Client4) GetChannelMembersForUser ¶
func (c *Client4) GetChannelMembersForUser(ctx context.Context, userId, teamId, etag string) (ChannelMembers, *Response, error)
GetChannelMembersForUser gets all the channel members for a user on a team.
Example ¶
package main import ( "context" "fmt" "log" "os" "github.com/mattermost/mattermost/server/public/model" ) func main() { client := model.NewAPIv4Client(os.Getenv("MM_SERVICESETTINGS_SITEURL")) client.SetToken(os.Getenv("MM_AUTHTOKEN")) userId := "user_id" teamId := "team_id" etag := "" members, _, err := client.GetChannelMembersForUser(context.Background(), userId, teamId, etag) if err != nil { log.Fatal(err) } fmt.Printf("Found %d channel members for user %s on team %s\n", len(members), userId, teamId) }
Output:
func (*Client4) GetChannelMembersTimezones ¶
func (c *Client4) GetChannelMembersTimezones(ctx context.Context, channelId string) ([]string, *Response, error)
GetChannelMembersTimezones gets a list of timezones for a channel.
Example ¶
package main import ( "context" "fmt" "log" "os" "github.com/mattermost/mattermost/server/public/model" ) func main() { client := model.NewAPIv4Client(os.Getenv("MM_SERVICESETTINGS_SITEURL")) client.SetToken(os.Getenv("MM_AUTHTOKEN")) channelId := "channel_id" memberTimezones, _, err := client.GetChannelMembersTimezones(context.Background(), channelId) if err != nil { log.Fatal(err) } fmt.Printf("Found %d timezones used by members of the channel %s\n", len(memberTimezones), channelId) }
Output:
func (*Client4) GetChannelMembersWithTeamData ¶
func (c *Client4) GetChannelMembersWithTeamData(ctx context.Context, userID string, page, perPage int) (ChannelMembersWithTeamData, *Response, error)
GetChannelMembersWithTeamData gets a page of all channel members for a user.
func (*Client4) GetChannelModerations ¶
func (*Client4) GetChannelPoliciesForUser ¶
func (c *Client4) GetChannelPoliciesForUser(ctx context.Context, userID string, offset, limit int) (*RetentionPolicyForChannelList, *Response, error)
GetChannelPoliciesForUser will get the data retention policies for the channels to which a user belongs.
func (*Client4) GetChannelStats ¶
func (c *Client4) GetChannelStats(ctx context.Context, channelId string, etag string, excludeFilesCount bool) (*ChannelStats, *Response, error)
GetChannelStats returns statistics for a channel.
Example ¶
package main import ( "context" "fmt" "log" "os" "github.com/mattermost/mattermost/server/public/model" ) func main() { client := model.NewAPIv4Client(os.Getenv("MM_SERVICESETTINGS_SITEURL")) client.SetToken(os.Getenv("MM_AUTHTOKEN")) channelId := "channel_id" etag := "" excludeFilesCount := true stats, _, err := client.GetChannelStats(context.Background(), channelId, etag, excludeFilesCount) if err != nil { log.Fatal(err) } fmt.Printf("Found %d members and %d guests in channel %s\n", stats.MemberCount, stats.GuestCount, channelId) }
Output:
func (*Client4) GetChannelUnread ¶
func (c *Client4) GetChannelUnread(ctx context.Context, channelId, userId string) (*ChannelUnread, *Response, error)
GetChannelUnread will return a ChannelUnread object that contains the number of unread messages and mentions for a user.
Example ¶
package main import ( "context" "fmt" "log" "os" "github.com/mattermost/mattermost/server/public/model" ) func main() { client := model.NewAPIv4Client(os.Getenv("MM_SERVICESETTINGS_SITEURL")) client.SetToken(os.Getenv("MM_AUTHTOKEN")) channelId := "channel_id" userId := "user_id" channelUnread, _, err := client.GetChannelUnread(context.Background(), channelId, userId) if err != nil { log.Fatal(err) } fmt.Printf("Found %d unread messages with %d mentions for user %s in channel %s\n", channelUnread.MentionCount, channelUnread.MentionCount, userId, channelId) }
Output:
func (*Client4) GetChannelsForRetentionPolicy ¶
func (c *Client4) GetChannelsForRetentionPolicy(ctx context.Context, policyID string, page, perPage int) (*ChannelsWithCount, *Response, error)
GetChannelsForRetentionPolicy will get the channels to which the specified policy is currently applied.
func (*Client4) GetChannelsForScheme ¶
func (c *Client4) GetChannelsForScheme(ctx context.Context, schemeId string, page int, perPage int) (ChannelList, *Response, error)
GetChannelsForScheme gets the channels using this scheme, sorted alphabetically by display name.
func (*Client4) GetChannelsForTeamAndUserWithLastDeleteAt ¶
func (c *Client4) GetChannelsForTeamAndUserWithLastDeleteAt(ctx context.Context, teamId, userId string, includeDeleted bool, lastDeleteAt int, etag string) ([]*Channel, *Response, error)
GetChannelsForTeamAndUserWithLastDeleteAt returns a list channels of a team for a user, additionally filtered with lastDeleteAt. This does not have any effect if includeDeleted is set to false.
func (*Client4) GetChannelsForTeamForUser ¶
func (c *Client4) GetChannelsForTeamForUser(ctx context.Context, teamId, userId string, includeDeleted bool, etag string) ([]*Channel, *Response, error)
GetChannelsForTeamForUser returns a list channels of on a team for a user.
Example ¶
package main import ( "context" "fmt" "log" "os" "github.com/mattermost/mattermost/server/public/model" ) func main() { client := model.NewAPIv4Client(os.Getenv("MM_SERVICESETTINGS_SITEURL")) client.SetToken(os.Getenv("MM_AUTHTOKEN")) userId := "user_id" teamId := "team_id" includeDeleted := false etag := "" channels, _, err := client.GetChannelsForTeamForUser(context.Background(), teamId, userId, includeDeleted, etag) if err != nil { log.Fatal(err) } fmt.Printf("Found %d channels for user %s on team %s\n", len(channels), userId, teamId) }
Output:
func (*Client4) GetChannelsForUserWithLastDeleteAt ¶
func (c *Client4) GetChannelsForUserWithLastDeleteAt(ctx context.Context, userID string, lastDeleteAt int) ([]*Channel, *Response, error)
GetChannelsForUserWithLastDeleteAt returns a list channels for a user, additionally filtered with lastDeleteAt.
Example ¶
package main import ( "context" "fmt" "log" "os" "github.com/mattermost/mattermost/server/public/model" ) func main() { client := model.NewAPIv4Client(os.Getenv("MM_SERVICESETTINGS_SITEURL")) client.SetToken(os.Getenv("MM_AUTHTOKEN")) userId := "user_id" lastDeleteAt := 0 channels, _, err := client.GetChannelsForUserWithLastDeleteAt(context.Background(), userId, lastDeleteAt) if err != nil { log.Fatal(err) } fmt.Printf("Found %d channels for user %s, with last delete at %d\n", len(channels), userId, lastDeleteAt) }
Output:
func (*Client4) GetChannelsMemberCount ¶ added in v0.0.7
func (c *Client4) GetChannelsMemberCount(ctx context.Context, channelIDs []string) (map[string]int64, *Response, error)
GetChannelsMemberCount get channel member count for a given array of channel ids
func (*Client4) GetCloudCustomer ¶
func (*Client4) GetCloudProducts ¶
func (*Client4) GetClusterStatus ¶
GetClusterStatus returns the status of all the configured cluster nodes.
func (*Client4) GetCommandById ¶
GetCommandById will retrieve a command by id.
func (*Client4) GetComplianceReport ¶
func (c *Client4) GetComplianceReport(ctx context.Context, reportId string) (*Compliance, *Response, error)
GetComplianceReport returns a compliance report.
func (*Client4) GetComplianceReports ¶
func (c *Client4) GetComplianceReports(ctx context.Context, page, perPage int) (Compliances, *Response, error)
GetComplianceReports returns list of compliance reports.
func (*Client4) GetDataRetentionPolicies ¶
func (c *Client4) GetDataRetentionPolicies(ctx context.Context, page, perPage int) (*RetentionPolicyWithTeamAndChannelCountsList, *Response, error)
GetDataRetentionPolicies will get the current granular data retention policies' details.
func (*Client4) GetDataRetentionPoliciesCount ¶
GetDataRetentionPoliciesCount will get the total number of granular data retention policies.
func (*Client4) GetDataRetentionPolicy ¶
func (c *Client4) GetDataRetentionPolicy(ctx context.Context) (*GlobalRetentionPolicy, *Response, error)
GetDataRetentionPolicy will get the current global data retention policy details.
func (*Client4) GetDataRetentionPolicyByID ¶
func (c *Client4) GetDataRetentionPolicyByID(ctx context.Context, policyID string) (*RetentionPolicyWithTeamAndChannelCounts, *Response, error)
GetDataRetentionPolicyByID will get the details for the granular data retention policy with the specified ID.
func (*Client4) GetDefaultProfileImage ¶
func (c *Client4) GetDefaultProfileImage(ctx context.Context, userId string) ([]byte, *Response, error)
GetDefaultProfileImage gets the default user's profile image. Must be logged in.
func (*Client4) GetDeletedChannelsForTeam ¶
func (c *Client4) GetDeletedChannelsForTeam(ctx context.Context, teamId string, page int, perPage int, etag string) ([]*Channel, *Response, error)
GetDeletedChannelsForTeam returns a list of public channels based on the provided team id string.
func (*Client4) GetDrafts ¶
func (c *Client4) GetDrafts(ctx context.Context, userId, teamId string) ([]*Draft, *Response, error)
GetDrafts will get all drafts for a user
func (*Client4) GetEditHistoryForPost ¶
func (c *Client4) GetEditHistoryForPost(ctx context.Context, postId string) ([]*Post, *Response, error)
GetEditHistoryForPost gets a list of posts by taking a post ids
func (*Client4) GetEmojiByName ¶
GetEmojiByName returns a custom emoji based on the name string.
func (*Client4) GetEmojiImage ¶
GetEmojiImage returns the emoji image.
func (*Client4) GetEmojiList ¶
GetEmojiList returns a page of custom emoji on the system.
func (*Client4) GetEmojisByNames ¶ added in v0.0.10
func (c *Client4) GetEmojisByNames(ctx context.Context, names []string) ([]*Emoji, *Response, error)
GetEmojisByNames takes an array of custom emoji names and returns an array of those emojis.
func (*Client4) GetEnvironmentConfig ¶
GetEnvironmentConfig will retrieve a map mirroring the server configuration where fields are set to true if the corresponding config setting is set through an environment variable. Settings that haven't been set through environment variables will be missing from the map.
func (*Client4) GetFileInfo ¶
GetFileInfo gets all the file info objects.
func (*Client4) GetFileInfosForPost ¶
func (c *Client4) GetFileInfosForPost(ctx context.Context, postId string, etag string) ([]*FileInfo, *Response, error)
GetFileInfosForPost gets all the file info objects attached to a post.
func (*Client4) GetFileInfosForPostIncludeDeleted ¶
func (c *Client4) GetFileInfosForPostIncludeDeleted(ctx context.Context, postId string, etag string) ([]*FileInfo, *Response, error)
GetFileInfosForPost gets all the file info objects attached to a post, including deleted
func (*Client4) GetFileLink ¶
GetFileLink gets the public link of a file by id.
func (*Client4) GetFilePreview ¶
GetFilePreview gets the bytes for a file by id.
func (*Client4) GetFileThumbnail ¶
GetFileThumbnail gets the bytes for a file by id.
func (*Client4) GetFilteredUsersStats ¶ added in v0.1.8
func (c *Client4) GetFilteredUsersStats(ctx context.Context, options *UserCountOptions) (*UsersStats, *Response, error)
func (*Client4) GetFlaggedPostsForUser ¶
func (c *Client4) GetFlaggedPostsForUser(ctx context.Context, userId string, page int, perPage int) (*PostList, *Response, error)
GetFlaggedPostsForUser returns flagged posts of a user based on user id string.
func (*Client4) GetFlaggedPostsForUserInChannel ¶
func (c *Client4) GetFlaggedPostsForUserInChannel(ctx context.Context, userId string, channelId string, page int, perPage int) (*PostList, *Response, error)
GetFlaggedPostsForUserInChannel returns flagged posts in channel of a user based on user id string.
func (*Client4) GetFlaggedPostsForUserInTeam ¶
func (c *Client4) GetFlaggedPostsForUserInTeam(ctx context.Context, userId string, teamId string, page int, perPage int) (*PostList, *Response, error)
GetFlaggedPostsForUserInTeam returns flagged posts in team of a user based on user id string.
func (*Client4) GetGroupMembers ¶ added in v0.0.18
func (*Client4) GetGroupStats ¶
func (c *Client4) GetGroupStats(ctx context.Context, groupID string) (*GroupStats, *Response, error)
GetGroupStats retrieves stats for a Mattermost Group
func (*Client4) GetGroupSyncable ¶
func (c *Client4) GetGroupSyncable(ctx context.Context, groupID, syncableID string, syncableType GroupSyncableType, etag string) (*GroupSyncable, *Response, error)
func (*Client4) GetGroupSyncables ¶
func (c *Client4) GetGroupSyncables(ctx context.Context, groupID string, syncableType GroupSyncableType, etag string) ([]*GroupSyncable, *Response, error)
func (*Client4) GetGroupsAssociatedToChannelsByTeam ¶
func (c *Client4) GetGroupsAssociatedToChannelsByTeam(ctx context.Context, teamId string, opts GroupSearchOpts) (map[string][]*GroupWithSchemeAdmin, *Response, error)
GetGroupsAssociatedToChannelsByTeam retrieves the Mattermost Groups associated with channels in a given team
func (*Client4) GetGroupsByChannel ¶
func (c *Client4) GetGroupsByChannel(ctx context.Context, channelId string, opts GroupSearchOpts) ([]*GroupWithSchemeAdmin, int, *Response, error)
GetGroupsByChannel retrieves the Mattermost Groups associated with a given channel
func (*Client4) GetGroupsByTeam ¶
func (c *Client4) GetGroupsByTeam(ctx context.Context, teamId string, opts GroupSearchOpts) ([]*GroupWithSchemeAdmin, int, *Response, error)
GetGroupsByTeam retrieves the Mattermost Groups associated with a given team
func (*Client4) GetGroupsByUserId ¶
func (c *Client4) GetGroupsByUserId(ctx context.Context, userId string) ([]*Group, *Response, error)
GetGroupsByUserId retrieves Mattermost Groups for a user
func (*Client4) GetIPFilters ¶ added in v0.0.11
func (*Client4) GetIncomingWebhook ¶
func (c *Client4) GetIncomingWebhook(ctx context.Context, hookID string, etag string) (*IncomingWebhook, *Response, error)
GetIncomingWebhook returns an Incoming webhook given the hook ID.
func (*Client4) GetIncomingWebhooks ¶
func (c *Client4) GetIncomingWebhooks(ctx context.Context, page int, perPage int, etag string) ([]*IncomingWebhook, *Response, error)
GetIncomingWebhooks returns a page of incoming webhooks on the system. Page counting starts at 0.
func (*Client4) GetIncomingWebhooksForTeam ¶
func (c *Client4) GetIncomingWebhooksForTeam(ctx context.Context, teamId string, page int, perPage int, etag string) ([]*IncomingWebhook, *Response, error)
GetIncomingWebhooksForTeam returns a page of incoming webhooks for a team. Page counting starts at 0.
func (*Client4) GetIncomingWebhooksWithCount ¶ added in v0.1.7
func (c *Client4) GetIncomingWebhooksWithCount(ctx context.Context, page int, perPage int, etag string) (*IncomingWebhooksWithCount, *Response, error)
GetIncomingWebhooksWithCount returns a page of incoming webhooks on the system including the total count. Page counting starts at 0.
func (*Client4) GetInvoicesForSubscription ¶
func (*Client4) GetJobs ¶
func (c *Client4) GetJobs(ctx context.Context, jobType string, status string, page int, perPage int) ([]*Job, *Response, error)
GetJobs gets all jobs, sorted with the job that was created most recently first.
func (*Client4) GetJobsByType ¶
func (c *Client4) GetJobsByType(ctx context.Context, jobType string, page int, perPage int) ([]*Job, *Response, error)
GetJobsByType gets all jobs of a given type, sorted with the job that was created most recently first.
func (*Client4) GetKnownUsers ¶
func (*Client4) GetLdapGroups ¶
GetLdapGroups retrieves the immediate child groups of the given parent group.
func (*Client4) GetMarketplacePlugins ¶
func (c *Client4) GetMarketplacePlugins(ctx context.Context, filter *MarketplacePluginFilter) ([]*MarketplacePlugin, *Response, error)
GetMarketplacePlugins will return a list of plugins that an admin can install.
func (*Client4) GetNewUsersInTeam ¶
func (c *Client4) GetNewUsersInTeam(ctx context.Context, teamId string, page int, perPage int, etag string) ([]*User, *Response, error)
GetNewUsersInTeam returns a page of users on a team. Page counting starts at 0.
func (*Client4) GetNotices ¶
func (c *Client4) GetNotices(ctx context.Context, lastViewed int64, teamId string, client NoticeClientType, clientVersion, locale, etag string) (NoticeMessages, *Response, error)
func (*Client4) GetOAuthAccessToken ¶
func (c *Client4) GetOAuthAccessToken(ctx context.Context, data url.Values) (*AccessResponse, *Response, error)
GetOAuthAccessToken is a test helper function for the OAuth access token endpoint.
func (*Client4) GetOAuthApp ¶
GetOAuthApp gets a registered OAuth 2.0 client application with Mattermost acting as an OAuth 2.0 service provider.
func (*Client4) GetOAuthAppInfo ¶
GetOAuthAppInfo gets a sanitized version of a registered OAuth 2.0 client application with Mattermost acting as an OAuth 2.0 service provider.
func (*Client4) GetOAuthApps ¶
func (c *Client4) GetOAuthApps(ctx context.Context, page, perPage int) ([]*OAuthApp, *Response, error)
GetOAuthApps gets a page of registered OAuth 2.0 client applications with Mattermost acting as an OAuth 2.0 service provider.
func (*Client4) GetOldClientConfig ¶
func (c *Client4) GetOldClientConfig(ctx context.Context, etag string) (map[string]string, *Response, error)
GetOldClientConfig will retrieve the parts of the server configuration needed by the client, formatted in the old format.
func (*Client4) GetOldClientLicense ¶
func (c *Client4) GetOldClientLicense(ctx context.Context, etag string) (map[string]string, *Response, error)
GetOldClientLicense will retrieve the parts of the server license needed by the client, formatted in the old format.
func (*Client4) GetOutgoingOAuthConnection ¶ added in v0.0.13
func (c *Client4) GetOutgoingOAuthConnection(ctx context.Context, id string) (*OutgoingOAuthConnection, *Response, error)
GetOutgoingOAuthConnection retrieves the outgoing OAuth connection with the given ID.
func (*Client4) GetOutgoingOAuthConnections ¶ added in v0.0.13
func (c *Client4) GetOutgoingOAuthConnections(ctx context.Context, filters OutgoingOAuthConnectionGetConnectionsFilter) ([]*OutgoingOAuthConnection, *Response, error)
GetOutgoingOAuthConnections retrieves the outgoing OAuth connections.
func (*Client4) GetOutgoingWebhook ¶
func (c *Client4) GetOutgoingWebhook(ctx context.Context, hookId string) (*OutgoingWebhook, *Response, error)
GetOutgoingWebhook outgoing webhooks on the system requested by Hook Id.
func (*Client4) GetOutgoingWebhooks ¶
func (c *Client4) GetOutgoingWebhooks(ctx context.Context, page int, perPage int, etag string) ([]*OutgoingWebhook, *Response, error)
GetOutgoingWebhooks returns a page of outgoing webhooks on the system. Page counting starts at 0.
func (*Client4) GetOutgoingWebhooksForChannel ¶
func (c *Client4) GetOutgoingWebhooksForChannel(ctx context.Context, channelId string, page int, perPage int, etag string) ([]*OutgoingWebhook, *Response, error)
GetOutgoingWebhooksForChannel returns a page of outgoing webhooks for a channel. Page counting starts at 0.
func (*Client4) GetOutgoingWebhooksForTeam ¶
func (c *Client4) GetOutgoingWebhooksForTeam(ctx context.Context, teamId string, page int, perPage int, etag string) ([]*OutgoingWebhook, *Response, error)
GetOutgoingWebhooksForTeam returns a page of outgoing webhooks for a team. Page counting starts at 0.
func (*Client4) GetPing ¶
GetPing will return ok if the running goRoutines are below the threshold and unhealthy for above. DEPRECATED: Use GetPingWithOptions method instead.
func (*Client4) GetPingWithFullServerStatus ¶
func (c *Client4) GetPingWithFullServerStatus(ctx context.Context) (map[string]string, *Response, error)
GetPingWithFullServerStatus will return the full status if several basic server health checks all pass successfully. DEPRECATED: Use GetPingWithOptions method instead.
func (*Client4) GetPingWithOptions ¶ added in v0.0.15
func (c *Client4) GetPingWithOptions(ctx context.Context, options SystemPingOptions) (map[string]string, *Response, error)
GetPingWithOptions will return the status according to the options
func (*Client4) GetPingWithServerStatus ¶
GetPingWithServerStatus will return ok if several basic server health checks all pass successfully. DEPRECATED: Use GetPingWithOptions method instead.
func (*Client4) GetPinnedPosts ¶
func (c *Client4) GetPinnedPosts(ctx context.Context, channelId string, etag string) (*PostList, *Response, error)
GetPinnedPosts gets a list of pinned posts.
Example ¶
package main import ( "context" "fmt" "log" "os" "github.com/mattermost/mattermost/server/public/model" ) func main() { client := model.NewAPIv4Client(os.Getenv("MM_SERVICESETTINGS_SITEURL")) client.SetToken(os.Getenv("MM_AUTHTOKEN")) channelId := "channel_id" etag := "" posts, _, err := client.GetPinnedPosts(context.Background(), channelId, etag) if err != nil { log.Fatal(err) } fmt.Printf("Found %d pinned posts for channel %s\n", len(posts.Posts), channelId) }
Output:
func (*Client4) GetPluginStatuses ¶
GetPluginStatuses will return the plugins installed on any server in the cluster, for reporting to the administrator via the system console.
func (*Client4) GetPlugins ¶
GetPlugins will return a list of plugin manifests for currently active plugins.
func (*Client4) GetPost ¶
func (c *Client4) GetPost(ctx context.Context, postId string, etag string) (*Post, *Response, error)
GetPost gets a single post.
func (*Client4) GetPostIncludeDeleted ¶
func (c *Client4) GetPostIncludeDeleted(ctx context.Context, postId string, etag string) (*Post, *Response, error)
GetPostIncludeDeleted gets a single post, including deleted.
func (*Client4) GetPostInfo ¶
func (*Client4) GetPostThread ¶
func (c *Client4) GetPostThread(ctx context.Context, postId string, etag string, collapsedThreads bool) (*PostList, *Response, error)
GetPostThread gets a post with all the other posts in the same thread.
func (*Client4) GetPostThreadWithOpts ¶
func (c *Client4) GetPostThreadWithOpts(ctx context.Context, postID string, etag string, opts GetPostsOptions) (*PostList, *Response, error)
GetPostThreadWithOpts gets a post with all the other posts in the same thread.
func (*Client4) GetPostsAfter ¶
func (c *Client4) GetPostsAfter(ctx context.Context, channelId, postId string, page, perPage int, etag string, collapsedThreads bool, includeDeleted bool) (*PostList, *Response, error)
GetPostsAfter gets a page of posts that were posted after the post provided.
func (*Client4) GetPostsAroundLastUnread ¶
func (c *Client4) GetPostsAroundLastUnread(ctx context.Context, userId, channelId string, limitBefore, limitAfter int, collapsedThreads bool) (*PostList, *Response, error)
GetPostsAroundLastUnread gets a list of posts around last unread post by a user in a channel.
func (*Client4) GetPostsBefore ¶
func (c *Client4) GetPostsBefore(ctx context.Context, channelId, postId string, page, perPage int, etag string, collapsedThreads bool, includeDeleted bool) (*PostList, *Response, error)
GetPostsBefore gets a page of posts that were posted before the post provided.
func (*Client4) GetPostsByIds ¶
GetPostsByIds gets a list of posts by taking an array of post ids
func (*Client4) GetPostsForChannel ¶
func (c *Client4) GetPostsForChannel(ctx context.Context, channelId string, page, perPage int, etag string, collapsedThreads bool, includeDeleted bool) (*PostList, *Response, error)
GetPostsForChannel gets a page of posts with an array for ordering for a channel.
func (*Client4) GetPostsSince ¶
func (c *Client4) GetPostsSince(ctx context.Context, channelId string, time int64, collapsedThreads bool) (*PostList, *Response, error)
GetPostsSince gets posts created after a specified time as Unix time in milliseconds.
func (*Client4) GetPostsUsage ¶
GetPostsUsage returns rounded off total usage of posts for the instance
func (*Client4) GetPreferenceByCategoryAndName ¶
func (c *Client4) GetPreferenceByCategoryAndName(ctx context.Context, userId string, category string, preferenceName string) (*Preference, *Response, error)
GetPreferenceByCategoryAndName returns the user's preferences from the provided category and preference name string.
func (*Client4) GetPreferences ¶
func (c *Client4) GetPreferences(ctx context.Context, userId string) (Preferences, *Response, error)
GetPreferences returns the user's preferences.
func (*Client4) GetPreferencesByCategory ¶
func (c *Client4) GetPreferencesByCategory(ctx context.Context, userId string, category string) (Preferences, *Response, error)
GetPreferencesByCategory returns the user's preferences from the provided category string.
func (*Client4) GetPrivateChannelsForTeam ¶
func (c *Client4) GetPrivateChannelsForTeam(ctx context.Context, teamId string, page int, perPage int, etag string) ([]*Channel, *Response, error)
GetPrivateChannelsForTeam returns a list of private channels based on the provided team id string.
Example ¶
package main import ( "context" "fmt" "log" "os" "github.com/mattermost/mattermost/server/public/model" ) func main() { client := model.NewAPIv4Client(os.Getenv("MM_SERVICESETTINGS_SITEURL")) client.SetToken(os.Getenv("MM_AUTHTOKEN")) teamId := "team_id" page := 0 perPage := 100 etag := "" channels, _, err := client.GetPrivateChannelsForTeam(context.Background(), teamId, page, perPage, etag) if err != nil { log.Fatal(err) } fmt.Printf("Found %d private channels for team %s\n", len(channels), teamId) }
Output:
func (*Client4) GetProductLimits ¶
func (*Client4) GetProfileImage ¶
func (c *Client4) GetProfileImage(ctx context.Context, userId, etag string) ([]byte, *Response, error)
GetProfileImage gets user's profile image. Must be logged in.
func (*Client4) GetPublicChannelsByIdsForTeam ¶
func (c *Client4) GetPublicChannelsByIdsForTeam(ctx context.Context, teamId string, channelIds []string) ([]*Channel, *Response, error)
GetPublicChannelsByIdsForTeam returns a list of public channels based on provided team id string.
Example ¶
package main import ( "context" "fmt" "log" "os" "github.com/mattermost/mattermost/server/public/model" ) func main() { client := model.NewAPIv4Client(os.Getenv("MM_SERVICESETTINGS_SITEURL")) client.SetToken(os.Getenv("MM_AUTHTOKEN")) teamId := "team_id" channelIds := []string{"channel_id_1", "channel_id_2"} channels, _, err := client.GetPublicChannelsByIdsForTeam(context.Background(), teamId, channelIds) if err != nil { log.Fatal(err) } fmt.Printf("Found %d channels\n", len(channels)) }
Output:
func (*Client4) GetPublicChannelsForTeam ¶
func (c *Client4) GetPublicChannelsForTeam(ctx context.Context, teamId string, page int, perPage int, etag string) ([]*Channel, *Response, error)
GetPublicChannelsForTeam returns a list of public channels based on the provided team id string.
Example ¶
package main import ( "context" "fmt" "log" "os" "github.com/mattermost/mattermost/server/public/model" ) func main() { client := model.NewAPIv4Client(os.Getenv("MM_SERVICESETTINGS_SITEURL")) client.SetToken(os.Getenv("MM_AUTHTOKEN")) teamId := "team_id" page := 0 perPage := 100 etag := "" channels, _, err := client.GetPublicChannelsForTeam(context.Background(), teamId, page, perPage, etag) if err != nil { log.Fatal(err) } fmt.Printf("Found %d public channels for team %s\n", len(channels), teamId) }
Output:
func (*Client4) GetReactions ¶
GetReactions returns a list of reactions to a post.
func (*Client4) GetRecentlyActiveUsersInTeam ¶
func (c *Client4) GetRecentlyActiveUsersInTeam(ctx context.Context, teamId string, page int, perPage int, etag string) ([]*User, *Response, error)
GetRecentlyActiveUsersInTeam returns a page of users on a team. Page counting starts at 0.
func (*Client4) GetRedirectLocation ¶
func (c *Client4) GetRedirectLocation(ctx context.Context, urlParam, etag string) (string, *Response, error)
GetRedirectLocation retrieves the value of the 'Location' header of an HTTP response for a given URL.
func (*Client4) GetRemoteCluster ¶ added in v0.1.5
func (*Client4) GetRemoteClusterInfo ¶
func (*Client4) GetRemoteClusters ¶ added in v0.1.5
func (c *Client4) GetRemoteClusters(ctx context.Context, page, perPage int, filter RemoteClusterQueryFilter) ([]*RemoteCluster, *Response, error)
func (*Client4) GetRoleByName ¶
GetRoleByName gets a single role by Name.
func (*Client4) GetRolesByNames ¶
func (c *Client4) GetRolesByNames(ctx context.Context, roleNames []string) ([]*Role, *Response, error)
GetRolesByNames returns a list of roles based on the provided role names.
func (*Client4) GetSamlCertificateStatus ¶
func (c *Client4) GetSamlCertificateStatus(ctx context.Context) (*SamlCertificateStatus, *Response, error)
GetSamlCertificateStatus returns metadata for the SAML configuration.
func (*Client4) GetSamlMetadata ¶
GetSamlMetadata returns metadata for the SAML configuration.
func (*Client4) GetSamlMetadataFromIdp ¶
func (*Client4) GetSchemes ¶
func (c *Client4) GetSchemes(ctx context.Context, scope string, page int, perPage int) ([]*Scheme, *Response, error)
GetSchemes ets all schemes, sorted with the most recently created first, optionally filtered by scope.
func (*Client4) GetSelfHostedProducts ¶
func (*Client4) GetServerBusy ¶
GetServerBusy returns the current ServerBusyState including the time when a server marked busy will automatically have the flag cleared.
func (*Client4) GetServerLimits ¶ added in v0.1.1
func (*Client4) GetSessions ¶
func (c *Client4) GetSessions(ctx context.Context, userId, etag string) ([]*Session, *Response, error)
GetSessions returns a list of sessions based on the provided user id string.
func (*Client4) GetSharedChannelRemotesByRemoteCluster ¶ added in v0.1.7
func (c *Client4) GetSharedChannelRemotesByRemoteCluster(ctx context.Context, remoteId string, filter SharedChannelRemoteFilterOpts, page, perPage int) ([]*SharedChannelRemote, *Response, error)
func (*Client4) GetSidebarCategoriesForTeamForUser ¶
func (*Client4) GetSidebarCategoryForTeamForUser ¶
func (*Client4) GetSidebarCategoryOrderForTeamForUser ¶
func (*Client4) GetSortedEmojiList ¶
func (c *Client4) GetSortedEmojiList(ctx context.Context, page, perPage int, sort string) ([]*Emoji, *Response, error)
GetSortedEmojiList returns a page of custom emoji on the system sorted based on the sort parameter, blank for no sorting and "name" to sort by emoji names.
func (*Client4) GetStorageUsage ¶
GetStorageUsage returns the file storage usage for the instance, rounded down the most signigicant digit
func (*Client4) GetSubscription ¶
func (*Client4) GetSupportedTimezone ¶
GetSupportedTimezone returns a page of supported timezones on the system.
func (*Client4) GetTeamByName ¶
GetTeamByName returns a team based on the provided team name string.
func (*Client4) GetTeamIcon ¶
GetTeamIcon gets the team icon of the team.
func (*Client4) GetTeamInviteInfo ¶
GetTeamInviteInfo returns a team object from an invite id containing sanitized information.
func (*Client4) GetTeamMember ¶
func (c *Client4) GetTeamMember(ctx context.Context, teamId, userId, etag string) (*TeamMember, *Response, error)
GetTeamMember returns a team member based on the provided team and user id strings.
func (*Client4) GetTeamMembers ¶
func (c *Client4) GetTeamMembers(ctx context.Context, teamId string, page int, perPage int, etag string) ([]*TeamMember, *Response, error)
GetTeamMembers returns team members based on the provided team id string.
func (*Client4) GetTeamMembersByIds ¶
func (c *Client4) GetTeamMembersByIds(ctx context.Context, teamId string, userIds []string) ([]*TeamMember, *Response, error)
GetTeamMembersByIds will return an array of team members based on the team id and a list of user ids provided. Must be authenticated.
func (*Client4) GetTeamMembersForUser ¶
func (c *Client4) GetTeamMembersForUser(ctx context.Context, userId string, etag string) ([]*TeamMember, *Response, error)
GetTeamMembersForUser returns the team members for a user.
func (*Client4) GetTeamMembersSortAndWithoutDeletedUsers ¶
func (c *Client4) GetTeamMembersSortAndWithoutDeletedUsers(ctx context.Context, teamId string, page int, perPage int, sort string, excludeDeletedUsers bool, etag string) ([]*TeamMember, *Response, error)
GetTeamMembersWithoutDeletedUsers returns team members based on the provided team id string. Additional parameters of sort and exclude_deleted_users accepted as well Could not add it to above function due to it be a breaking change.
func (*Client4) GetTeamPoliciesForUser ¶
func (c *Client4) GetTeamPoliciesForUser(ctx context.Context, userID string, offset, limit int) (*RetentionPolicyForTeamList, *Response, error)
GetTeamPoliciesForUser will get the data retention policies for the teams to which a user belongs.
func (*Client4) GetTeamStats ¶
func (c *Client4) GetTeamStats(ctx context.Context, teamId, etag string) (*TeamStats, *Response, error)
GetTeamStats returns a team stats based on the team id string. Must be authenticated.
func (*Client4) GetTeamUnread ¶
func (c *Client4) GetTeamUnread(ctx context.Context, teamId, userId string) (*TeamUnread, *Response, error)
GetTeamUnread will return a TeamUnread object that contains the amount of unread messages and mentions the user has for the specified team. Must be authenticated.
func (*Client4) GetTeamsForRetentionPolicy ¶
func (c *Client4) GetTeamsForRetentionPolicy(ctx context.Context, policyID string, page, perPage int) (*TeamsWithCount, *Response, error)
GetTeamsForRetentionPolicy will get the teams to which the specified policy is currently applied.
func (*Client4) GetTeamsForScheme ¶
func (c *Client4) GetTeamsForScheme(ctx context.Context, schemeId string, page int, perPage int) ([]*Team, *Response, error)
GetTeamsForScheme gets the teams using this scheme, sorted alphabetically by display name.
func (*Client4) GetTeamsForUser ¶
func (c *Client4) GetTeamsForUser(ctx context.Context, userId, etag string) ([]*Team, *Response, error)
GetTeamsForUser returns a list of teams a user is on. Must be logged in as the user or be a system administrator.
func (*Client4) GetTeamsUnreadForUser ¶
func (c *Client4) GetTeamsUnreadForUser(ctx context.Context, userId, teamIdToExclude string, includeCollapsedThreads bool) ([]*TeamUnread, *Response, error)
GetTeamsUnreadForUser will return an array with TeamUnread objects that contain the amount of unread messages and mentions the current user has for the teams it belongs to. An optional team ID can be set to exclude that team from the results. An optional boolean can be set to include collapsed thread unreads. Must be authenticated.
func (*Client4) GetTeamsUsage ¶
GetTeamsUsage returns total usage of teams for the instance
func (*Client4) GetTermsOfService ¶
func (c *Client4) GetTermsOfService(ctx context.Context, etag string) (*TermsOfService, *Response, error)
GetTermsOfService fetches the latest terms of service
func (*Client4) GetTotalUsersStats ¶
func (c *Client4) GetTotalUsersStats(ctx context.Context, etag string) (*UsersStats, *Response, error)
GetTotalUsersStats returns a total system user stats. Must be authenticated.
func (*Client4) GetUpload ¶
func (c *Client4) GetUpload(ctx context.Context, uploadId string) (*UploadSession, *Response, error)
GetUpload returns the upload session for the specified uploadId.
func (*Client4) GetUploadsForUser ¶
func (c *Client4) GetUploadsForUser(ctx context.Context, userId string) ([]*UploadSession, *Response, error)
GetUploadsForUser returns the upload sessions created by the specified userId.
func (*Client4) GetUserAccessToken ¶
func (c *Client4) GetUserAccessToken(ctx context.Context, tokenId string) (*UserAccessToken, *Response, error)
GetUserAccessToken will get a user access tokens' id, description, is_active and the user_id of the user it is for. The actual token will not be returned. Must have the 'read_user_access_token' permission and if getting for another user, must have the 'edit_other_users' permission.
func (*Client4) GetUserAccessTokens ¶
func (c *Client4) GetUserAccessTokens(ctx context.Context, page int, perPage int) ([]*UserAccessToken, *Response, error)
GetUserAccessTokens will get a page of access tokens' id, description, is_active and the user_id in the system. The actual token will not be returned. Must have the 'manage_system' permission.
func (*Client4) GetUserAccessTokensForUser ¶
func (c *Client4) GetUserAccessTokensForUser(ctx context.Context, userId string, page, perPage int) ([]*UserAccessToken, *Response, error)
GetUserAccessTokensForUser will get a paged list of user access tokens showing id, description and user_id for each. The actual tokens will not be returned. Must have the 'read_user_access_token' permission and if getting for another user, must have the 'edit_other_users' permission.
func (*Client4) GetUserAudits ¶
func (c *Client4) GetUserAudits(ctx context.Context, userId string, page int, perPage int, etag string) (Audits, *Response, error)
GetUserAudits returns a list of audit based on the provided user id string.
func (*Client4) GetUserByEmail ¶
GetUserByEmail returns a user based on the provided user email string.
func (*Client4) GetUserByUsername ¶
func (c *Client4) GetUserByUsername(ctx context.Context, userName, etag string) (*User, *Response, error)
GetUserByUsername returns a user based on the provided user name string.
func (*Client4) GetUserScheduledPosts ¶ added in v0.1.8
func (*Client4) GetUserStatus ¶
func (c *Client4) GetUserStatus(ctx context.Context, userId, etag string) (*Status, *Response, error)
GetUserStatus returns a user based on the provided user id string.
func (*Client4) GetUserTermsOfService ¶
func (c *Client4) GetUserTermsOfService(ctx context.Context, userId, etag string) (*UserTermsOfService, *Response, error)
GetUserTermsOfService fetches user's latest terms of service action if the latest action was for acceptance.
func (*Client4) GetUserThread ¶
func (*Client4) GetUserThreads ¶
func (*Client4) GetUsers ¶
func (c *Client4) GetUsers(ctx context.Context, page int, perPage int, etag string) ([]*User, *Response, error)
GetUsers returns a page of users on the system. Page counting starts at 0.
Example ¶
package main import ( "context" "fmt" "log" "os" "github.com/mattermost/mattermost/server/public/model" ) func main() { client := model.NewAPIv4Client("http://localhost:8065") client.SetToken(os.Getenv("MM_TOKEN")) const perPage = 100 var page int for { users, _, err := client.GetUsers(context.TODO(), page, perPage, "") if err != nil { log.Printf("error fetching users: %v", err) return } for _, u := range users { fmt.Printf("%s\n", u.Username) } if len(users) < perPage { break } page++ } }
Output:
func (*Client4) GetUsersByGroupChannelIds ¶
func (c *Client4) GetUsersByGroupChannelIds(ctx context.Context, groupChannelIds []string) (map[string][]*User, *Response, error)
GetUsersByGroupChannelIds returns a map with channel ids as keys and a list of users as values based on the provided user ids.
func (*Client4) GetUsersByIds ¶
GetUsersByIds returns a list of users based on the provided user ids.
func (*Client4) GetUsersByIdsWithOptions ¶
func (c *Client4) GetUsersByIdsWithOptions(ctx context.Context, userIds []string, options *UserGetByIdsOptions) ([]*User, *Response, error)
GetUsersByIds returns a list of users based on the provided user ids.
func (*Client4) GetUsersByUsernames ¶
func (c *Client4) GetUsersByUsernames(ctx context.Context, usernames []string) ([]*User, *Response, error)
GetUsersByUsernames returns a list of users based on the provided usernames.
func (*Client4) GetUsersForReporting ¶ added in v0.0.12
func (c *Client4) GetUsersForReporting(ctx context.Context, options *UserReportOptions) ([]*UserReport, *Response, error)
func (*Client4) GetUsersInChannel ¶
func (c *Client4) GetUsersInChannel(ctx context.Context, channelId string, page int, perPage int, etag string) ([]*User, *Response, error)
GetUsersInChannel returns a page of users in a channel. Page counting starts at 0.
func (*Client4) GetUsersInChannelByStatus ¶
func (c *Client4) GetUsersInChannelByStatus(ctx context.Context, channelId string, page int, perPage int, etag string) ([]*User, *Response, error)
GetUsersInChannelByStatus returns a page of users in a channel. Page counting starts at 0. Sorted by Status
func (*Client4) GetUsersInGroup ¶
func (c *Client4) GetUsersInGroup(ctx context.Context, groupID string, page int, perPage int, etag string) ([]*User, *Response, error)
GetUsersInGroup returns a page of users in a group. Page counting starts at 0.
func (*Client4) GetUsersInGroupByDisplayName ¶
func (c *Client4) GetUsersInGroupByDisplayName(ctx context.Context, groupID string, page int, perPage int, etag string) ([]*User, *Response, error)
GetUsersInGroup returns a page of users in a group. Page counting starts at 0.
func (*Client4) GetUsersInTeam ¶
func (c *Client4) GetUsersInTeam(ctx context.Context, teamId string, page int, perPage int, etag string) ([]*User, *Response, error)
GetUsersInTeam returns a page of users on a team. Page counting starts at 0.
func (*Client4) GetUsersNotInChannel ¶
func (c *Client4) GetUsersNotInChannel(ctx context.Context, teamId, channelId string, page int, perPage int, etag string) ([]*User, *Response, error)
GetUsersNotInChannel returns a page of users not in a channel. Page counting starts at 0.
func (*Client4) GetUsersNotInTeam ¶
func (c *Client4) GetUsersNotInTeam(ctx context.Context, teamId string, page int, perPage int, etag string) ([]*User, *Response, error)
GetUsersNotInTeam returns a page of users who are not in a team. Page counting starts at 0.
func (*Client4) GetUsersStatusesByIds ¶
func (c *Client4) GetUsersStatusesByIds(ctx context.Context, userIds []string) ([]*Status, *Response, error)
GetUsersStatusesByIds returns a list of users status based on the provided user ids.
func (*Client4) GetUsersWithCustomQueryParameters ¶
func (c *Client4) GetUsersWithCustomQueryParameters(ctx context.Context, page int, perPage int, queryParameters, etag string) ([]*User, *Response, error)
GetUsersWithCustomQueryParameters returns a page of users on the system. Page counting starts at 0.
func (*Client4) GetUsersWithInvalidEmails ¶
func (*Client4) GetUsersWithoutTeam ¶
func (c *Client4) GetUsersWithoutTeam(ctx context.Context, page int, perPage int, etag string) ([]*User, *Response, error)
GetUsersWithoutTeam returns a page of users on the system that aren't on any teams. Page counting starts at 0.
func (*Client4) GetWebappPlugins ¶
GetWebappPlugins will return a list of plugins that the webapp should download.
func (*Client4) ImportTeam ¶
func (c *Client4) ImportTeam(ctx context.Context, data []byte, filesize int, importFrom, filename, teamId string) (map[string]string, *Response, error)
ImportTeam will import an exported team from other app into a existing team.
func (*Client4) InstallMarketplacePlugin ¶
func (c *Client4) InstallMarketplacePlugin(ctx context.Context, request *InstallMarketplacePluginRequest) (*Manifest, *Response, error)
InstallMarketplacePlugin will install marketplace plugin.
func (*Client4) InstallPluginFromURL ¶
func (*Client4) InvalidateCaches ¶
InvalidateCaches will purge the cache and can affect the performance while is cleaning.
func (*Client4) InvalidateEmailInvites ¶
InvalidateEmailInvites will invalidate active email invitations that have not been accepted by the user.
func (*Client4) InviteGuestsToTeam ¶
func (c *Client4) InviteGuestsToTeam(ctx context.Context, teamId string, userEmails []string, channels []string, message string) (*Response, error)
InviteGuestsToTeam invite guest by email to some channels in a team.
func (*Client4) InviteGuestsToTeamGracefully ¶
func (c *Client4) InviteGuestsToTeamGracefully(ctx context.Context, teamId string, userEmails []string, channels []string, message string) ([]*EmailInviteWithError, *Response, error)
InviteGuestsToTeam invite guest by email to some channels in a team.
func (*Client4) InviteRemoteClusterToChannel ¶ added in v0.1.7
func (*Client4) InviteUsersToTeam ¶
func (c *Client4) InviteUsersToTeam(ctx context.Context, teamId string, userEmails []string) (*Response, error)
InviteUsersToTeam invite users by email to the team.
func (*Client4) InviteUsersToTeamAndChannelsGracefully ¶
func (c *Client4) InviteUsersToTeamAndChannelsGracefully(ctx context.Context, teamId string, userEmails []string, channelIds []string, message string) ([]*EmailInviteWithError, *Response, error)
InviteUsersToTeam invite users by email to the team.
func (*Client4) InviteUsersToTeamGracefully ¶
func (c *Client4) InviteUsersToTeamGracefully(ctx context.Context, teamId string, userEmails []string) ([]*EmailInviteWithError, *Response, error)
InviteUsersToTeam invite users by email to the team.
func (*Client4) LinkGroupSyncable ¶
func (c *Client4) LinkGroupSyncable(ctx context.Context, groupID, syncableID string, syncableType GroupSyncableType, patch *GroupSyncablePatch) (*GroupSyncable, *Response, error)
func (*Client4) LinkLdapGroup ¶
LinkLdapGroup creates or undeletes a Mattermost group and associates it to the given LDAP group DN.
func (*Client4) ListAutocompleteCommands ¶
func (c *Client4) ListAutocompleteCommands(ctx context.Context, teamId string) ([]*Command, *Response, error)
ListAutocompleteCommands will retrieve a list of commands available in the team.
func (*Client4) ListChannelBookmarksForChannel ¶ added in v0.0.17
func (*Client4) ListCommandAutocompleteSuggestions ¶
func (c *Client4) ListCommandAutocompleteSuggestions(ctx context.Context, userInput, teamId string) ([]AutocompleteSuggestion, *Response, error)
ListCommandAutocompleteSuggestions will retrieve a list of suggestions for a userInput.
func (*Client4) ListCommands ¶
func (c *Client4) ListCommands(ctx context.Context, teamId string, customOnly bool) ([]*Command, *Response, error)
ListCommands will retrieve a list of commands available in the team.
func (*Client4) ListExports ¶
func (*Client4) ListImports ¶
func (*Client4) Login ¶
func (c *Client4) Login(ctx context.Context, loginId string, password string) (*User, *Response, error)
Login authenticates a user by login id, which can be username, email or some sort of SSO identifier based on server configuration, and a password.
func (*Client4) LoginById ¶
func (c *Client4) LoginById(ctx context.Context, id string, password string) (*User, *Response, error)
LoginById authenticates a user by user id and password.
func (*Client4) LoginByLdap ¶
func (c *Client4) LoginByLdap(ctx context.Context, loginId string, password string) (*User, *Response, error)
LoginByLdap authenticates a user by LDAP id and password.
func (*Client4) LoginWithDesktopToken ¶ added in v0.1.7
func (*Client4) LoginWithDevice ¶
func (c *Client4) LoginWithDevice(ctx context.Context, loginId string, password string, deviceId string) (*User, *Response, error)
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 (*Client4) LoginWithMFA ¶
func (c *Client4) LoginWithMFA(ctx context.Context, loginId, password, mfaToken string) (*User, *Response, error)
LoginWithMFA logs a user in with a MFA token
func (*Client4) MarkNoticesViewed ¶
func (*Client4) MigrateAuthToLdap ¶
func (*Client4) MigrateAuthToSaml ¶
func (*Client4) MigrateConfig ¶
MigrateConfig will migrate existing config to the new one. DEPRECATED: The config migrate API has been moved to be a purely mmctl --local endpoint. This method will be removed in a future major release.
func (*Client4) MigrateIdLdap ¶
MigrateIdLdap migrates the LDAP enabled users to given attribute
func (*Client4) MockSession ¶
MockSession is deprecated in favour of SetToken
func (*Client4) MoveChannel ¶
func (c *Client4) MoveChannel(ctx context.Context, channelId, teamId string, force bool) (*Channel, *Response, error)
MoveChannel moves the channel to the destination team.
func (*Client4) MoveCommand ¶
func (c *Client4) MoveCommand(ctx context.Context, teamId string, commandId string) (*Response, error)
MoveCommand moves a command to a different team.
func (*Client4) MoveThread ¶ added in v0.0.12
func (c *Client4) MoveThread(ctx context.Context, postId string, params *MoveThreadParams) (*Response, error)
MoveThread moves a thread based on provided post id, and channel id string.
func (*Client4) NotifyAdmin ¶
func (*Client4) OpenInteractiveDialog ¶
func (c *Client4) OpenInteractiveDialog(ctx context.Context, request OpenDialogRequest) (*Response, error)
OpenInteractiveDialog sends a WebSocket event to a user's clients to open interactive dialogs, based on the provided trigger ID and other provided data. Used with interactive message buttons, menus and slash commands.
func (*Client4) PatchBot ¶
func (c *Client4) PatchBot(ctx context.Context, userId string, patch *BotPatch) (*Bot, *Response, error)
PatchBot partially updates a bot. Any missing fields are not updated.
func (*Client4) PatchChannel ¶
func (c *Client4) PatchChannel(ctx context.Context, channelId string, patch *ChannelPatch) (*Channel, *Response, error)
PatchChannel partially updates a channel. Any missing fields are not updated.
Example ¶
package main import ( "context" "log" "os" "github.com/mattermost/mattermost/server/public/model" ) func main() { client := model.NewAPIv4Client(os.Getenv("MM_SERVICESETTINGS_SITEURL")) client.SetToken(os.Getenv("MM_AUTHTOKEN")) channelId := "channel_id" patch := &model.ChannelPatch{ Name: model.NewPointer("new_name"), DisplayName: model.NewPointer("New Display Name"), Header: model.NewPointer("New header"), Purpose: model.NewPointer("New purpose"), } _, _, err := client.PatchChannel(context.Background(), channelId, patch) if err != nil { log.Fatal(err) } }
Output:
func (*Client4) PatchChannelModerations ¶
func (c *Client4) PatchChannelModerations(ctx context.Context, channelID string, patch []*ChannelModerationPatch) ([]*ChannelModeration, *Response, error)
func (*Client4) PatchConfig ¶
func (*Client4) PatchDataRetentionPolicy ¶
func (c *Client4) PatchDataRetentionPolicy(ctx context.Context, patch *RetentionPolicyWithTeamAndChannelIDs) (*RetentionPolicyWithTeamAndChannelCounts, *Response, error)
PatchDataRetentionPolicy will patch the granular data retention policy with the specified ID. The Id field of `patch` must be non-empty.
func (*Client4) PatchGroup ¶
func (*Client4) PatchGroupSyncable ¶
func (c *Client4) PatchGroupSyncable(ctx context.Context, groupID, syncableID string, syncableType GroupSyncableType, patch *GroupSyncablePatch) (*GroupSyncable, *Response, error)
func (*Client4) PatchPost ¶
func (c *Client4) PatchPost(ctx context.Context, postId string, patch *PostPatch) (*Post, *Response, error)
PatchPost partially updates a post. Any missing fields are not updated.
func (*Client4) PatchRemoteCluster ¶ added in v0.1.5
func (c *Client4) PatchRemoteCluster(ctx context.Context, remoteClusterId string, patch *RemoteClusterPatch) (*RemoteCluster, *Response, error)
func (*Client4) PatchRole ¶
func (c *Client4) PatchRole(ctx context.Context, roleId string, patch *RolePatch) (*Role, *Response, error)
PatchRole partially updates a role in the system. Any missing fields are not updated.
func (*Client4) PatchScheme ¶
func (c *Client4) PatchScheme(ctx context.Context, id string, patch *SchemePatch) (*Scheme, *Response, error)
PatchScheme partially updates a scheme in the system. Any missing fields are not updated.
func (*Client4) PatchTeam ¶
func (c *Client4) PatchTeam(ctx context.Context, teamId string, patch *TeamPatch) (*Team, *Response, error)
PatchTeam partially updates a team. Any missing fields are not updated.
func (*Client4) PatchUser ¶
func (c *Client4) PatchUser(ctx context.Context, userId string, patch *UserPatch) (*User, *Response, error)
PatchUser partially updates a user in the system. Any missing fields are not updated.
func (*Client4) PermanentDeleteAllUsers ¶
PermanentDeleteAll permanently deletes all users in the system. This is a local only endpoint
func (*Client4) PermanentDeleteChannel ¶
PermanentDeleteChannel deletes a channel based on the provided channel id string.
func (*Client4) PermanentDeletePost ¶ added in v0.1.8
PermanentDeletePost permanently deletes a post and its files from the provided post id string.
func (*Client4) PermanentDeleteTeam ¶
PermanentDeleteTeam deletes the team, should only be used when needed for compliance and the like.
func (*Client4) PermanentDeleteUser ¶
PermanentDeleteUser deletes a user in the system based on the provided user id string.
func (*Client4) PostLog ¶
func (c *Client4) PostLog(ctx context.Context, message map[string]string) (map[string]string, *Response, error)
PostLog 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 the log message if the logging was successful.
func (*Client4) PromoteGuestToUser ¶
PromoteGuestToUser convert a guest into a regular user
func (*Client4) PublishUserTyping ¶
func (c *Client4) PublishUserTyping(ctx context.Context, userID string, typingRequest TypingRequest) (*Response, error)
PublishUserTyping publishes a user is typing websocket event based on the provided TypingRequest.
func (*Client4) PurgeBleveIndexes ¶
PurgeBleveIndexes immediately deletes all Bleve indexes.
func (*Client4) PurgeElasticsearchIndexes ¶
PurgeElasticsearchIndexes immediately deletes all Elasticsearch indexes.
func (*Client4) ReadMultipleChannels ¶ added in v0.0.8
func (c *Client4) ReadMultipleChannels(ctx context.Context, userId string, channelIds []string) (*ChannelViewResponse, *Response, error)
ReadMultipleChannels performs a view action on several channels at the same time for a user.
func (*Client4) ReattachPlugin ¶ added in v0.0.18
func (c *Client4) ReattachPlugin(ctx context.Context, request *PluginReattachRequest) (*Response, error)
ReattachPlugin asks the server to reattach to a plugin launched by another process.
Only available in local mode, and currently only used for testing.
func (*Client4) RegenCommandToken ¶
func (c *Client4) RegenCommandToken(ctx context.Context, commandId string) (string, *Response, error)
RegenCommandToken will create a new token if the user have the right permissions.
func (*Client4) RegenOutgoingHookToken ¶
func (c *Client4) RegenOutgoingHookToken(ctx context.Context, hookId string) (*OutgoingWebhook, *Response, error)
RegenOutgoingHookToken regenerate the outgoing webhook token.
func (*Client4) RegenerateOAuthAppSecret ¶
func (c *Client4) RegenerateOAuthAppSecret(ctx context.Context, appId string) (*OAuthApp, *Response, error)
RegenerateOAuthAppSecret regenerates the client secret for a registered OAuth 2.0 client application.
func (*Client4) RegenerateTeamInviteId ¶
func (c *Client4) RegenerateTeamInviteId(ctx context.Context, teamId string) (*Team, *Response, error)
RegenerateTeamInviteId requests a new invite ID to be generated.
func (*Client4) RegisterTermsOfServiceAction ¶
func (c *Client4) RegisterTermsOfServiceAction(ctx context.Context, userId, termsOfServiceId string, accepted bool) (*Response, error)
RegisterTermsOfServiceAction saves action performed by a user against a specific terms of service.
func (*Client4) ReloadConfig ¶
ReloadConfig will reload the server configuration.
func (*Client4) RemoteClusterAcceptInvite ¶ added in v0.1.5
func (c *Client4) RemoteClusterAcceptInvite(ctx context.Context, rcAcceptInvite *RemoteClusterAcceptInvite) (*RemoteCluster, *Response, error)
func (*Client4) RemoveChannelsFromRetentionPolicy ¶
func (c *Client4) RemoveChannelsFromRetentionPolicy(ctx context.Context, policyID string, channelIDs []string) (*Response, error)
RemoveChannelsFromRetentionPolicy will remove the specified channels from the granular data retention policy with the specified ID.
func (*Client4) RemoveLicenseFile ¶
RemoveLicenseFile will remove the server license it exists. Note that this will disable all enterprise features.
func (*Client4) RemovePlugin ¶
RemovePlugin will disable and delete a plugin.
func (*Client4) RemoveRecentUserCustomStatus ¶
func (c *Client4) RemoveRecentUserCustomStatus(ctx context.Context, userId string) (*Response, error)
RemoveRecentUserCustomStatus remove a recent user's custom status based on the provided user id string.
func (*Client4) RemoveTeamIcon ¶
RemoveTeamIcon updates LastTeamIconUpdate to 0 which indicates team icon is removed.
func (*Client4) RemoveTeamMember ¶
RemoveTeamMember will remove a user from a team.
func (*Client4) RemoveTeamsFromRetentionPolicy ¶
func (c *Client4) RemoveTeamsFromRetentionPolicy(ctx context.Context, policyID string, teamIDs []string) (*Response, error)
RemoveTeamsFromRetentionPolicy will remove the specified teams from the granular data retention policy with the specified ID.
func (*Client4) RemoveUserCustomStatus ¶
RemoveUserCustomStatus remove a user's custom status based on the provided user id string.
func (*Client4) RemoveUserFromChannel ¶
func (c *Client4) RemoveUserFromChannel(ctx context.Context, channelId, userId string) (*Response, error)
RemoveUserFromChannel will delete the channel member object for a user, effectively removing the user from a channel.
Example ¶
package main import ( "context" "log" "os" "github.com/mattermost/mattermost/server/public/model" ) func main() { client := model.NewAPIv4Client(os.Getenv("MM_SERVICESETTINGS_SITEURL")) client.SetToken(os.Getenv("MM_AUTHTOKEN")) channelId := "channel_id" userId := "user_id" _, err := client.RemoveUserFromChannel(context.Background(), channelId, userId) if err != nil { log.Fatal(err) } }
Output:
func (*Client4) RequestTrialLicense ¶
RequestTrialLicense will request a trial license and install it in the server DEPRECATED - USE RequestTrialLicenseWithExtraFields (this method remains for backwards compatibility)
func (*Client4) RequestTrialLicenseWithExtraFields ¶
func (*Client4) ResetPassword ¶
ResetPassword uses a recovery code to update reset a user's password.
func (*Client4) ResetSamlAuthDataToEmail ¶
func (c *Client4) ResetSamlAuthDataToEmail(ctx context.Context, includeDeleted bool, dryRun bool, userIDs []string) (int64, *Response, error)
ResetSamlAuthDataToEmail resets the AuthData field of SAML users to their Email.
func (*Client4) RestoreChannel ¶
func (c *Client4) RestoreChannel(ctx context.Context, channelId string) (*Channel, *Response, error)
RestoreChannel restores a previously deleted channel. Any missing fields are not updated.
func (*Client4) RestoreGroup ¶
func (*Client4) RestoreTeam ¶
RestoreTeam restores a previously deleted team.
func (*Client4) RevokeAllSessions ¶
RevokeAllSessions revokes all sessions for the provided user id string.
func (*Client4) RevokeSession ¶
RevokeSession revokes a user session based on the provided user id and session id strings.
func (*Client4) RevokeSessionsFromAllUsers ¶
RevokeAllSessions revokes all sessions for all the users.
func (*Client4) RevokeUserAccessToken ¶
RevokeUserAccessToken will revoke a user access token by id. Must have the 'revoke_user_access_token' permission and if revoking for another user, must have the 'edit_other_users' permission.
func (*Client4) SaveReaction ¶
func (c *Client4) SaveReaction(ctx context.Context, reaction *Reaction) (*Reaction, *Response, error)
SaveReaction saves an emoji reaction for a post. Returns the saved reaction if successful, otherwise an error will be returned.
func (*Client4) SearchAllChannels ¶
func (c *Client4) SearchAllChannels(ctx context.Context, search *ChannelSearch) (ChannelListWithTeamData, *Response, error)
SearchAllChannels search in all the channels. Must be a system administrator.
func (*Client4) SearchAllChannelsForUser ¶
func (c *Client4) SearchAllChannelsForUser(ctx context.Context, term string) (ChannelListWithTeamData, *Response, error)
SearchAllChannelsForUser search in all the channels for a regular user.
func (*Client4) SearchAllChannelsPaged ¶
func (c *Client4) SearchAllChannelsPaged(ctx context.Context, search *ChannelSearch) (*ChannelsWithCount, *Response, error)
SearchAllChannelsPaged searches all the channels and returns the results paged with the total count.
func (*Client4) SearchArchivedChannels ¶
func (c *Client4) SearchArchivedChannels(ctx context.Context, teamId string, search *ChannelSearch) ([]*Channel, *Response, error)
SearchArchivedChannels returns the archived channels on a team matching the provided search term.
Example ¶
package main import ( "context" "fmt" "log" "os" "github.com/mattermost/mattermost/server/public/model" ) func main() { client := model.NewAPIv4Client(os.Getenv("MM_SERVICESETTINGS_SITEURL")) client.SetToken(os.Getenv("MM_AUTHTOKEN")) teamId := "team_id" searchTerm := "search" channels, _, err := client.SearchArchivedChannels(context.Background(), teamId, &model.ChannelSearch{ Term: searchTerm, }) if err != nil { log.Fatal(err) } fmt.Printf("Found %d archived channels on team %s matching term '%s'\n", len(channels), teamId, searchTerm) }
Output:
func (*Client4) SearchChannels ¶
func (c *Client4) SearchChannels(ctx context.Context, teamId string, search *ChannelSearch) ([]*Channel, *Response, error)
SearchChannels returns the channels on a team matching the provided search term.
Example ¶
package main import ( "context" "fmt" "log" "os" "github.com/mattermost/mattermost/server/public/model" ) func main() { client := model.NewAPIv4Client(os.Getenv("MM_SERVICESETTINGS_SITEURL")) client.SetToken(os.Getenv("MM_AUTHTOKEN")) teamId := "team_id" searchTerm := "search" channels, _, err := client.SearchChannels(context.Background(), teamId, &model.ChannelSearch{ Term: searchTerm, }) if err != nil { log.Fatal(err) } fmt.Printf("Found %d channels on team %s matching term '%s'\n", len(channels), teamId, searchTerm) }
Output:
func (*Client4) SearchChannelsForRetentionPolicy ¶
func (c *Client4) SearchChannelsForRetentionPolicy(ctx context.Context, policyID string, term string) (ChannelListWithTeamData, *Response, error)
SearchChannelsForRetentionPolicy will search the channels to which the specified policy is currently applied.
func (*Client4) SearchEmoji ¶
func (c *Client4) SearchEmoji(ctx context.Context, search *EmojiSearch) ([]*Emoji, *Response, error)
SearchEmoji returns a list of emoji matching some search criteria.
func (*Client4) SearchFiles ¶
func (c *Client4) SearchFiles(ctx context.Context, teamId string, terms string, isOrSearch bool) (*FileInfoList, *Response, error)
SearchFiles returns any posts with matching terms string.
func (*Client4) SearchFilesWithParams ¶
func (c *Client4) SearchFilesWithParams(ctx context.Context, teamId string, params *SearchParameter) (*FileInfoList, *Response, error)
SearchFilesWithParams returns any posts with matching terms string.
func (*Client4) SearchGroupChannels ¶
func (c *Client4) SearchGroupChannels(ctx context.Context, search *ChannelSearch) ([]*Channel, *Response, error)
SearchGroupChannels returns the group channels of the user whose members' usernames match the search term.
Example ¶
package main import ( "context" "fmt" "log" "os" "github.com/mattermost/mattermost/server/public/model" ) func main() { client := model.NewAPIv4Client(os.Getenv("MM_SERVICESETTINGS_SITEURL")) client.SetToken(os.Getenv("MM_AUTHTOKEN")) channels, _, err := client.SearchGroupChannels(context.Background(), &model.ChannelSearch{ Term: "member username", }) if err != nil { log.Fatal(err) } fmt.Printf("Found %d channels\n", len(channels)) }
Output:
func (*Client4) SearchPosts ¶
func (c *Client4) SearchPosts(ctx context.Context, teamId string, terms string, isOrSearch bool) (*PostList, *Response, error)
SearchPosts returns any posts with matching terms string.
func (*Client4) SearchPostsWithMatches ¶
func (c *Client4) SearchPostsWithMatches(ctx context.Context, teamId string, terms string, isOrSearch bool) (*PostSearchResults, *Response, error)
SearchPostsWithMatches returns any posts with matching terms string, including.
func (*Client4) SearchPostsWithParams ¶
func (c *Client4) SearchPostsWithParams(ctx context.Context, teamId string, params *SearchParameter) (*PostList, *Response, error)
SearchPostsWithParams returns any posts with matching terms string.
func (*Client4) SearchTeams ¶
SearchTeams returns teams matching the provided search term.
func (*Client4) SearchTeamsForRetentionPolicy ¶
func (c *Client4) SearchTeamsForRetentionPolicy(ctx context.Context, policyID string, term string) ([]*Team, *Response, error)
SearchTeamsForRetentionPolicy will search the teams to which the specified policy is currently applied.
func (*Client4) SearchTeamsPaged ¶
func (c *Client4) SearchTeamsPaged(ctx context.Context, search *TeamSearch) ([]*Team, int64, *Response, error)
SearchTeamsPaged returns a page of teams and the total count matching the provided search term.
func (*Client4) SearchUserAccessTokens ¶
func (c *Client4) SearchUserAccessTokens(ctx context.Context, search *UserAccessTokenSearch) ([]*UserAccessToken, *Response, error)
SearchUserAccessTokens returns user access tokens matching the provided search term.
func (*Client4) SearchUsers ¶
SearchUsers returns a list of users based on some search criteria.
func (*Client4) SendPasswordResetEmail ¶
SendPasswordResetEmail will send a link for password resetting to a user with the provided email.
func (*Client4) SendVerificationEmail ¶
SendVerificationEmail will send an email to the user with the provided email address, if that user exists. The email will contain a link that can be used to verify the user's email address.
func (*Client4) SetBoolString ¶
SetBoolString is a helper method for overriding how true and false query string parameters are sent to the server.
This method is only exposed for testing. It is never necessary to configure these values in production.
func (*Client4) SetDefaultProfileImage ¶
SetDefaultProfileImage resets the profile image to a default generated one.
func (*Client4) SetOAuthToken ¶
func (*Client4) SetPostReminder ¶
SetPostReminder creates a post reminder for a given post at a specified time. The time needs to be in UTC epoch in seconds. It is always truncated to a 5 minute resolution minimum.
func (*Client4) SetPostUnread ¶
func (c *Client4) SetPostUnread(ctx context.Context, userId string, postId string, collapsedThreadsSupported bool) (*Response, error)
SetPostUnread marks channel where post belongs as unread on the time of the provided post.
func (*Client4) SetProfileImage ¶
func (c *Client4) SetProfileImage(ctx context.Context, userId string, data []byte) (*Response, error)
SetProfileImage sets profile image of the user.
func (*Client4) SetServerBusy ¶
SetServerBusy will mark the server as busy, which disables non-critical services for `secs` seconds.
func (*Client4) SetTeamIcon ¶
SetTeamIcon sets team icon of the team.
func (*Client4) SetThreadUnreadByPostId ¶
func (*Client4) SoftDeleteTeam ¶
SoftDeleteTeam deletes the team softly (archive only, not permanent delete).
func (*Client4) SubmitClientMetrics ¶ added in v0.1.2
func (*Client4) SubmitInteractiveDialog ¶
func (c *Client4) SubmitInteractiveDialog(ctx context.Context, request SubmitDialogRequest) (*SubmitDialogResponse, *Response, error)
SubmitInteractiveDialog will submit the provided dialog data to the integration configured by the URL. Used with the interactive dialogs integration feature.
func (*Client4) SwitchAccountType ¶
func (c *Client4) SwitchAccountType(ctx context.Context, switchRequest *SwitchRequest) (string, *Response, error)
SwitchAccountType changes a user's login type from one type to another.
func (*Client4) SyncLdap ¶
SyncLdap will force a sync with the configured LDAP server. If includeRemovedMembers is true, then group members who left or were removed from a synced team/channel will be re-joined; otherwise, they will be excluded.
func (*Client4) TeamExists ¶
TeamExists returns true or false if the team exist or not.
func (*Client4) TeamMembersMinusGroupMembers ¶
func (*Client4) TestElasticsearch ¶
TestElasticsearch will attempt to connect to the configured Elasticsearch server and return OK if configured. correctly.
func (*Client4) TestLdap ¶
TestLdap will attempt to connect to the configured LDAP server and return OK if configured correctly.
func (*Client4) TestNotifications ¶ added in v0.1.8
func (*Client4) TestS3Connection ¶
TestS3Connection will attempt to connect to the AWS S3.
func (*Client4) TestSiteURL ¶
TestSiteURL will test the validity of a site URL.
func (*Client4) TriggerNotifyAdmin ¶
func (*Client4) UnacknowledgePost ¶
func (*Client4) UninviteRemoteClusterToChannel ¶ added in v0.1.7
func (*Client4) UnlinkGroupSyncable ¶
func (*Client4) UnlinkLdapGroup ¶
UnlinkLdapGroup deletes the Mattermost group associated with the given LDAP group DN.
func (*Client4) UpdateChannel ¶
UpdateChannel updates a channel based on the provided channel struct.
Example ¶
package main import ( "context" "fmt" "log" "os" "github.com/mattermost/mattermost/server/public/model" ) func main() { client := model.NewAPIv4Client(os.Getenv("MM_SERVICESETTINGS_SITEURL")) client.SetToken(os.Getenv("MM_AUTHTOKEN")) channel, _, err := client.UpdateChannel(context.Background(), &model.Channel{ Id: "channel_id", TeamId: "team_id", Name: "name", DisplayName: "Display Name", }) if err != nil { log.Fatal(err) } fmt.Printf("Channel %s updated at %d\n", channel.Id, channel.UpdateAt) }
Output:
func (*Client4) UpdateChannelBookmark ¶ added in v0.0.17
func (c *Client4) UpdateChannelBookmark(ctx context.Context, channelId, bookmarkId string, patch *ChannelBookmarkPatch) (*UpdateChannelBookmarkResponse, *Response, error)
UpdateChannelBookmark updates a channel bookmark based on the provided struct.
func (*Client4) UpdateChannelBookmarkSortOrder ¶ added in v0.0.17
func (c *Client4) UpdateChannelBookmarkSortOrder(ctx context.Context, channelId, bookmarkId string, sortOrder int64) ([]*ChannelBookmarkWithFileInfo, *Response, error)
UpdateChannelBookmarkSortOrder updates a channel bookmark's sort order based on the provided new index.
func (*Client4) UpdateChannelMemberSchemeRoles ¶
func (c *Client4) UpdateChannelMemberSchemeRoles(ctx context.Context, channelId string, userId string, schemeRoles *SchemeRoles) (*Response, error)
UpdateChannelMemberSchemeRoles will update the scheme-derived roles on a channel for a user.
func (*Client4) UpdateChannelNotifyProps ¶
func (c *Client4) UpdateChannelNotifyProps(ctx context.Context, channelId, userId string, props map[string]string) (*Response, error)
UpdateChannelNotifyProps will update the notification properties on a channel for a user.
Example ¶
package main import ( "context" "log" "os" "github.com/mattermost/mattermost/server/public/model" ) func main() { client := model.NewAPIv4Client(os.Getenv("MM_SERVICESETTINGS_SITEURL")) client.SetToken(os.Getenv("MM_AUTHTOKEN")) channelId := "channel_id" userId := "user_id" props := map[string]string{ model.DesktopNotifyProp: model.ChannelNotifyMention, model.MarkUnreadNotifyProp: model.ChannelMarkUnreadMention, } _, err := client.UpdateChannelNotifyProps(context.Background(), channelId, userId, props) if err != nil { log.Fatal(err) } }
Output:
func (*Client4) UpdateChannelPrivacy ¶
func (c *Client4) UpdateChannelPrivacy(ctx context.Context, channelId string, privacy ChannelType) (*Channel, *Response, error)
UpdateChannelPrivacy updates channel privacy
Example ¶
package main import ( "context" "log" "os" "github.com/mattermost/mattermost/server/public/model" ) func main() { client := model.NewAPIv4Client(os.Getenv("MM_SERVICESETTINGS_SITEURL")) client.SetToken(os.Getenv("MM_AUTHTOKEN")) channelId := "channel_id" _, _, err := client.UpdateChannelPrivacy(context.Background(), channelId, model.ChannelTypeOpen) if err != nil { log.Fatal(err) } _, _, err = client.UpdateChannelPrivacy(context.Background(), channelId, model.ChannelTypePrivate) if err != nil { log.Fatal(err) } }
Output:
func (*Client4) UpdateChannelRoles ¶
func (c *Client4) UpdateChannelRoles(ctx context.Context, channelId, userId, roles string) (*Response, error)
UpdateChannelRoles will update the roles on a channel for a user.
Example ¶
package main import ( "context" "log" "os" "strings" "github.com/mattermost/mattermost/server/public/model" ) func main() { client := model.NewAPIv4Client(os.Getenv("MM_SERVICESETTINGS_SITEURL")) client.SetToken(os.Getenv("MM_AUTHTOKEN")) channelId := "channel_id" userId := "user_id" roles := []string{"channel_admin", "channel_user"} _, err := client.UpdateChannelRoles(context.Background(), channelId, userId, strings.Join(roles, " ")) if err != nil { log.Fatal(err) } }
Output:
func (*Client4) UpdateChannelScheme ¶
func (c *Client4) UpdateChannelScheme(ctx context.Context, channelId, schemeId string) (*Response, error)
UpdateChannelScheme will update a channel's scheme.
Example ¶
package main import ( "context" "log" "os" "github.com/mattermost/mattermost/server/public/model" ) func main() { client := model.NewAPIv4Client(os.Getenv("MM_SERVICESETTINGS_SITEURL")) client.SetToken(os.Getenv("MM_AUTHTOKEN")) channelID := "channel_id" schemeID := "scheme_id" _, err := client.UpdateChannelScheme(context.Background(), channelID, schemeID) if err != nil { log.Fatal(err) } }
Output:
func (*Client4) UpdateCloudCustomer ¶
func (c *Client4) UpdateCloudCustomer(ctx context.Context, customerInfo *CloudCustomerInfo) (*CloudCustomer, *Response, error)
func (*Client4) UpdateCloudCustomerAddress ¶
func (*Client4) UpdateCommand ¶
UpdateCommand updates a command based on the provided Command struct.
func (*Client4) UpdateConfig ¶
UpdateConfig will update the server configuration.
func (*Client4) UpdateIncomingWebhook ¶
func (c *Client4) UpdateIncomingWebhook(ctx context.Context, hook *IncomingWebhook) (*IncomingWebhook, *Response, error)
UpdateIncomingWebhook updates an incoming webhook for a channel.
func (*Client4) UpdateJobStatus ¶ added in v0.1.5
func (c *Client4) UpdateJobStatus(ctx context.Context, jobId string, status string, force bool) (*Response, error)
UpdateJobStatus updates the status of a job
func (*Client4) UpdateOAuthApp ¶
UpdateOAuthApp updates a page of registered OAuth 2.0 client applications with Mattermost acting as an OAuth 2.0 service provider.
func (*Client4) UpdateOutgoingOAuthConnection ¶ added in v0.0.15
func (c *Client4) UpdateOutgoingOAuthConnection(ctx context.Context, connection *OutgoingOAuthConnection) (*OutgoingOAuthConnection, *Response, error)
UpdateOutgoingOAuthConnection updates the outgoing OAuth connection with the given ID.
func (*Client4) UpdateOutgoingWebhook ¶
func (c *Client4) UpdateOutgoingWebhook(ctx context.Context, hook *OutgoingWebhook) (*OutgoingWebhook, *Response, error)
UpdateOutgoingWebhook creates an outgoing webhook for a team or channel.
func (*Client4) UpdatePassword ¶
func (*Client4) UpdatePost ¶
func (c *Client4) UpdatePost(ctx context.Context, postId string, post *Post) (*Post, *Response, error)
UpdatePost updates a post based on the provided post struct.
func (*Client4) UpdatePreferences ¶
func (c *Client4) UpdatePreferences(ctx context.Context, userId string, preferences Preferences) (*Response, error)
UpdatePreferences saves the user's preferences.
func (*Client4) UpdateScheduledPost ¶ added in v0.1.8
func (c *Client4) UpdateScheduledPost(ctx context.Context, scheduledPost *ScheduledPost) (*ScheduledPost, *Response, error)
func (*Client4) UpdateSidebarCategoriesForTeamForUser ¶
func (c *Client4) UpdateSidebarCategoriesForTeamForUser(ctx context.Context, userID, teamID string, categories []*SidebarCategoryWithChannels) ([]*SidebarCategoryWithChannels, *Response, error)
func (*Client4) UpdateSidebarCategoryForTeamForUser ¶
func (c *Client4) UpdateSidebarCategoryForTeamForUser(ctx context.Context, userID, teamID, categoryID string, category *SidebarCategoryWithChannels) (*SidebarCategoryWithChannels, *Response, error)
func (*Client4) UpdateSidebarCategoryOrderForTeamForUser ¶
func (*Client4) UpdateTeam ¶
UpdateTeam will update a team.
func (*Client4) UpdateTeamMemberRoles ¶
func (c *Client4) UpdateTeamMemberRoles(ctx context.Context, teamId, userId, newRoles string) (*Response, error)
UpdateTeamMemberRoles will update the roles on a team for a user.
func (*Client4) UpdateTeamMemberSchemeRoles ¶
func (c *Client4) UpdateTeamMemberSchemeRoles(ctx context.Context, teamId string, userId string, schemeRoles *SchemeRoles) (*Response, error)
UpdateTeamMemberSchemeRoles will update the scheme-derived roles on a team for a user.
func (*Client4) UpdateTeamPrivacy ¶
func (c *Client4) UpdateTeamPrivacy(ctx context.Context, teamId string, privacy string) (*Team, *Response, error)
UpdateTeamPrivacy modifies the team type (model.TeamOpen <--> model.TeamInvite) and sets the corresponding AllowOpenInvite appropriately.
func (*Client4) UpdateTeamScheme ¶
UpdateTeamScheme will update a team's scheme.
func (*Client4) UpdateThreadFollowForUser ¶
func (*Client4) UpdateThreadReadForUser ¶
func (*Client4) UpdateThreadsReadForUser ¶
func (*Client4) UpdateUser ¶
UpdateUser updates a user in the system based on the provided user struct.
func (*Client4) UpdateUserActive ¶
func (c *Client4) UpdateUserActive(ctx context.Context, userId string, active bool) (*Response, error)
UpdateUserActive updates status of a user whether active or not.
func (*Client4) UpdateUserAuth ¶
func (c *Client4) UpdateUserAuth(ctx context.Context, userId string, userAuth *UserAuth) (*UserAuth, *Response, error)
UpdateUserAuth updates a user AuthData (uthData, authService and password) in the system.
func (*Client4) UpdateUserCustomStatus ¶
func (c *Client4) UpdateUserCustomStatus(ctx context.Context, userId string, userCustomStatus *CustomStatus) (*CustomStatus, *Response, error)
UpdateUserCustomStatus sets a user's custom status based on the provided user id string. The returned CustomStatus object is the same as the one passed, and it should be just ignored. It's only kept to maintain compatibility.
func (*Client4) UpdateUserHashedPassword ¶
func (c *Client4) UpdateUserHashedPassword(ctx context.Context, userId, newHashedPassword string) (*Response, error)
UpdateUserHashedPassword updates a user's password with an already-hashed password. Must be a system administrator.
func (*Client4) UpdateUserMfa ¶
func (c *Client4) UpdateUserMfa(ctx context.Context, userId, code string, activate bool) (*Response, error)
UpdateUserMfa activates multi-factor authentication for a user if activate is true and a valid code is provided. If activate is false, then code is not required and multi-factor authentication is disabled for the user.
func (*Client4) UpdateUserPassword ¶
func (c *Client4) UpdateUserPassword(ctx context.Context, userId, currentPassword, newPassword string) (*Response, error)
UpdateUserPassword updates a user's password. Must be logged in as the user or be a system administrator.
func (*Client4) UpdateUserRoles ¶
UpdateUserRoles updates a user's roles in the system. A user can have "system_user" and "system_admin" roles.
func (*Client4) UpdateUserStatus ¶
func (c *Client4) UpdateUserStatus(ctx context.Context, userId string, userStatus *Status) (*Status, *Response, error)
UpdateUserStatus sets a user's status based on the provided user id string.
func (*Client4) UploadBrandImage ¶
UploadBrandImage sets the brand image for the system.
func (*Client4) UploadData ¶
func (c *Client4) UploadData(ctx context.Context, uploadId string, data io.Reader) (*FileInfo, *Response, error)
UploadData performs an upload. On success it returns a FileInfo object.
func (*Client4) UploadFile ¶
func (c *Client4) UploadFile(ctx context.Context, data []byte, channelId string, filename string) (*FileUploadResponse, *Response, error)
UploadFile will upload a file to a channel using a multipart request, to be later attached to a post. This method is functionally equivalent to Client4.UploadFileAsRequestBody.
func (*Client4) UploadFileAsRequestBody ¶
func (c *Client4) UploadFileAsRequestBody(ctx context.Context, data []byte, channelId string, filename string) (*FileUploadResponse, *Response, error)
UploadFileAsRequestBody will upload a file to a channel as the body of a request, to be later attached to a post. This method is functionally equivalent to Client4.UploadFile.
func (*Client4) UploadLdapPrivateCertificate ¶
UploadLdapPrivateCertificate will upload a private key for LDAP and set the config to use it.
func (*Client4) UploadLdapPublicCertificate ¶
UploadLdapPublicCertificate will upload a public certificate for LDAP and set the config to use it.
func (*Client4) UploadLicenseFile ¶
UploadLicenseFile will add a license file to the system.
func (*Client4) UploadPlugin ¶
UploadPlugin takes an io.Reader stream pointing to the contents of a .tar.gz plugin.
func (*Client4) UploadPluginForced ¶
func (*Client4) UploadSamlIdpCertificate ¶
func (c *Client4) UploadSamlIdpCertificate(ctx context.Context, data []byte, filename string) (*Response, error)
UploadSamlIdpCertificate will upload an IDP certificate for SAML and set the config to use it. The filename parameter is deprecated and ignored: the server will pick a hard-coded filename when writing to disk.
func (*Client4) UploadSamlPrivateCertificate ¶
func (c *Client4) UploadSamlPrivateCertificate(ctx context.Context, data []byte, filename string) (*Response, error)
UploadSamlPrivateCertificate will upload a private key for SAML and set the config to use it. The filename parameter is deprecated and ignored: the server will pick a hard-coded filename when writing to disk.
func (*Client4) UploadSamlPublicCertificate ¶
func (c *Client4) UploadSamlPublicCertificate(ctx context.Context, data []byte, filename string) (*Response, error)
UploadSamlPublicCertificate will upload a public certificate for SAML and set the config to use it. The filename parameter is deprecated and ignored: the server will pick a hard-coded filename when writing to disk.
func (*Client4) UpsertDraft ¶
UpsertDraft will create a new draft or update a draft if it already exists
func (*Client4) UpsertGroupMembers ¶
func (c *Client4) UpsertGroupMembers(ctx context.Context, groupID string, userIds *GroupModifyMembers) ([]*GroupMember, *Response, error)
func (*Client4) ValidateBusinessEmail ¶
func (*Client4) ValidateWorkspaceBusinessEmail ¶
func (*Client4) VerifyUserEmail ¶
VerifyUserEmail will verify a user's email using the supplied token.
func (*Client4) VerifyUserEmailWithoutToken ¶
func (c *Client4) VerifyUserEmailWithoutToken(ctx context.Context, userId string) (*User, *Response, error)
VerifyUserEmailWithoutToken will verify a user's email by its Id. (Requires manage system role)
func (*Client4) ViewChannel ¶
func (c *Client4) ViewChannel(ctx context.Context, userId string, view *ChannelView) (*ChannelViewResponse, *Response, error)
ViewChannel performs a view action for a user. Synonymous with switching channels or marking channels as read by a user.
Example ¶
package main import ( "context" "log" "os" "github.com/mattermost/mattermost/server/public/model" ) func main() { client := model.NewAPIv4Client(os.Getenv("MM_SERVICESETTINGS_SITEURL")) client.SetToken(os.Getenv("MM_AUTHTOKEN")) channelId := "channel_id" prevChannelId := "prev_channel_id" userId := "user_id" _, _, err := client.ViewChannel(context.Background(), userId, &model.ChannelView{ ChannelId: channelId, PrevChannelId: prevChannelId, CollapsedThreadsSupported: true, }) if err != nil { log.Fatal(err) } }
Output:
type ClientRequirements ¶
type ClientRequirements struct { AndroidLatestVersion string `access:"write_restrictable,cloud_restrictable"` AndroidMinVersion string `access:"write_restrictable,cloud_restrictable"` IosLatestVersion string `access:"write_restrictable,cloud_restrictable"` IosMinVersion string `access:"write_restrictable,cloud_restrictable"` }
type CloudCustomer ¶
type CloudCustomer struct { CloudCustomerInfo ID string `json:"id"` CreatorID string `json:"creator_id"` CreateAt int64 `json:"create_at"` BillingAddress *Address `json:"billing_address"` CompanyAddress *Address `json:"company_address"` PaymentMethod *PaymentMethod `json:"payment_method"` }
Customer model represents a customer on the system.
type CloudCustomerInfo ¶
type CloudCustomerInfo struct { Name string `json:"name"` Email string `json:"email,omitempty"` ContactFirstName string `json:"contact_first_name,omitempty"` ContactLastName string `json:"contact_last_name,omitempty"` NumEmployees int `json:"num_employees"` CloudAltPaymentMethod string `json:"monthly_subscription_alt_payment_method"` }
CloudCustomerInfo represents editable info of a customer.
type CloudSettings ¶
type CloudSettings struct { CWSURL *string `access:"write_restrictable"` CWSAPIURL *string `access:"write_restrictable"` CWSMock *bool `access:"write_restrictable"` Disable *bool `access:"write_restrictable,cloud_restrictable"` }
func (*CloudSettings) SetDefaults ¶
func (s *CloudSettings) SetDefaults()
type CloudWorkspaceOwner ¶
type CloudWorkspaceOwner struct {
UserName string `json:"username"`
}
CloudWorkspaceOwner is part of the CWS Webhook payload that contains information about the user that created the workspace from the CWS
type ClusterDiscovery ¶
type ClusterDiscovery struct { Id string `json:"id"` Type string `json:"type"` ClusterName string `json:"cluster_name"` Hostname string `json:"hostname"` GossipPort int32 `json:"gossip_port"` Port int32 `json:"port"` // Deperacted: Port is unused. It's only kept for backwards compatibility. CreateAt int64 `json:"create_at"` LastPingAt int64 `json:"last_ping_at"` }
func FilterClusterDiscovery ¶
func FilterClusterDiscovery(vs []*ClusterDiscovery, f func(*ClusterDiscovery) bool) []*ClusterDiscovery
func (*ClusterDiscovery) AutoFillHostname ¶
func (o *ClusterDiscovery) AutoFillHostname()
func (*ClusterDiscovery) AutoFillIPAddress ¶
func (o *ClusterDiscovery) AutoFillIPAddress(iface string, ipAddress string)
func (*ClusterDiscovery) IsEqual ¶
func (o *ClusterDiscovery) IsEqual(in *ClusterDiscovery) bool
func (*ClusterDiscovery) IsValid ¶
func (o *ClusterDiscovery) IsValid() *AppError
func (*ClusterDiscovery) PreSave ¶
func (o *ClusterDiscovery) PreSave()
type ClusterEvent ¶
type ClusterEvent string
type ClusterInfo ¶
type ClusterMessage ¶
type ClusterSettings ¶
type ClusterSettings struct { Enable *bool `access:"environment_high_availability,write_restrictable"` ClusterName *string `access:"environment_high_availability,write_restrictable,cloud_restrictable"` // telemetry: none OverrideHostname *string `access:"environment_high_availability,write_restrictable,cloud_restrictable"` // telemetry: none NetworkInterface *string `access:"environment_high_availability,write_restrictable,cloud_restrictable"` BindAddress *string `access:"environment_high_availability,write_restrictable,cloud_restrictable"` AdvertiseAddress *string `access:"environment_high_availability,write_restrictable,cloud_restrictable"` UseIPAddress *bool `access:"environment_high_availability,write_restrictable,cloud_restrictable"` EnableGossipCompression *bool `access:"environment_high_availability,write_restrictable,cloud_restrictable"` EnableExperimentalGossipEncryption *bool `access:"environment_high_availability,write_restrictable,cloud_restrictable"` ReadOnlyConfig *bool `access:"environment_high_availability,write_restrictable,cloud_restrictable"` GossipPort *int `access:"environment_high_availability,write_restrictable,cloud_restrictable"` // telemetry: none }
func (*ClusterSettings) SetDefaults ¶
func (s *ClusterSettings) SetDefaults()
type ClusterStats ¶
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"` // PluginId records the id of the plugin that created this Command. If it is blank, the Command // was not created by a plugin. PluginId string `json:"plugin_id"` AutocompleteData *AutocompleteData `db:"-" json:"autocomplete_data,omitempty"` // AutocompleteIconData is a base64 encoded svg AutocompleteIconData string `db:"-" json:"autocomplete_icon_data,omitempty"` }
type CommandArgs ¶
type CommandArgs struct { UserId string `json:"user_id"` ChannelId string `json:"channel_id"` TeamId string `json:"team_id"` RootId string `json:"root_id"` ParentId string `json:"parent_id"` TriggerId string `json:"trigger_id,omitempty"` Command string `json:"command"` SiteURL string `json:"-"` T i18n.TranslateFunc `json:"-"` UserMentions UserMentionMap `json:"-"` ChannelMentions ChannelMentionMap `json:"-"` }
func (*CommandArgs) AddChannelMention ¶
func (o *CommandArgs) AddChannelMention(channelName, channelId string)
AddChannelMention adds or overrides an entry in ChannelMentions with name channelName and identifier channelId
func (*CommandArgs) AddUserMention ¶
func (o *CommandArgs) AddUserMention(username, userId string)
AddUserMention adds or overrides an entry in UserMentions with name username and identifier userId
func (*CommandArgs) Auditable ¶
func (o *CommandArgs) Auditable() map[string]interface{}
type CommandMoveRequest ¶
type CommandMoveRequest struct {
TeamId string `json:"team_id"`
}
type CommandResponse ¶
type CommandResponse struct { ResponseType string `json:"response_type"` Text string `json:"text"` Username string `json:"username"` ChannelId string `json:"channel_id"` IconURL string `json:"icon_url"` Type string `json:"type"` Props StringInterface `json:"props"` GotoLocation string `json:"goto_location"` TriggerId string `json:"trigger_id"` SkipSlackParsing bool `json:"skip_slack_parsing"` // Set to `true` to skip the Slack-compatibility handling of Text. Attachments []*SlackAttachment `json:"attachments"` ExtraResponses []*CommandResponse `json:"extra_responses"` }
func CommandResponseFromHTTPBody ¶
func CommandResponseFromHTTPBody(contentType string, body io.Reader) (*CommandResponse, error)
func CommandResponseFromJSON ¶
func CommandResponseFromJSON(data io.Reader) (*CommandResponse, error)
func CommandResponseFromPlainText ¶
func CommandResponseFromPlainText(text string) *CommandResponse
type CommandWebhook ¶
type CommandWebhook struct { Id string CreateAt int64 CommandId string UserId string ChannelId string RootId string UseCount int }
func (*CommandWebhook) IsValid ¶
func (o *CommandWebhook) IsValid() *AppError
func (*CommandWebhook) PreSave ¶
func (o *CommandWebhook) PreSave()
type CompleteOnboardingRequest ¶
type CompleteOnboardingRequest struct { Organization string `json:"organization"` // Organization is the name of the organization InstallPlugins []string `json:"install_plugins"` // InstallPlugins is a list of plugins to be installed }
CompleteOnboardingRequest describes parameters of the requested plugin.
func CompleteOnboardingRequestFromReader ¶
func CompleteOnboardingRequestFromReader(reader io.Reader) (*CompleteOnboardingRequest, error)
CompleteOnboardingRequest decodes a json-encoded request from the given io.Reader.
func (*CompleteOnboardingRequest) Auditable ¶
func (r *CompleteOnboardingRequest) Auditable() map[string]interface{}
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 (*Compliance) Auditable ¶
func (c *Compliance) Auditable() map[string]interface{}
func (*Compliance) DeepCopy ¶
func (c *Compliance) DeepCopy() *Compliance
func (*Compliance) IsValid ¶
func (c *Compliance) IsValid() *AppError
func (*Compliance) JobName ¶
func (c *Compliance) JobName() string
func (*Compliance) LoggerFields ¶ added in v0.0.10
func (c *Compliance) LoggerFields() []mlog.Field
LoggerFields returns the logger annotations reflecting the given compliance job metadata.
func (*Compliance) PreSave ¶
func (c *Compliance) PreSave()
type ComplianceExportCursor ¶
type ComplianceExportCursor struct { LastChannelsQueryPostCreateAt int64 LastChannelsQueryPostID string ChannelsQueryCompleted bool LastDirectMessagesQueryPostCreateAt int64 LastDirectMessagesQueryPostID string DirectMessagesQueryCompleted bool }
ComplianceExportCursor is used for paginated iteration of posts for compliance export. We need to keep track of the last post ID in addition to the last post CreateAt to break ties when two posts have the same CreateAt.
type CompliancePost ¶
type CompliancePost struct { // From Team TeamName string TeamDisplayName string // From Channel ChannelName string ChannelDisplayName string ChannelType string // From User UserUsername string UserEmail string UserNickname string // From Post PostId string PostCreateAt int64 PostUpdateAt int64 PostDeleteAt int64 PostRootId string PostOriginalId string PostMessage string PostType string PostProps string PostFileIds string IsBot bool }
func (*CompliancePost) Row ¶
func (cp *CompliancePost) Row() []string
type ComplianceSettings ¶
type ComplianceSettings struct { Enable *bool `access:"compliance_compliance_monitoring"` Directory *string `access:"compliance_compliance_monitoring"` // telemetry: none EnableDaily *bool `access:"compliance_compliance_monitoring"` BatchSize *int `access:"compliance_compliance_monitoring"` // telemetry: none }
func (*ComplianceSettings) SetDefaults ¶
func (s *ComplianceSettings) SetDefaults()
type Compliances ¶
type Compliances []Compliance
type Conditions ¶
type Conditions struct { Audience *NoticeAudience `json:"audience,omitempty"` ClientType *NoticeClientType `json:"clientType,omitempty"` // Only show the notice on specific clients. Defaults to 'all' DesktopVersion []string `json:"desktopVersion,omitempty"` // What desktop client versions does this notice apply to.; Format: semver ranges (https://devhints.io/semver); Example: [">=1.2.3 < ~2.4.x"]; Example: ["<v5.19", "v5.20-v5.22"] DisplayDate *string `json:"displayDate,omitempty"` // When to display the notice.; Examples:; "2020-03-01T00:00:00Z" - show on specified date; ">= 2020-03-01T00:00:00Z" - show after specified date; "< 2020-03-01T00:00:00Z" - show before the specified date; "> 2020-03-01T00:00:00Z <= 2020-04-01T00:00:00Z" - show only between the specified dates InstanceType *NoticeInstanceType `json:"instanceType,omitempty"` MobileVersion []string `json:"mobileVersion,omitempty"` // What mobile client versions does this notice apply to.; Format: semver ranges (https://devhints.io/semver); Example: [">=1.2.3 < ~2.4.x"]; Example: ["<v5.19", "v5.20-v5.22"] NumberOfPosts *int64 `json:"numberOfPosts,omitempty"` // Only show the notice when server has more than specified number of posts NumberOfUsers *int64 `json:"numberOfUsers,omitempty"` // Only show the notice when server has more than specified number of users ServerConfig map[string]any `json:"serverConfig,omitempty"` // Map of mattermost server config paths and their values. Notice will be displayed only if; the values match the target server config; Example: serverConfig: { "PluginSettings.Enable": true, "GuestAccountsSettings.Enable":; false } ServerVersion []string `json:"serverVersion,omitempty"` // What server versions does this notice apply to.; Format: semver ranges (https://devhints.io/semver); Example: [">=1.2.3 < ~2.4.x"]; Example: ["<v5.19", "v5.20-v5.22"] Sku *NoticeSKU `json:"sku,omitempty"` UserConfig map[string]any `json:"userConfig,omitempty"` // Map of user's settings and their values. Notice will be displayed only if the values; match the viewing users' config; Example: userConfig: { "new_sidebar.disabled": true } DeprecatingDependency *ExternalDependency `json:"deprecating_dependency,omitempty"` // External dependency which is going to be deprecated }
type Config ¶
type Config struct { ServiceSettings ServiceSettings TeamSettings TeamSettings ClientRequirements ClientRequirements SqlSettings SqlSettings LogSettings LogSettings ExperimentalAuditSettings ExperimentalAuditSettings NotificationLogSettings NotificationLogSettings PasswordSettings PasswordSettings FileSettings FileSettings EmailSettings EmailSettings RateLimitSettings RateLimitSettings PrivacySettings PrivacySettings SupportSettings SupportSettings AnnouncementSettings AnnouncementSettings ThemeSettings ThemeSettings GitLabSettings SSOSettings GoogleSettings SSOSettings Office365Settings Office365Settings OpenIdSettings SSOSettings LdapSettings LdapSettings ComplianceSettings ComplianceSettings LocalizationSettings LocalizationSettings SamlSettings SamlSettings NativeAppSettings NativeAppSettings CacheSettings CacheSettings ClusterSettings ClusterSettings MetricsSettings MetricsSettings ExperimentalSettings ExperimentalSettings AnalyticsSettings AnalyticsSettings ElasticsearchSettings ElasticsearchSettings BleveSettings BleveSettings DataRetentionSettings DataRetentionSettings MessageExportSettings MessageExportSettings JobSettings JobSettings PluginSettings PluginSettings DisplaySettings DisplaySettings GuestAccountsSettings GuestAccountsSettings ImageProxySettings ImageProxySettings CloudSettings CloudSettings // telemetry: none FeatureFlags *FeatureFlags `access:"*_read" json:",omitempty"` ImportSettings ImportSettings // telemetry: none ExportSettings ExportSettings WranglerSettings WranglerSettings ConnectedWorkspacesSettings ConnectedWorkspacesSettings }
Config fields support the 'access' tag with the following values corresponding to the suffix of the associated PermissionSysconsole* permission Id: 'about', 'reporting', 'user_management_users', 'user_management_groups', 'user_management_teams', 'user_management_channels', 'user_management_permissions', 'environment_web_server', 'environment_database', 'environment_elasticsearch', 'environment_file_storage', 'environment_image_proxy', 'environment_smtp', 'environment_push_notification_server', 'environment_high_availability', 'environment_rate_limiting', 'environment_logging', 'environment_session_lengths', 'environment_performance_monitoring', 'environment_developer', 'site', 'authentication', 'plugins', 'integrations', 'compliance', 'plugins', and 'experimental'. They grant read and/or write access to the config field to roles without PermissionManageSystem.
The 'access' tag '*_read' checks for any Sysconsole read permission and grants access if any read permission is allowed.
By default config values can be written with PermissionManageSystem, but if ExperimentalSettings.RestrictSystemAdmin is true and the access tag contains the value 'write_restrictable', then even PermissionManageSystem, does not grant write access.
PermissionManageSystem always grants read access.
Config values with the access tag 'cloud_restrictable' mean that are marked to be filtered when it's used in a cloud licensed environment with ExperimentalSettings.RestrictedSystemAdmin set to true.
Example:
type HairSettings struct { // Colour is writeable with either PermissionSysconsoleWriteReporting or PermissionSysconsoleWriteUserManagementGroups. // It is readable by PermissionSysconsoleReadReporting and PermissionSysconsoleReadUserManagementGroups permissions. // PermissionManageSystem grants read and write access. Colour string `access:"reporting,user_management_groups"` // Length is only readable and writable via PermissionManageSystem. Length string // Product is only writeable by PermissionManageSystem if ExperimentalSettings.RestrictSystemAdmin is false. // PermissionManageSystem can always read the value. Product bool `access:write_restrictable` }
func ConfigFromJSON ¶
func (*Config) GetSSOService ¶
func (o *Config) GetSSOService(service string) *SSOSettings
func (*Config) GetSanitizeOptions ¶
func (*Config) SetDefaults ¶
func (o *Config) SetDefaults()
type ConfigFunc ¶
type ConfigFunc func() *Config
type ConfirmPaymentMethodRequest ¶
type ConfirmPaymentMethodRequest struct { StripeSetupIntentID string `json:"stripe_setup_intent_id"` SubscriptionID string `json:"subscription_id"` }
ConfirmPaymentMethodRequest contains the fields for the customer payment update API.
type ConnectedWorkspacesSettings ¶ added in v0.1.7
func (*ConnectedWorkspacesSettings) SetDefaults ¶ added in v0.1.7
func (c *ConnectedWorkspacesSettings) SetDefaults(isUpdate bool, e ExperimentalSettings)
type ContactPerson ¶
type CreatePostFlags ¶ added in v0.1.8
type CreateSubscriptionRequest ¶
type CreateSubscriptionRequest struct { ProductID string `json:"product_id"` AddOns []string `json:"add_ons"` Seats int `json:"seats"` Total float64 `json:"total"` InternalPurchaseOrder string `json:"internal_purchase_order"` DiscountID string `json:"discount_id"` }
CreateSubscriptionRequest is the parameters for the API request to create a subscription.
type CustomStatus ¶
type CustomStatus struct { Emoji string `json:"emoji"` Text string `json:"text"` Duration string `json:"duration"` ExpiresAt time.Time `json:"expires_at"` }
func (*CustomStatus) AreDurationAndExpirationTimeValid ¶
func (cs *CustomStatus) AreDurationAndExpirationTimeValid() bool
func (*CustomStatus) PreSave ¶
func (cs *CustomStatus) PreSave()
type DataRetentionSettings ¶
type DataRetentionSettings struct { EnableMessageDeletion *bool `access:"compliance_data_retention_policy"` EnableFileDeletion *bool `access:"compliance_data_retention_policy"` EnableBoardsDeletion *bool `access:"compliance_data_retention_policy"` MessageRetentionDays *int `access:"compliance_data_retention_policy"` // Deprecated: use `MessageRetentionHours` MessageRetentionHours *int `access:"compliance_data_retention_policy"` FileRetentionDays *int `access:"compliance_data_retention_policy"` // Deprecated: use `FileRetentionHours` FileRetentionHours *int `access:"compliance_data_retention_policy"` BoardsRetentionDays *int `access:"compliance_data_retention_policy"` DeletionJobStartTime *string `access:"compliance_data_retention_policy"` BatchSize *int `access:"compliance_data_retention_policy"` TimeBetweenBatchesMilliseconds *int `access:"compliance_data_retention_policy"` RetentionIdsBatchSize *int `access:"compliance_data_retention_policy"` }
func (*DataRetentionSettings) GetFileRetentionHours ¶ added in v0.0.13
func (s *DataRetentionSettings) GetFileRetentionHours() int
GetFileRetentionHours returns the message retention time as an int. FileRetentionHours takes precedence over the deprecated FileRetentionDays.
func (*DataRetentionSettings) GetMessageRetentionHours ¶ added in v0.0.13
func (s *DataRetentionSettings) GetMessageRetentionHours() int
GetMessageRetentionHours returns the message retention time as an int. MessageRetentionHours takes precedence over the deprecated MessageRetentionDays.
func (*DataRetentionSettings) SetDefaults ¶
func (s *DataRetentionSettings) SetDefaults()
type DelinquencyEmail ¶
type DelinquencyEmail string
const ( DelinquencyEmail7 DelinquencyEmail = "7" DelinquencyEmail14 DelinquencyEmail = "14" DelinquencyEmail30 DelinquencyEmail = "30" DelinquencyEmail45 DelinquencyEmail = "45" DelinquencyEmail60 DelinquencyEmail = "60" DelinquencyEmail75 DelinquencyEmail = "75" DelinquencyEmail90 DelinquencyEmail = "90" )
type DelinquencyEmailTrigger ¶
type DelinquencyEmailTrigger struct {
EmailToTrigger string `json:"email_to_send"`
}
type Dialog ¶
type Dialog struct { CallbackId string `json:"callback_id"` Title string `json:"title"` IntroductionText string `json:"introduction_text"` IconURL string `json:"icon_url"` Elements []DialogElement `json:"elements"` SubmitLabel string `json:"submit_label"` NotifyOnCancel bool `json:"notify_on_cancel"` State string `json:"state"` }
type DialogElement ¶
type DialogElement struct { DisplayName string `json:"display_name"` Name string `json:"name"` Type string `json:"type"` SubType string `json:"subtype"` Default string `json:"default"` Placeholder string `json:"placeholder"` HelpText string `json:"help_text"` Optional bool `json:"optional"` MinLength int `json:"min_length"` MaxLength int `json:"max_length"` DataSource string `json:"data_source"` Options []*PostActionOptions `json:"options"` }
func (*DialogElement) IsValid ¶ added in v0.1.2
func (e *DialogElement) IsValid() error
type DirectChannelForExport ¶
type DirectChannelForExport struct { Channel Members []*ChannelMemberForExport }
type DirectPostForExport ¶
type DirectPostForExport struct { Post User string ChannelMembers *[]string FlaggedBy StringArray }
type DisplaySettings ¶
type DisplaySettings struct { CustomURLSchemes []string `access:"site_posts"` MaxMarkdownNodes *int `access:"site_posts"` }
func (*DisplaySettings) SetDefaults ¶
func (s *DisplaySettings) SetDefaults()
type DoPostActionRequest ¶
type Draft ¶
type Draft struct { CreateAt int64 `json:"create_at"` UpdateAt int64 `json:"update_at"` DeleteAt int64 `json:"delete_at"` // Deprecated, we now just hard delete the rows UserId string `json:"user_id"` ChannelId string `json:"channel_id"` RootId string `json:"root_id"` Message string `json:"message"` Props StringInterface `json:"props"` // Deprecated: use GetProps() FileIds StringArray `json:"file_ids,omitempty"` Metadata *PostMetadata `json:"metadata,omitempty"` Priority StringInterface `json:"priority,omitempty"` // contains filtered or unexported fields }
func (*Draft) BaseIsValid ¶ added in v0.1.8
func (*Draft) GetProps ¶
func (o *Draft) GetProps() StringInterface
func (*Draft) SetProps ¶
func (o *Draft) SetProps(props StringInterface)
type ElasticsearchSettings ¶
type ElasticsearchSettings struct { ConnectionURL *string `access:"environment_elasticsearch,write_restrictable,cloud_restrictable"` Backend *string `access:"environment_elasticsearch,write_restrictable,cloud_restrictable"` Username *string `access:"environment_elasticsearch,write_restrictable,cloud_restrictable"` Password *string `access:"environment_elasticsearch,write_restrictable,cloud_restrictable"` EnableIndexing *bool `access:"environment_elasticsearch,write_restrictable,cloud_restrictable"` EnableSearching *bool `access:"environment_elasticsearch,write_restrictable,cloud_restrictable"` EnableAutocomplete *bool `access:"environment_elasticsearch,write_restrictable,cloud_restrictable"` Sniff *bool `access:"environment_elasticsearch,write_restrictable,cloud_restrictable"` PostIndexReplicas *int `access:"environment_elasticsearch,write_restrictable,cloud_restrictable"` PostIndexShards *int `access:"environment_elasticsearch,write_restrictable,cloud_restrictable"` ChannelIndexReplicas *int `access:"environment_elasticsearch,write_restrictable,cloud_restrictable"` ChannelIndexShards *int `access:"environment_elasticsearch,write_restrictable,cloud_restrictable"` UserIndexReplicas *int `access:"environment_elasticsearch,write_restrictable,cloud_restrictable"` UserIndexShards *int `access:"environment_elasticsearch,write_restrictable,cloud_restrictable"` AggregatePostsAfterDays *int `access:"environment_elasticsearch,write_restrictable,cloud_restrictable"` // telemetry: none PostsAggregatorJobStartTime *string `access:"environment_elasticsearch,write_restrictable,cloud_restrictable"` // telemetry: none IndexPrefix *string `access:"environment_elasticsearch,write_restrictable,cloud_restrictable"` LiveIndexingBatchSize *int `access:"environment_elasticsearch,write_restrictable,cloud_restrictable"` BulkIndexingTimeWindowSeconds *int `json:",omitempty"` // telemetry: none BatchSize *int `access:"environment_elasticsearch,write_restrictable,cloud_restrictable"` RequestTimeoutSeconds *int `access:"environment_elasticsearch,write_restrictable,cloud_restrictable"` SkipTLSVerification *bool `access:"environment_elasticsearch,write_restrictable,cloud_restrictable"` CA *string `access:"environment_elasticsearch,write_restrictable,cloud_restrictable"` ClientCert *string `access:"environment_elasticsearch,write_restrictable,cloud_restrictable"` ClientKey *string `access:"environment_elasticsearch,write_restrictable,cloud_restrictable"` Trace *string `access:"environment_elasticsearch,write_restrictable,cloud_restrictable"` IgnoredPurgeIndexes *string `access:"environment_elasticsearch,write_restrictable,cloud_restrictable"` // telemetry: none }
func (*ElasticsearchSettings) SetDefaults ¶
func (s *ElasticsearchSettings) SetDefaults()
type EmailInviteWithError ¶
type EmailSettings ¶
type EmailSettings struct { EnableSignUpWithEmail *bool `access:"authentication_email"` EnableSignInWithEmail *bool `access:"authentication_email"` EnableSignInWithUsername *bool `access:"authentication_email"` SendEmailNotifications *bool `access:"site_notifications"` UseChannelInEmailNotifications *bool `access:"experimental_features"` RequireEmailVerification *bool `access:"authentication_email"` FeedbackName *string `access:"site_notifications"` FeedbackEmail *string `access:"site_notifications,cloud_restrictable"` ReplyToAddress *string `access:"site_notifications,cloud_restrictable"` FeedbackOrganization *string `access:"site_notifications"` EnableSMTPAuth *bool `access:"environment_smtp,write_restrictable,cloud_restrictable"` SMTPUsername *string `access:"environment_smtp,write_restrictable,cloud_restrictable"` // telemetry: none SMTPPassword *string `access:"environment_smtp,write_restrictable,cloud_restrictable"` // telemetry: none SMTPServer *string `access:"environment_smtp,write_restrictable,cloud_restrictable"` // telemetry: none SMTPPort *string `access:"environment_smtp,write_restrictable,cloud_restrictable"` // telemetry: none SMTPServerTimeout *int `access:"cloud_restrictable"` ConnectionSecurity *string `access:"environment_smtp,write_restrictable,cloud_restrictable"` SendPushNotifications *bool `access:"environment_push_notification_server"` PushNotificationServer *string `access:"environment_push_notification_server"` // telemetry: none PushNotificationContents *string `access:"site_notifications"` PushNotificationBuffer *int // telemetry: none EnableEmailBatching *bool `access:"site_notifications"` EmailBatchingBufferSize *int `access:"experimental_features"` EmailBatchingInterval *int `access:"experimental_features"` EnablePreviewModeBanner *bool `access:"site_notifications"` SkipServerCertificateVerification *bool `access:"environment_smtp,write_restrictable,cloud_restrictable"` EmailNotificationContentsType *string `access:"site_notifications"` LoginButtonColor *string `access:"experimental_features"` LoginButtonBorderColor *string `access:"experimental_features"` LoginButtonTextColor *string `access:"experimental_features"` }
func (*EmailSettings) SetDefaults ¶
func (s *EmailSettings) SetDefaults(isUpdate bool)
type Emoji ¶
type EmojiSearch ¶
type EncryptionMethod ¶
type EncryptionMethod struct {
Algorithm string `xml:"Algorithm,attr"`
}
type EntityDescriptor ¶
type EntityDescriptor struct { XMLName xml.Name `xml:"urn:oasis:names:tc:SAML:2.0:metadata EntityDescriptor"` EntityID string `xml:"entityID,attr"` ID string `xml:",attr,omitempty"` ValidUntil time.Time `xml:"validUntil,attr,omitempty"` CacheDuration time.Duration `xml:"cacheDuration,attr,omitempty"` RoleDescriptors []RoleDescriptor `xml:"RoleDescriptor"` IDPSSODescriptors []IDPSSODescriptor `xml:"IDPSSODescriptor"` Organization Organization `xml:"Organization"` ContactPerson ContactPerson `xml:"ContactPerson"` }
type ExperimentalAuditSettings ¶
type ExperimentalAuditSettings struct { FileEnabled *bool `access:"experimental_features,write_restrictable,cloud_restrictable"` FileName *string `access:"experimental_features,write_restrictable,cloud_restrictable"` // telemetry: none FileMaxSizeMB *int `access:"experimental_features,write_restrictable,cloud_restrictable"` FileMaxAgeDays *int `access:"experimental_features,write_restrictable,cloud_restrictable"` FileMaxBackups *int `access:"experimental_features,write_restrictable,cloud_restrictable"` FileCompress *bool `access:"experimental_features,write_restrictable,cloud_restrictable"` FileMaxQueueSize *int `access:"experimental_features,write_restrictable,cloud_restrictable"` AdvancedLoggingJSON json.RawMessage `access:"experimental_features,write_restrictable"` }
func (*ExperimentalAuditSettings) GetAdvancedLoggingConfig ¶
func (s *ExperimentalAuditSettings) GetAdvancedLoggingConfig() []byte
GetAdvancedLoggingConfig returns the advanced logging config as a []byte.
func (*ExperimentalAuditSettings) SetDefaults ¶
func (s *ExperimentalAuditSettings) SetDefaults()
type ExperimentalSettings ¶
type ExperimentalSettings struct { ClientSideCertEnable *bool `access:"experimental_features,cloud_restrictable"` ClientSideCertCheck *string `access:"experimental_features,cloud_restrictable"` LinkMetadataTimeoutMilliseconds *int64 `access:"experimental_features,write_restrictable,cloud_restrictable"` RestrictSystemAdmin *bool `access:"experimental_features,write_restrictable"` EnableRemoteClusterService *bool `access:"experimental_features"` // Deprecated: use `ConnectedWorkspacesSettings.EnableRemoteClusterService` DisableAppBar *bool `access:"experimental_features"` DisableRefetchingOnBrowserFocus *bool `access:"experimental_features"` DelayChannelAutocomplete *bool `access:"experimental_features"` DisableWakeUpReconnectHandler *bool `access:"experimental_features"` UsersStatusAndProfileFetchingPollIntervalMilliseconds *int64 `access:"experimental_features"` YoutubeReferrerPolicy *bool `access:"experimental_features"` }
func (*ExperimentalSettings) SetDefaults ¶
func (s *ExperimentalSettings) SetDefaults()
type ExportSettings ¶
type ExportSettings struct { // The directory where to store the exported files. Directory *string // telemetry: none // The number of days to retain the exported files before deleting them. RetentionDays *int }
ExportSettings defines configuration settings for file exports.
func (*ExportSettings) SetDefaults ¶
func (s *ExportSettings) SetDefaults()
SetDefaults applies the default settings to the struct.
type ExternalDependency ¶
type FailedPayment ¶
type FeatureFlags ¶
type FeatureFlags struct { // Exists only for unit and manual testing. // When set to a value, will be returned by the ping endpoint. TestFeature string // Exists only for testing bool functionality. Boolean feature flags interpret "on" or "true" as true and // all other values as false. TestBoolFeature bool // Enable the remote cluster service for shared channels. EnableRemoteClusterService bool EnableSharedChannelsDMs bool // AppsEnabled toggles the Apps framework functionalities both in server and client side AppsEnabled bool PermalinkPreviews bool NormalizeLdapDNs bool // Enable WYSIWYG text editor WysiwygEditor bool OnboardingTourTips bool DeprecateCloudFree bool EnableExportDirectDownload bool MoveThreadsEnabled bool StreamlinedMarketplace bool CloudIPFiltering bool ConsumePostHook bool CloudAnnualRenewals bool CloudDedicatedExportUI bool ChannelBookmarks bool WebSocketEventScope bool NotificationMonitoring bool ExperimentalAuditSettingsSystemConsoleUI bool }
func (*FeatureFlags) SetDefaults ¶
func (f *FeatureFlags) SetDefaults()
func (*FeatureFlags) ToMap ¶
func (f *FeatureFlags) ToMap() map[string]string
ToMap returns the feature flags as a map[string]string Supports boolean and string feature flags.
type Features ¶
type Features struct { Users *int `json:"users"` LDAP *bool `json:"ldap"` LDAPGroups *bool `json:"ldap_groups"` MFA *bool `json:"mfa"` GoogleOAuth *bool `json:"google_oauth"` Office365OAuth *bool `json:"office365_oauth"` OpenId *bool `json:"openid"` Compliance *bool `json:"compliance"` Cluster *bool `json:"cluster"` Metrics *bool `json:"metrics"` MHPNS *bool `json:"mhpns"` SAML *bool `json:"saml"` Elasticsearch *bool `json:"elastic_search"` Announcement *bool `json:"announcement"` ThemeManagement *bool `json:"theme_management"` EmailNotificationContents *bool `json:"email_notification_contents"` DataRetention *bool `json:"data_retention"` MessageExport *bool `json:"message_export"` CustomPermissionsSchemes *bool `json:"custom_permissions_schemes"` CustomTermsOfService *bool `json:"custom_terms_of_service"` GuestAccounts *bool `json:"guest_accounts"` GuestAccountsPermissions *bool `json:"guest_accounts_permissions"` IDLoadedPushNotifications *bool `json:"id_loaded"` LockTeammateNameDisplay *bool `json:"lock_teammate_name_display"` EnterprisePlugins *bool `json:"enterprise_plugins"` AdvancedLogging *bool `json:"advanced_logging"` Cloud *bool `json:"cloud"` RemoteClusterService *bool `json:"remote_cluster_service"` OutgoingOAuthConnections *bool `json:"outgoing_oauth_connections"` // after we enabled more features we'll need to control them with this FutureFeatures *bool `json:"future_features"` }
func (*Features) SetDefaults ¶
func (f *Features) SetDefaults()
type FileForIndexing ¶
type FileForIndexing struct { FileInfo ChannelId string `json:"channel_id"` Content string `json:"content"` }
func (*FileForIndexing) ShouldIndex ¶ added in v0.1.7
func (file *FileForIndexing) ShouldIndex() bool
ShouldIndex tells if a file should be indexed or not. index files which are- a. not deleted b. have an associated post ID, if no post ID, then, b.i. the file should belong to the channel's bookmarks, as indicated by the "CreatorId" field.
Files not passing this criteria will be deleted from ES index. We're deleting those files from ES index instead of simply skipping them while fetching a batch of files because existing ES indexes might have these files already indexed, so we need to remove them from index.
type FileInfo ¶
type FileInfo struct { Id string `json:"id"` CreatorId string `json:"user_id"` PostId string `json:"post_id,omitempty"` // ChannelId is the denormalized value from the corresponding post. Note that this value is // potentially distinct from the ChannelId provided when the file is first uploaded and // used to organize the directories in the file store, since in theory that same file // could be attached to a post from a different channel (or not attached to a post at all). ChannelId string `json:"channel_id"` CreateAt int64 `json:"create_at"` UpdateAt int64 `json:"update_at"` DeleteAt int64 `json:"delete_at"` Path string `json:"-"` // not sent back to the client ThumbnailPath string `json:"-"` // not sent back to the client PreviewPath string `json:"-"` // not sent back to the client Name string `json:"name"` Extension string `json:"extension"` Size int64 `json:"size"` MimeType string `json:"mime_type"` Width int `json:"width,omitempty"` Height int `json:"height,omitempty"` HasPreviewImage bool `json:"has_preview_image,omitempty"` MiniPreview *[]byte `json:"mini_preview"` // declared as *[]byte to avoid postgres/mysql differences in deserialization Content string `json:"-"` RemoteId *string `json:"remote_id"` Archived bool `json:"archived"` }
func (*FileInfo) MakeContentInaccessible ¶
func (fi *FileInfo) MakeContentInaccessible()
type FileInfoList ¶
type FileInfoList struct { Order []string `json:"order"` FileInfos map[string]*FileInfo `json:"file_infos"` NextFileInfoId string `json:"next_file_info_id"` PrevFileInfoId string `json:"prev_file_info_id"` // If there are inaccessible files, FirstInaccessibleFileTime is the time of the latest inaccessible file FirstInaccessibleFileTime int64 `json:"first_inaccessible_file_time"` }
func NewFileInfoList ¶
func NewFileInfoList() *FileInfoList
func (*FileInfoList) AddFileInfo ¶
func (o *FileInfoList) AddFileInfo(fileInfo *FileInfo)
func (*FileInfoList) AddOrder ¶
func (o *FileInfoList) AddOrder(id string)
func (*FileInfoList) Etag ¶
func (o *FileInfoList) Etag() string
func (*FileInfoList) Extend ¶
func (o *FileInfoList) Extend(other *FileInfoList)
func (*FileInfoList) MakeNonNil ¶
func (o *FileInfoList) MakeNonNil()
func (*FileInfoList) SortByCreateAt ¶
func (o *FileInfoList) SortByCreateAt()
func (*FileInfoList) ToSlice ¶
func (o *FileInfoList) ToSlice() []*FileInfo
func (*FileInfoList) UniqueOrder ¶
func (o *FileInfoList) UniqueOrder()
type FileInfoSearchMatches ¶
type FileInfoSearchResults ¶
type FileInfoSearchResults struct { *FileInfoList Matches FileInfoSearchMatches `json:"matches"` }
func MakeFileInfoSearchResults ¶
func MakeFileInfoSearchResults(fileInfos *FileInfoList, matches FileInfoSearchMatches) *FileInfoSearchResults
type FileSettings ¶
type FileSettings struct { EnableFileAttachments *bool `access:"site_file_sharing_and_downloads"` EnableMobileUpload *bool `access:"site_file_sharing_and_downloads"` EnableMobileDownload *bool `access:"site_file_sharing_and_downloads"` MaxFileSize *int64 `access:"environment_file_storage,cloud_restrictable"` MaxImageResolution *int64 `access:"environment_file_storage,cloud_restrictable"` MaxImageDecoderConcurrency *int64 `access:"environment_file_storage,cloud_restrictable"` DriverName *string `access:"environment_file_storage,write_restrictable,cloud_restrictable"` Directory *string `access:"environment_file_storage,write_restrictable,cloud_restrictable"` EnablePublicLink *bool `access:"site_public_links,cloud_restrictable"` ExtractContent *bool `access:"environment_file_storage,write_restrictable"` ArchiveRecursion *bool `access:"environment_file_storage,write_restrictable"` PublicLinkSalt *string `access:"site_public_links,cloud_restrictable"` // telemetry: none InitialFont *string `access:"environment_file_storage,cloud_restrictable"` // telemetry: none AmazonS3AccessKeyId *string `access:"environment_file_storage,write_restrictable,cloud_restrictable"` // telemetry: none AmazonS3SecretAccessKey *string `access:"environment_file_storage,write_restrictable,cloud_restrictable"` // telemetry: none AmazonS3Bucket *string `access:"environment_file_storage,write_restrictable,cloud_restrictable"` // telemetry: none AmazonS3PathPrefix *string `access:"environment_file_storage,write_restrictable,cloud_restrictable"` // telemetry: none AmazonS3Region *string `access:"environment_file_storage,write_restrictable,cloud_restrictable"` // telemetry: none AmazonS3Endpoint *string `access:"environment_file_storage,write_restrictable,cloud_restrictable"` // telemetry: none AmazonS3SSL *bool `access:"environment_file_storage,write_restrictable,cloud_restrictable"` AmazonS3SignV2 *bool `access:"environment_file_storage,write_restrictable,cloud_restrictable"` AmazonS3SSE *bool `access:"environment_file_storage,write_restrictable,cloud_restrictable"` AmazonS3Trace *bool `access:"environment_file_storage,write_restrictable,cloud_restrictable"` AmazonS3RequestTimeoutMilliseconds *int64 `access:"environment_file_storage,write_restrictable,cloud_restrictable"` // telemetry: none AmazonS3UploadPartSizeBytes *int64 `access:"environment_file_storage,write_restrictable,cloud_restrictable"` // telemetry: none AmazonS3StorageClass *string `access:"environment_file_storage,write_restrictable,cloud_restrictable"` // telemetry: none // Export store settings DedicatedExportStore *bool `access:"environment_file_storage,write_restrictable"` ExportDriverName *string `access:"environment_file_storage,write_restrictable"` ExportDirectory *string `access:"environment_file_storage,write_restrictable"` // telemetry: none ExportAmazonS3AccessKeyId *string `access:"environment_file_storage,write_restrictable"` // telemetry: none ExportAmazonS3SecretAccessKey *string `access:"environment_file_storage,write_restrictable"` // telemetry: none ExportAmazonS3Bucket *string `access:"environment_file_storage,write_restrictable"` // telemetry: none ExportAmazonS3PathPrefix *string `access:"environment_file_storage,write_restrictable"` // telemetry: none ExportAmazonS3Region *string `access:"environment_file_storage,write_restrictable"` // telemetry: none ExportAmazonS3Endpoint *string `access:"environment_file_storage,write_restrictable"` // telemetry: none ExportAmazonS3SSL *bool `access:"environment_file_storage,write_restrictable"` ExportAmazonS3SignV2 *bool `access:"environment_file_storage,write_restrictable"` ExportAmazonS3SSE *bool `access:"environment_file_storage,write_restrictable"` ExportAmazonS3Trace *bool `access:"environment_file_storage,write_restrictable"` ExportAmazonS3RequestTimeoutMilliseconds *int64 `access:"environment_file_storage,write_restrictable"` // telemetry: none ExportAmazonS3PresignExpiresSeconds *int64 `access:"environment_file_storage,write_restrictable"` // telemetry: none ExportAmazonS3UploadPartSizeBytes *int64 `access:"environment_file_storage,write_restrictable"` // telemetry: none ExportAmazonS3StorageClass *string `access:"environment_file_storage,write_restrictable"` // telemetry: none }
func (*FileSettings) SetDefaults ¶
func (s *FileSettings) SetDefaults(isUpdate bool)
type FileUploadResponse ¶
type FilesLimits ¶
type FilesLimits struct {
TotalStorage *int64 `json:"total_storage"`
}
type GetFileInfosOptions ¶
type GetFileInfosOptions struct { // UserIds optionally limits the FileInfos to those created by the given users. UserIds []string `json:"user_ids"` // ChannelIds optionally limits the FileInfos to those created in the given channels. ChannelIds []string `json:"channel_ids"` // Since optionally limits FileInfos to those created at or after the given time, specified as Unix time in milliseconds. Since int64 `json:"since"` // IncludeDeleted if set includes deleted FileInfos. IncludeDeleted bool `json:"include_deleted"` // SortBy sorts the FileInfos by this field. The default is to sort by date created. SortBy string `json:"sort_by"` // SortDescending changes the sort direction to descending order when true. SortDescending bool `json:"sort_descending"` }
GetFileInfosOptions contains options for getting FileInfos
type GetGroupOpts ¶
type GetIPAddressResponse ¶ added in v0.0.11
type GetIPAddressResponse struct {
IP string `json:"ip"`
}
type GetPostsOptions ¶
type GetPostsOptions struct { UserId string ChannelId string PostId string Page int PerPage int SkipFetchThreads bool CollapsedThreads bool CollapsedThreadsExtended bool FromPost string // PostId after which to send the items FromCreateAt int64 // CreateAt after which to send the items Direction string // Only accepts up|down. Indicates the order in which to send the items. IncludeDeleted bool IncludePostPriority bool }
type GetPostsSinceForSyncCursor ¶
type GetPostsSinceForSyncCursor struct { LastPostUpdateAt int64 LastPostUpdateID string LastPostCreateAt int64 LastPostCreateID string }
func (GetPostsSinceForSyncCursor) IsEmpty ¶ added in v0.0.12
func (c GetPostsSinceForSyncCursor) IsEmpty() bool
type GetPostsSinceOptions ¶
type GetUserThreadsOpts ¶
type GetUserThreadsOpts struct { // PageSize specifies the size of the returned chunk of results. Default = 30 PageSize uint64 // Extended will enrich the response with participant details. Default = false Extended bool // Deleted will specify that even deleted threads should be returned (For mobile sync). Default = false Deleted bool // Since filters the threads based on their LastUpdateAt timestamp. Since uint64 // Before specifies thread id as a cursor for pagination and will return `PageSize` threads before the cursor Before string // After specifies thread id as a cursor for pagination and will return `PageSize` threads after the cursor After string // Unread will make sure that only threads with unread replies are returned Unread bool // TotalsOnly will not fetch any threads and just fetch the total counts TotalsOnly bool // ThreadsOnly will fetch threads but not calculate totals and will return 0 ThreadsOnly bool // TeamOnly will only fetch threads and unreads for the specified team and excludes DMs/GMs TeamOnly bool // IncludeIsUrgent will return IsUrgent field as well to assert is the thread is urgent or not IncludeIsUrgent bool }
type GetUsersForSyncFilter ¶
type GithubReleaseInfo ¶
type GithubReleaseInfo struct { Id int `json:"id"` TagName string `json:"tag_name"` Name string `json:"name"` CreatedAt string `json:"created_at"` PublishedAt string `json:"published_at"` Body string `json:"body"` Url string `json:"html_url"` }
func (*GithubReleaseInfo) IsValid ¶
func (g *GithubReleaseInfo) IsValid() *AppError
type GlobalRelayMessageExportSettings ¶
type GlobalRelayMessageExportSettings struct { CustomerType *string `access:"compliance_compliance_export"` // must be either A9, A10 or CUSTOM, dictates SMTP server url SMTPUsername *string `access:"compliance_compliance_export"` SMTPPassword *string `access:"compliance_compliance_export"` EmailAddress *string `access:"compliance_compliance_export"` // the address to send messages to SMTPServerTimeout *int `access:"compliance_compliance_export"` CustomSMTPServerName *string `access:"compliance_compliance_export"` CustomSMTPPort *string `access:"compliance_compliance_export"` }
func (*GlobalRelayMessageExportSettings) SetDefaults ¶
func (s *GlobalRelayMessageExportSettings) SetDefaults()
type GlobalRetentionPolicy ¶
type Group ¶
type Group struct { Id string `json:"id"` Name *string `json:"name,omitempty"` DisplayName string `json:"display_name"` Description string `json:"description"` Source GroupSource `json:"source"` RemoteId *string `json:"remote_id"` CreateAt int64 `json:"create_at"` UpdateAt int64 `json:"update_at"` DeleteAt int64 `json:"delete_at"` HasSyncables bool `db:"-" json:"has_syncables"` MemberCount *int `db:"-" json:"member_count,omitempty"` AllowReference bool `json:"allow_reference"` ChannelMemberCount *int `db:"-" json:"channel_member_count,omitempty"` ChannelMemberTimezonesCount *int `db:"-" json:"channel_member_timezones_count,omitempty"` MemberIDs []string `db:"-" json:"member_ids"` }
func (*Group) GetMemberCount ¶ added in v0.1.6
func (*Group) GetRemoteId ¶
func (*Group) IsValidForCreate ¶
func (*Group) IsValidForUpdate ¶
func (*Group) IsValidName ¶
func (*Group) Patch ¶
func (group *Group) Patch(patch *GroupPatch)
type GroupMember ¶
type GroupMember struct { GroupId string `json:"group_id"` UserId string `json:"user_id"` CreateAt int64 `json:"create_at"` DeleteAt int64 `json:"delete_at"` }
func (*GroupMember) IsValid ¶
func (gm *GroupMember) IsValid() *AppError
type GroupMemberList ¶ added in v0.0.18
type GroupMessageConversionRequestBody ¶ added in v0.0.10
type GroupModifyMembers ¶
type GroupModifyMembers struct {
UserIds []string `json:"user_ids"`
}
func (*GroupModifyMembers) Auditable ¶
func (group *GroupModifyMembers) Auditable() map[string]interface{}
type GroupPatch ¶
type GroupSearchOpts ¶
type GroupSearchOpts struct { Q string NotAssociatedToTeam string NotAssociatedToChannel string IncludeMemberCount bool FilterAllowReference bool PageOpts *PageOpts Since int64 Source GroupSource // FilterParentTeamPermitted filters the groups to the intersect of the // set associated to the parent team and those returned by the query. // If the parent team is not group-constrained or if NotAssociatedToChannel // is not set then this option is ignored. FilterParentTeamPermitted bool // FilterHasMember filters the groups to the intersect of the // set returned by the query and those that have the given user as a member. FilterHasMember string IncludeChannelMemberCount string IncludeTimezones bool IncludeMemberIDs bool // Include archived groups IncludeArchived bool // Only return archived groups FilterArchived bool }
type GroupSource ¶
type GroupSource string
type GroupStats ¶
type GroupSyncable ¶
type GroupSyncable struct { GroupId string `json:"group_id"` // SyncableId represents the Id of the model that is being synced with the group, for example a ChannelId or // TeamId. SyncableId string `db:"-" json:"-"` AutoAdd bool `json:"auto_add"` SchemeAdmin bool `json:"scheme_admin"` CreateAt int64 `json:"create_at"` DeleteAt int64 `json:"delete_at"` UpdateAt int64 `json:"update_at"` Type GroupSyncableType `db:"-" json:"-"` // Values joined in from the associated team and/or channel ChannelDisplayName string `db:"-" json:"-"` TeamDisplayName string `db:"-" json:"-"` TeamType string `db:"-" json:"-"` ChannelType string `db:"-" json:"-"` TeamID string `db:"-" json:"-"` }
func NewGroupChannel ¶
func NewGroupChannel(groupID, channelID string, autoAdd bool) *GroupSyncable
func NewGroupTeam ¶
func NewGroupTeam(groupID, teamID string, autoAdd bool) *GroupSyncable
func (*GroupSyncable) Auditable ¶
func (syncable *GroupSyncable) Auditable() map[string]interface{}
func (*GroupSyncable) IsValid ¶
func (syncable *GroupSyncable) IsValid() *AppError
func (*GroupSyncable) MarshalJSON ¶
func (syncable *GroupSyncable) MarshalJSON() ([]byte, error)
func (*GroupSyncable) Patch ¶
func (syncable *GroupSyncable) Patch(patch *GroupSyncablePatch)
func (*GroupSyncable) UnmarshalJSON ¶
func (syncable *GroupSyncable) UnmarshalJSON(b []byte) error
type GroupSyncablePatch ¶
type GroupSyncablePatch struct { AutoAdd *bool `json:"auto_add"` SchemeAdmin *bool `json:"scheme_admin"` }
func (*GroupSyncablePatch) Auditable ¶
func (syncable *GroupSyncablePatch) Auditable() map[string]interface{}
type GroupSyncableType ¶
type GroupSyncableType string
const ( GroupSyncableTypeTeam GroupSyncableType = "Team" GroupSyncableTypeChannel GroupSyncableType = "Channel" )
func (GroupSyncableType) String ¶
func (gst GroupSyncableType) String() string
type GroupWithSchemeAdmin ¶
type GroupWithUserIds ¶
func (*GroupWithUserIds) Auditable ¶
func (group *GroupWithUserIds) Auditable() map[string]interface{}
type GroupsAssociatedToChannel ¶
type GroupsAssociatedToChannel struct { ChannelId string `json:"channel_id"` Groups []*GroupWithSchemeAdmin `json:"groups"` }
type GroupsWithCount ¶
type GuestAccountsSettings ¶
type GuestAccountsSettings struct { Enable *bool `access:"authentication_guest_access"` HideTags *bool `access:"authentication_guest_access"` AllowEmailAccounts *bool `access:"authentication_guest_access"` EnforceMultifactorAuthentication *bool `access:"authentication_guest_access"` RestrictCreationToDomains *string `access:"authentication_guest_access"` }
func (*GuestAccountsSettings) SetDefaults ¶
func (s *GuestAccountsSettings) SetDefaults()
type GuestsInvite ¶
type GuestsInvite struct { Emails []string `json:"emails"` Channels []string `json:"channels"` Message string `json:"message"` }
func (*GuestsInvite) Auditable ¶
func (i *GuestsInvite) Auditable() map[string]interface{}
func (*GuestsInvite) IsValid ¶
func (i *GuestsInvite) IsValid() *AppError
IsValid validates the user and returns an error if it isn't configured correctly.
type IDPSSODescriptor ¶
type IDPSSODescriptor struct { XMLName xml.Name `xml:"urn:oasis:names:tc:SAML:2.0:metadata IDPSSODescriptor"` SSODescriptor WantAuthnRequestsSigned *bool `xml:",attr"` SingleSignOnServices []Endpoint `xml:"SingleSignOnService"` NameIDMappingServices []Endpoint `xml:"NameIDMappingService"` AssertionIDRequestServices []Endpoint `xml:"AssertionIDRequestService"` AttributeProfiles []string `xml:"AttributeProfile"` Attributes []Attribute `xml:"Attribute"` }
type ImageProxySettings ¶
type ImageProxySettings struct { Enable *bool `access:"environment_image_proxy"` ImageProxyType *string `access:"environment_image_proxy"` RemoteImageProxyURL *string `access:"environment_image_proxy"` RemoteImageProxyOptions *string `access:"environment_image_proxy"` }
func (*ImageProxySettings) SetDefaults ¶
func (s *ImageProxySettings) SetDefaults()
type ImportSettings ¶
type ImportSettings struct { // The directory where to store the imported files. Directory *string // The number of days to retain the imported files before deleting them. RetentionDays *int }
ImportSettings defines configuration settings for file imports.
func (*ImportSettings) SetDefaults ¶
func (s *ImportSettings) SetDefaults()
SetDefaults applies the default settings to the struct.
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"` Username string `json:"username"` IconURL string `json:"icon_url"` ChannelLocked bool `json:"channel_locked"` }
func (*IncomingWebhook) Auditable ¶
func (o *IncomingWebhook) Auditable() map[string]interface{}
func (*IncomingWebhook) IsValid ¶
func (o *IncomingWebhook) IsValid() *AppError
func (*IncomingWebhook) PreSave ¶
func (o *IncomingWebhook) PreSave()
func (*IncomingWebhook) PreUpdate ¶
func (o *IncomingWebhook) PreUpdate()
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 []*SlackAttachment `json:"attachments"` Type string `json:"type"` IconEmoji string `json:"icon_emoji"` Priority *PostPriority `json:"priority"` }
type IncomingWebhooksWithCount ¶ added in v0.1.7
type IncomingWebhooksWithCount struct { Webhooks []*IncomingWebhook `json:"incoming_webhooks"` TotalCount int64 `json:"total_count"` }
type IndexedEndpoint ¶
type InitialLoad ¶
type InitialLoad struct { User *User `json:"user"` TeamMembers []*TeamMember `json:"team_members"` Teams []*Team `json:"teams"` Preferences Preferences `json:"preferences"` ClientCfg map[string]string `json:"client_cfg"` LicenseCfg map[string]string `json:"license_cfg"` NoAccounts bool `json:"no_accounts"` }
type InstallMarketplacePluginRequest ¶
type InstallMarketplacePluginRequest struct { Id string `json:"id"` Version string `json:"version"` }
InstallMarketplacePluginRequest struct describes parameters of the requested plugin.
func PluginRequestFromReader ¶
func PluginRequestFromReader(reader io.Reader) (*InstallMarketplacePluginRequest, error)
PluginRequestFromReader decodes a json-encoded plugin request from the given io.Reader.
type Installation ¶ added in v0.0.11
type Installation struct { ID string `json:"id"` State string `json:"state"` AllowedIPRanges *AllowedIPRanges `json:"allowed_ip_ranges"` }
type InstalledIntegration ¶
type IntegrityCheckResult ¶
func (*IntegrityCheckResult) UnmarshalJSON ¶
func (r *IntegrityCheckResult) UnmarshalJSON(b []byte) error
type Invites ¶
func (*Invites) ToEmailList ¶
type Invoice ¶
type Invoice struct { ID string `json:"id"` Number string `json:"number"` CreateAt int64 `json:"create_at"` Total int64 `json:"total"` Tax int64 `json:"tax"` Status string `json:"status"` Description string `json:"description"` PeriodStart int64 `json:"period_start"` PeriodEnd int64 `json:"period_end"` SubscriptionID string `json:"subscription_id"` Items []*InvoiceLineItem `json:"line_items"` CurrentProductName string `json:"current_product_name"` }
Invoice model represents a cloud invoice
type InvoiceLineItem ¶
type InvoiceLineItem struct { PriceID string `json:"price_id"` Total int64 `json:"total"` Quantity float64 `json:"quantity"` PricePerUnit int64 `json:"price_per_unit"` Description string `json:"description"` Type string `json:"type"` Metadata map[string]any `json:"metadata"` PeriodStart int64 `json:"period_start"` PeriodEnd int64 `json:"period_end"` }
InvoiceLineItem model represents a cloud invoice lineitem tied to an invoice.
type Job ¶
type Job struct { Id string `json:"id"` Type string `json:"type"` Priority int64 `json:"priority"` CreateAt int64 `json:"create_at"` StartAt int64 `json:"start_at"` LastActivityAt int64 `json:"last_activity_at"` Status string `json:"status"` Progress int64 `json:"progress"` Data StringMap `json:"data"` }
func (*Job) IsValidStatusChange ¶ added in v0.1.5
type JobSettings ¶
type JobSettings struct { RunJobs *bool `access:"write_restrictable,cloud_restrictable"` // telemetry: none RunScheduler *bool `access:"write_restrictable,cloud_restrictable"` // telemetry: none CleanupJobsThresholdDays *int `access:"write_restrictable,cloud_restrictable"` CleanupConfigThresholdDays *int `access:"write_restrictable,cloud_restrictable"` }
func (*JobSettings) SetDefaults ¶
func (s *JobSettings) SetDefaults()
type KeyDescriptor ¶
type LdapGroupSearchOpts ¶
type LdapSettings ¶
type LdapSettings struct { // Basic Enable *bool `access:"authentication_ldap"` EnableSync *bool `access:"authentication_ldap"` LdapServer *string `access:"authentication_ldap"` // telemetry: none LdapPort *int `access:"authentication_ldap"` // telemetry: none ConnectionSecurity *string `access:"authentication_ldap"` BaseDN *string `access:"authentication_ldap"` // telemetry: none BindUsername *string `access:"authentication_ldap"` // telemetry: none BindPassword *string `access:"authentication_ldap"` // telemetry: none // Filtering UserFilter *string `access:"authentication_ldap"` // telemetry: none GroupFilter *string `access:"authentication_ldap"` GuestFilter *string `access:"authentication_ldap"` EnableAdminFilter *bool AdminFilter *string // Group Mapping GroupDisplayNameAttribute *string `access:"authentication_ldap"` GroupIdAttribute *string `access:"authentication_ldap"` // User Mapping FirstNameAttribute *string `access:"authentication_ldap"` LastNameAttribute *string `access:"authentication_ldap"` EmailAttribute *string `access:"authentication_ldap"` UsernameAttribute *string `access:"authentication_ldap"` NicknameAttribute *string `access:"authentication_ldap"` IdAttribute *string `access:"authentication_ldap"` PositionAttribute *string `access:"authentication_ldap"` LoginIdAttribute *string `access:"authentication_ldap"` PictureAttribute *string `access:"authentication_ldap"` // Synchronization SyncIntervalMinutes *int `access:"authentication_ldap"` // Advanced SkipCertificateVerification *bool `access:"authentication_ldap"` PublicCertificateFile *string `access:"authentication_ldap"` PrivateKeyFile *string `access:"authentication_ldap"` QueryTimeout *int `access:"authentication_ldap"` MaxPageSize *int `access:"authentication_ldap"` // Customization LoginFieldName *string `access:"authentication_ldap"` LoginButtonColor *string `access:"experimental_features"` LoginButtonBorderColor *string `access:"experimental_features"` LoginButtonTextColor *string `access:"experimental_features"` }
func (*LdapSettings) SetDefaults ¶
func (s *LdapSettings) SetDefaults()
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"` SkuName string `json:"sku_name"` SkuShortName string `json:"sku_short_name"` IsTrial bool `json:"is_trial"` IsGovSku bool `json:"is_gov_sku"` SignupJWT *string `json:"signup_jwt"` }
func NewTestLicense ¶
NewTestLicense returns a license that expires in the future and has the given features.
func NewTestLicenseSKU ¶
func NewTestLicenseWithFalseDefaults ¶
NewTestLicense returns a license that expires in the future and set as false the given features.
func (*License) DaysToExpiration ¶
func (*License) HasEnterpriseMarketplacePlugins ¶
func (*License) HasRemoteClusterService ¶
func (*License) HasSharedChannels ¶
func (*License) IsE20OrEnterprise ¶ added in v0.1.7
IsE20OrEnterprise returns true when the license is for E20 or Enterprise.
func (*License) IsPastGracePeriod ¶
func (*License) IsSanctionedTrial ¶
func (*License) IsTrialLicense ¶
func (*License) IsWithinExpirationPeriod ¶
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 LinkMetadata ¶
type LinkMetadata struct { // Hash is a value computed from the URL and Timestamp for use as a primary key in the database. Hash int64 URL string Timestamp int64 Type LinkMetadataType // Data is the actual metadata for the link. It should contain data of one of the following types: // - *model.PostImage if the linked content is an image // - *opengraph.OpenGraph if the linked content is an HTML document // - nil if the linked content has no metadata Data any }
LinkMetadata stores arbitrary data about a link posted in a message. This includes dimensions of linked images and OpenGraph metadata.
func (*LinkMetadata) DeserializeDataToConcreteType ¶
func (o *LinkMetadata) DeserializeDataToConcreteType() error
DeserializeDataToConcreteType converts o.Data from JSON into properly structured data. This is intended to be used after getting a LinkMetadata object that has been stored in the database.
func (*LinkMetadata) IsValid ¶
func (o *LinkMetadata) IsValid() *AppError
func (*LinkMetadata) PreSave ¶
func (o *LinkMetadata) PreSave()
type LinkMetadataType ¶
type LinkMetadataType string
type LocalizationSettings ¶
type LocalizationSettings struct { DefaultServerLocale *string `access:"site_localization"` DefaultClientLocale *string `access:"site_localization"` AvailableLocales *string `access:"site_localization"` }
func (*LocalizationSettings) SetDefaults ¶
func (s *LocalizationSettings) SetDefaults()
type LocalizedName ¶
type LocalizedURI ¶
type LogSettings ¶
type LogSettings struct { EnableConsole *bool `access:"environment_logging,write_restrictable,cloud_restrictable"` ConsoleLevel *string `access:"environment_logging,write_restrictable,cloud_restrictable"` ConsoleJson *bool `access:"environment_logging,write_restrictable,cloud_restrictable"` EnableColor *bool `access:"environment_logging,write_restrictable,cloud_restrictable"` // telemetry: none EnableFile *bool `access:"environment_logging,write_restrictable,cloud_restrictable"` FileLevel *string `access:"environment_logging,write_restrictable,cloud_restrictable"` FileJson *bool `access:"environment_logging,write_restrictable,cloud_restrictable"` FileLocation *string `access:"environment_logging,write_restrictable,cloud_restrictable"` EnableWebhookDebugging *bool `access:"environment_logging,write_restrictable,cloud_restrictable"` EnableDiagnostics *bool `access:"environment_logging,write_restrictable,cloud_restrictable"` // telemetry: none VerboseDiagnostics *bool `access:"environment_logging,write_restrictable,cloud_restrictable"` // telemetry: none EnableSentry *bool `access:"environment_logging,write_restrictable,cloud_restrictable"` // telemetry: none AdvancedLoggingJSON json.RawMessage `access:"environment_logging,write_restrictable,cloud_restrictable"` MaxFieldSize *int `access:"environment_logging,write_restrictable,cloud_restrictable"` }
func NewLogSettings ¶
func NewLogSettings() *LogSettings
func (*LogSettings) GetAdvancedLoggingConfig ¶
func (s *LogSettings) GetAdvancedLoggingConfig() []byte
GetAdvancedLoggingConfig returns the advanced logging config as a []byte.
func (*LogSettings) SetDefaults ¶
func (s *LogSettings) SetDefaults()
type Manifest ¶
type Manifest struct { // The id is a globally unique identifier that represents your plugin. Ids must be at least // 3 characters, at most 190 characters and must match ^[a-zA-Z0-9-_\.]+$. // Reverse-DNS notation using a name you control is a good option, e.g. "com.mycompany.myplugin". Id string `json:"id" yaml:"id"` // The name to be displayed for the plugin. Name string `json:"name" yaml:"name"` // A description of what your plugin is and does. Description string `json:"description,omitempty" yaml:"description,omitempty"` // HomepageURL is an optional link to learn more about the plugin. HomepageURL string `json:"homepage_url,omitempty" yaml:"homepage_url,omitempty"` // SupportURL is an optional URL where plugin issues can be reported. SupportURL string `json:"support_url,omitempty" yaml:"support_url,omitempty"` // ReleaseNotesURL is an optional URL where a changelog for the release can be found. ReleaseNotesURL string `json:"release_notes_url,omitempty" yaml:"release_notes_url,omitempty"` // A relative file path in the bundle that points to the plugins svg icon for use with the Plugin Marketplace. // This should be relative to the root of your bundle and the location of the manifest file. Bitmap image formats are not supported. IconPath string `json:"icon_path,omitempty" yaml:"icon_path,omitempty"` // A version number for your plugin. Semantic versioning is recommended: http://semver.org Version string `json:"version" yaml:"version"` // The minimum Mattermost server version required for your plugin. // // Minimum server version: 5.6 MinServerVersion string `json:"min_server_version,omitempty" yaml:"min_server_version,omitempty"` // Server defines the server-side portion of your plugin. Server *ManifestServer `json:"server,omitempty" yaml:"server,omitempty"` // If your plugin extends the web app, you'll need to define webapp. Webapp *ManifestWebapp `json:"webapp,omitempty" yaml:"webapp,omitempty"` // To allow administrators to configure your plugin via the Mattermost system console, you can // provide your settings schema. SettingsSchema *PluginSettingsSchema `json:"settings_schema,omitempty" yaml:"settings_schema,omitempty"` // Plugins can store any kind of data in Props to allow other plugins to use it. Props map[string]any `json:"props,omitempty" yaml:"props,omitempty"` }
The plugin manifest defines the metadata required to load and present your plugin. The manifest file should be named plugin.json or plugin.yaml and placed in the top of your plugin bundle.
Example plugin.json:
{ "id": "com.mycompany.myplugin", "name": "My Plugin", "description": "This is my plugin", "homepage_url": "https://example.com", "support_url": "https://example.com/support", "release_notes_url": "https://example.com/releases/v0.0.1", "icon_path": "assets/logo.svg", "version": "0.1.0", "min_server_version": "5.6.0", "server": { "executables": { "linux-amd64": "server/dist/plugin-linux-amd64", "darwin-amd64": "server/dist/plugin-darwin-amd64", "windows-amd64": "server/dist/plugin-windows-amd64.exe" } }, "webapp": { "bundle_path": "webapp/dist/main.js" }, "settings_schema": { "header": "Some header text", "footer": "Some footer text", "settings": [{ "key": "someKey", "display_name": "Enable Extra Feature", "type": "bool", "help_text": "When true, an extra feature will be enabled!", "default": "false" }] }, "props": { "someKey": "someData" } }
func FindManifest ¶
FindManifest will find and parse the manifest in a given directory.
In all cases other than a does-not-exist error, path is set to the path of the manifest file that was found.
Manifests are JSON or YAML files named plugin.json, plugin.yaml, or plugin.yml.
func (*Manifest) ClientManifest ¶
func (*Manifest) GetExecutableForRuntime ¶
GetExecutableForRuntime returns the path to the executable for the given runtime architecture.
If the manifest defines multiple executables, but none match, or if only a single executable is defined, the Executable field will be returned. This method does not guarantee that the resulting binary can actually execute on the given platform.
type ManifestServer ¶
type ManifestServer struct { // Executables are the paths to your executable binaries, specifying multiple entry // points for different platforms when bundled together in a single plugin. Executables map[string]string `json:"executables,omitempty" yaml:"executables,omitempty"` // Executable is the path to your executable binary. This should be relative to the root // of your bundle and the location of the manifest file. // // On Windows, this file must have a ".exe" extension. // // If your plugin is compiled for multiple platforms, consider bundling them together // and using the Executables field instead. Executable string `json:"executable" yaml:"executable"` }
type ManifestWebapp ¶
type ManifestWebapp struct { // The path to your webapp bundle. This should be relative to the root of your bundle and the // location of the manifest file. BundlePath string `json:"bundle_path" yaml:"bundle_path"` // BundleHash is the 64-bit FNV-1a hash of the webapp bundle, computed when the plugin is loaded BundleHash []byte `json:"-"` }
type MarketplaceLabel ¶
type MarketplaceLabel struct { Name string `json:"name"` Description string `json:"description"` URL string `json:"url"` Color string `json:"color"` }
MarketplaceLabel represents a label shown in the Marketplace UI.
type MarketplacePlugin ¶
type MarketplacePlugin struct { *BaseMarketplacePlugin InstalledVersion string `json:"installed_version"` }
MarketplacePlugin is a state aware Marketplace plugin.
func MarketplacePluginsFromReader ¶
func MarketplacePluginsFromReader(reader io.Reader) ([]*MarketplacePlugin, error)
MarketplacePluginsFromReader decodes a json-encoded list of plugins from the given io.Reader.
type MarketplacePluginFilter ¶
type MarketplacePluginFilter struct { Page int PerPage int Filter string ServerVersion string BuildEnterpriseReady bool EnterprisePlugins bool Cloud bool LocalOnly bool Platform string PluginId string ReturnAllVersions bool RemoteOnly bool }
MarketplacePluginFilter describes the parameters to request a list of plugins.
func (*MarketplacePluginFilter) ApplyToURL ¶
func (filter *MarketplacePluginFilter) ApplyToURL(u *url.URL)
ApplyToURL modifies the given url to include query string parameters for the request.
type MattermostFeature ¶
type MattermostFeature string
type MemberInvite ¶
type MemberInvite struct { Emails []string `json:"emails"` ChannelIds []string `json:"channelIds,omitempty"` Message string `json:"message"` }
func (*MemberInvite) Auditable ¶
func (i *MemberInvite) Auditable() map[string]interface{}
func (*MemberInvite) IsValid ¶
func (i *MemberInvite) IsValid() *AppError
IsValid validates that the invitation info is loaded correctly and with the correct structure
func (*MemberInvite) UnmarshalJSON ¶
func (i *MemberInvite) UnmarshalJSON(b []byte) error
type MessageExport ¶
type MessageExport struct { TeamId *string TeamName *string TeamDisplayName *string ChannelId *string ChannelName *string ChannelDisplayName *string ChannelType *ChannelType UserId *string UserEmail *string Username *string IsBot bool PostId *string PostCreateAt *int64 PostUpdateAt *int64 PostDeleteAt *int64 PostMessage *string PostType *string PostRootId *string PostProps *string PostOriginalId *string PostFileIds StringArray }
func (*MessageExport) PreviewID ¶
func (m *MessageExport) PreviewID() string
PreviewID returns the value of the post's previewed_post prop, if present, or an empty string.
type MessageExportCursor ¶
type MessageExportSettings ¶
type MessageExportSettings struct { EnableExport *bool `access:"compliance_compliance_export"` ExportFormat *string `access:"compliance_compliance_export"` DailyRunTime *string `access:"compliance_compliance_export"` ExportFromTimestamp *int64 `access:"compliance_compliance_export"` BatchSize *int `access:"compliance_compliance_export"` DownloadExportResults *bool `access:"compliance_compliance_export"` // formatter-specific settings - these are only expected to be non-nil if ExportFormat is set to the associated format GlobalRelaySettings *GlobalRelayMessageExportSettings `access:"compliance_compliance_export"` }
func (*MessageExportSettings) SetDefaults ¶
func (s *MessageExportSettings) SetDefaults()
type MessagesLimits ¶
type MessagesLimits struct {
History *int `json:"history"`
}
type MetricSample ¶ added in v0.1.2
type MetricSample struct { Metric MetricType `json:"metric"` Value float64 `json:"value"` Timestamp float64 `json:"timestamp,omitempty"` Labels map[string]string `json:"labels,omitempty"` }
func (*MetricSample) GetLabelValue ¶ added in v0.1.6
type MetricType ¶ added in v0.1.2
type MetricType string
const ( ClientTimeToFirstByte MetricType = "TTFB" ClientFirstContentfulPaint MetricType = "FCP" ClientLargestContentfulPaint MetricType = "LCP" ClientInteractionToNextPaint MetricType = "INP" ClientCumulativeLayoutShift MetricType = "CLS" ClientLongTasks MetricType = "long_tasks" ClientPageLoadDuration MetricType = "page_load" ClientChannelSwitchDuration MetricType = "channel_switch" ClientTeamSwitchDuration MetricType = "team_switch" ClientRHSLoadDuration MetricType = "rhs_load" ClientGlobalThreadsLoadDuration MetricType = "global_threads_load" MobileClientLoadDuration MetricType = "mobile_load" MobileClientChannelSwitchDuration MetricType = "mobile_channel_switch" MobileClientTeamSwitchDuration MetricType = "mobile_team_switch" DesktopClientCPUUsage MetricType = "desktop_cpu" DesktopClientMemoryUsage MetricType = "desktop_memory" )
type MetricsSettings ¶
type MetricsSettings struct { Enable *bool `access:"environment_performance_monitoring,write_restrictable,cloud_restrictable"` BlockProfileRate *int `access:"environment_performance_monitoring,write_restrictable,cloud_restrictable"` ListenAddress *string `access:"environment_performance_monitoring,write_restrictable,cloud_restrictable"` // telemetry: none EnableClientMetrics *bool `access:"environment_performance_monitoring,write_restrictable,cloud_restrictable"` EnableNotificationMetrics *bool `access:"environment_performance_monitoring,write_restrictable,cloud_restrictable"` }
func (*MetricsSettings) SetDefaults ¶
func (s *MetricsSettings) SetDefaults()
type MobileSessionMetadata ¶ added in v0.1.8
type MobileSessionMetadata struct { Version string Platform string Count float64 NotificationDisabled string }
func (*MobileSessionMetadata) DecodeMsg ¶ added in v0.1.8
func (z *MobileSessionMetadata) DecodeMsg(dc *msgp.Reader) (err error)
DecodeMsg implements msgp.Decodable
func (*MobileSessionMetadata) EncodeMsg ¶ added in v0.1.8
func (z *MobileSessionMetadata) EncodeMsg(en *msgp.Writer) (err error)
EncodeMsg implements msgp.Encodable
func (*MobileSessionMetadata) MarshalMsg ¶ added in v0.1.8
func (z *MobileSessionMetadata) MarshalMsg(b []byte) (o []byte, err error)
MarshalMsg implements msgp.Marshaler
func (*MobileSessionMetadata) Msgsize ¶ added in v0.1.8
func (z *MobileSessionMetadata) Msgsize() (s int)
Msgsize returns an upper bound estimate of the number of bytes occupied by the serialized message
func (*MobileSessionMetadata) UnmarshalMsg ¶ added in v0.1.8
func (z *MobileSessionMetadata) UnmarshalMsg(bts []byte) (o []byte, err error)
UnmarshalMsg implements msgp.Unmarshaler
type MoveThreadParams ¶ added in v0.0.12
type MoveThreadParams struct {
ChannelId string `json:"channel_id"`
}
type NameIDFormat ¶
type NativeAppSettings ¶
type NativeAppSettings struct { AppCustomURLSchemes []string `access:"site_customization,write_restrictable,cloud_restrictable"` // telemetry: none AppDownloadLink *string `access:"site_customization,write_restrictable,cloud_restrictable"` AndroidAppDownloadLink *string `access:"site_customization,write_restrictable,cloud_restrictable"` IosAppDownloadLink *string `access:"site_customization,write_restrictable,cloud_restrictable"` MobileExternalBrowser *bool `access:"site_customization,write_restrictable,cloud_restrictable"` }
func (*NativeAppSettings) SetDefaults ¶
func (s *NativeAppSettings) SetDefaults()
type NoticeAction ¶
type NoticeAction string
Optional action to perform on action button click. (defaults to closing the notice)
Possible actions to execute on button press
const (
URL NoticeAction = "url"
)
type NoticeAudience ¶
type NoticeAudience string
User role, i.e. who will see the notice. Defaults to "all"
const ( NoticeAudienceAll NoticeAudience = "all" NoticeAudienceMember NoticeAudience = "member" NoticeAudienceSysadmin NoticeAudience = "sysadmin" NoticeAudienceTeamAdmin NoticeAudience = "teamadmin" )
func NewNoticeAudience ¶
func NewNoticeAudience(s NoticeAudience) *NoticeAudience
type NoticeClientType ¶
type NoticeClientType string
Only show the notice on specific clients. Defaults to 'all'
Client type. Defaults to "all"
const ( NoticeClientTypeAll NoticeClientType = "all" NoticeClientTypeDesktop NoticeClientType = "desktop" NoticeClientTypeMobile NoticeClientType = "mobile" NoticeClientTypeMobileAndroid NoticeClientType = "mobile-android" NoticeClientTypeMobileIos NoticeClientType = "mobile-ios" NoticeClientTypeWeb NoticeClientType = "web" )
func NewNoticeClientType ¶
func NewNoticeClientType(s NoticeClientType) *NoticeClientType
func NoticeClientTypeFromString ¶
func NoticeClientTypeFromString(s string) (NoticeClientType, error)
func (*NoticeClientType) Matches ¶
func (c *NoticeClientType) Matches(other NoticeClientType) bool
type NoticeInstanceType ¶
type NoticeInstanceType string
Instance type. Defaults to "both"
const ( NoticeInstanceTypeBoth NoticeInstanceType = "both" NoticeInstanceTypeCloud NoticeInstanceType = "cloud" NoticeInstanceTypeOnPrem NoticeInstanceType = "onprem" )
func NewNoticeInstanceType ¶
func NewNoticeInstanceType(n NoticeInstanceType) *NoticeInstanceType
func (*NoticeInstanceType) Matches ¶
func (t *NoticeInstanceType) Matches(isCloud bool) bool
type NoticeMessage ¶
type NoticeMessage struct { NoticeMessageInternal ID string `json:"id"` SysAdminOnly bool `json:"sysAdminOnly"` TeamAdminOnly bool `json:"teamAdminOnly"` }
type NoticeMessageInternal ¶
type NoticeMessageInternal struct { Action *NoticeAction `json:"action,omitempty"` // Optional action to perform on action button click. (defaults to closing the notice) ActionParam *string `json:"actionParam,omitempty"` // Optional action parameter.; Example: {"action": "url", actionParam: "/console/some-page"} ActionText *string `json:"actionText,omitempty"` // Optional override for the action button text (defaults to OK) Description string `json:"description"` // Notice content. Use {{Mattermost}} instead of plain text to support white-labeling. Text; supports Markdown. Image *string `json:"image,omitempty"` Title string `json:"title"` // Notice title. Use {{Mattermost}} instead of plain text to support white-labeling. Text; supports Markdown. }
type NoticeMessages ¶
type NoticeMessages []NoticeMessage
func UnmarshalProductNoticeMessages ¶
func UnmarshalProductNoticeMessages(data io.Reader) (NoticeMessages, error)
func (*NoticeMessages) Marshal ¶
func (r *NoticeMessages) Marshal() ([]byte, error)
type NotificationLogSettings ¶
type NotificationLogSettings struct { EnableConsole *bool `access:"write_restrictable,cloud_restrictable"` ConsoleLevel *string `access:"write_restrictable,cloud_restrictable"` ConsoleJson *bool `access:"write_restrictable,cloud_restrictable"` EnableColor *bool `access:"write_restrictable,cloud_restrictable"` // telemetry: none EnableFile *bool `access:"write_restrictable,cloud_restrictable"` FileLevel *string `access:"write_restrictable,cloud_restrictable"` FileJson *bool `access:"write_restrictable,cloud_restrictable"` FileLocation *string `access:"write_restrictable,cloud_restrictable"` AdvancedLoggingJSON json.RawMessage `access:"write_restrictable,cloud_restrictable"` }
func (*NotificationLogSettings) GetAdvancedLoggingConfig ¶
func (s *NotificationLogSettings) GetAdvancedLoggingConfig() []byte
GetAdvancedLoggingConfig returns the advanced logging config as a []byte.
func (*NotificationLogSettings) SetDefaults ¶
func (s *NotificationLogSettings) SetDefaults()
type NotificationReason ¶ added in v0.1.1
type NotificationReason string
type NotificationStatus ¶ added in v0.1.1
type NotificationStatus string
type NotificationType ¶ added in v0.1.1
type NotificationType string
type NotifyAdminData ¶
type NotifyAdminData struct { CreateAt int64 `json:"create_at,omitempty"` UserId string `json:"user_id"` RequiredPlan string `json:"required_plan"` RequiredFeature MattermostFeature `json:"required_feature"` Trial bool `json:"trial"` SentAt sql.NullInt64 `json:"sent_at"` }
func (*NotifyAdminData) IsValid ¶
func (nad *NotifyAdminData) IsValid() *AppError
func (*NotifyAdminData) PreSave ¶
func (nad *NotifyAdminData) PreSave()
type NotifyAdminToUpgradeRequest ¶
type NotifyAdminToUpgradeRequest struct { TrialNotification bool `json:"trial_notification"` RequiredPlan string `json:"required_plan"` RequiredFeature MattermostFeature `json:"required_feature"` }
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"` MattermostAppID string `json:"mattermost_app_id"` }
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.
type Office365Settings ¶
type Office365Settings struct { Enable *bool `access:"authentication_openid"` Secret *string `access:"authentication_openid"` // telemetry: none Id *string `access:"authentication_openid"` // telemetry: none Scope *string `access:"authentication_openid"` AuthEndpoint *string `access:"authentication_openid"` // telemetry: none TokenEndpoint *string `access:"authentication_openid"` // telemetry: none UserAPIEndpoint *string `access:"authentication_openid"` // telemetry: none DiscoveryEndpoint *string `access:"authentication_openid"` // telemetry: none DirectoryId *string `access:"authentication_openid"` // telemetry: none }
func (*Office365Settings) SSOSettings ¶
func (s *Office365Settings) SSOSettings() *SSOSettings
type OnInstallEvent ¶
type OnInstallEvent struct {
UserId string // The user who installed the plugin
}
OnInstallEvent is sent to the plugin when it gets installed.
type OpenDialogRequest ¶
type OpenDialogRequest struct { TriggerId string `json:"trigger_id"` URL string `json:"url"` Dialog Dialog `json:"dialog"` }
func (*OpenDialogRequest) DecodeAndVerifyTriggerId ¶
func (r *OpenDialogRequest) DecodeAndVerifyTriggerId(s *ecdsa.PrivateKey, timeout time.Duration) (string, string, *AppError)
func (*OpenDialogRequest) IsValid ¶ added in v0.1.2
func (r *OpenDialogRequest) IsValid() error
type OrderedSidebarCategories ¶
type OrderedSidebarCategories struct { Categories SidebarCategoriesWithChannels `json:"categories"` Order SidebarCategoryOrder `json:"order"` }
OrderedSidebarCategories combines categories, their channel IDs and an array of Category IDs, sorted
type Organization ¶
type Organization struct { XMLName xml.Name OrganizationNames []LocalizedName `xml:"OrganizationName"` OrganizationDisplayNames []LocalizedName `xml:"OrganizationDisplayName"` OrganizationURLs []LocalizedURI `xml:"OrganizationURL"` }
type OrphanedRecord ¶
type OutgoingOAuthConnection ¶ added in v0.0.11
type OutgoingOAuthConnection struct { Id string `json:"id"` CreatorId string `json:"creator_id"` CreateAt int64 `json:"create_at"` UpdateAt int64 `json:"update_at"` Name string `json:"name"` ClientId string `json:"client_id,omitempty"` ClientSecret string `json:"client_secret,omitempty"` CredentialsUsername *string `json:"credentials_username,omitempty"` CredentialsPassword *string `json:"credentials_password,omitempty"` OAuthTokenURL string `json:"oauth_token_url"` GrantType OutgoingOAuthConnectionGrantType `json:"grant_type"` Audiences StringArray `json:"audiences"` }
func (*OutgoingOAuthConnection) Auditable ¶ added in v0.0.11
func (oa *OutgoingOAuthConnection) Auditable() map[string]interface{}
func (*OutgoingOAuthConnection) Etag ¶ added in v0.0.11
func (oa *OutgoingOAuthConnection) Etag() string
Etag returns the ETag for the cache.
func (*OutgoingOAuthConnection) HasValidGrantType ¶ added in v0.0.15
func (oa *OutgoingOAuthConnection) HasValidGrantType() *AppError
HasValidGrantType validates the grant type and its parameters returning an error if it isn't properly configured
func (*OutgoingOAuthConnection) IsValid ¶ added in v0.0.11
func (oa *OutgoingOAuthConnection) IsValid() *AppError
IsValid validates the object and returns an error if it isn't properly configured
func (*OutgoingOAuthConnection) Patch ¶ added in v0.0.15
func (oa *OutgoingOAuthConnection) Patch(conn *OutgoingOAuthConnection)
Patch updates the OutgoingOAuthConnection object with the non-empty fields from the given connection.
func (*OutgoingOAuthConnection) PreSave ¶ added in v0.0.11
func (oa *OutgoingOAuthConnection) PreSave()
PreSave will set the Id if empty, ensuring the object has one and the create/update times.
func (*OutgoingOAuthConnection) PreUpdate ¶ added in v0.0.11
func (oa *OutgoingOAuthConnection) PreUpdate()
PreUpdate will set the update time to now.
func (*OutgoingOAuthConnection) Sanitize ¶ added in v0.0.11
func (oa *OutgoingOAuthConnection) Sanitize()
Sanitize removes any sensitive fields from the OutgoingOAuthConnection object.
type OutgoingOAuthConnectionGetConnectionsFilter ¶ added in v0.0.11
type OutgoingOAuthConnectionGetConnectionsFilter struct { OffsetId string Limit int Audience string // TeamId is not used as a filter but as a way to check if the current user has permission to // access the outgoing oauth connection for the given team in order to use them in the slash // commands and outgoing webhooks. TeamId string }
OutgoingOAuthConnectionGetConnectionsFilter is used to filter outgoing connections
func (*OutgoingOAuthConnectionGetConnectionsFilter) SetDefaults ¶ added in v0.0.11
func (oaf *OutgoingOAuthConnectionGetConnectionsFilter) SetDefaults()
SetDefaults sets the default values for the filter
func (*OutgoingOAuthConnectionGetConnectionsFilter) ToURLValues ¶ added in v0.0.15
func (oaf *OutgoingOAuthConnectionGetConnectionsFilter) ToURLValues() url.Values
ToURLValues converts the filter to url.Values
type OutgoingOAuthConnectionGrantType ¶ added in v0.0.11
type OutgoingOAuthConnectionGrantType string
const ( OutgoingOAuthConnectionGrantTypeClientCredentials OutgoingOAuthConnectionGrantType = "client_credentials" OutgoingOAuthConnectionGrantTypePassword OutgoingOAuthConnectionGrantType = "password" )
func (OutgoingOAuthConnectionGrantType) IsValid ¶ added in v0.0.11
func (gt OutgoingOAuthConnectionGrantType) IsValid() bool
type OutgoingOAuthConnectionToken ¶ added in v0.0.15
OutgoingOAuthConnectionToken is used to return the token for an outgoing connection oauth authentication request
func (*OutgoingOAuthConnectionToken) AsHeaderValue ¶ added in v0.0.15
func (ooct *OutgoingOAuthConnectionToken) AsHeaderValue() string
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"` Username string `json:"username"` IconURL string `json:"icon_url"` }
func (*OutgoingWebhook) Auditable ¶
func (o *OutgoingWebhook) Auditable() map[string]interface{}
func (*OutgoingWebhook) GetTriggerWord ¶
func (o *OutgoingWebhook) GetTriggerWord(word string, isExactMatch bool) (triggerWord string)
func (*OutgoingWebhook) IsValid ¶
func (o *OutgoingWebhook) IsValid() *AppError
func (*OutgoingWebhook) PreSave ¶
func (o *OutgoingWebhook) PreSave()
func (*OutgoingWebhook) PreUpdate ¶
func (o *OutgoingWebhook) PreUpdate()
func (*OutgoingWebhook) TriggerWordExactMatch ¶
func (o *OutgoingWebhook) TriggerWordExactMatch(word string) bool
func (*OutgoingWebhook) TriggerWordStartsWith ¶
func (o *OutgoingWebhook) TriggerWordStartsWith(word string) bool
type OutgoingWebhookPayload ¶
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"` FileIds string `json:"file_ids"` }
func (*OutgoingWebhookPayload) ToFormValues ¶
func (o *OutgoingWebhookPayload) ToFormValues() string
type OutgoingWebhookResponse ¶
type OutgoingWebhookResponse struct { Text *string `json:"text"` Username string `json:"username"` IconURL string `json:"icon_url"` Props StringInterface `json:"props"` Attachments []*SlackAttachment `json:"attachments"` Type string `json:"type"` ResponseType string `json:"response_type"` Priority *PostPriority `json:"priority"` }
type PacketMetadata ¶ added in v0.1.5
type PacketMetadata struct { Version int `yaml:"version"` Type PacketType `yaml:"type"` GeneratedAt int64 `yaml:"generated_at"` ServerVersion string `yaml:"server_version"` ServerID string `yaml:"server_id"` LicenseID string `yaml:"license_id"` CustomerID string `yaml:"customer_id"` Extras map[string]any `yaml:"extras,omitempty"` }
PacketMetadata contains information about the server and the configured license (if there is one), It's used in file archives, so called Packets, that customer send to Mattermost Staff for review. For example, this metadata is attached to the Support Packet and the Metrics plugin Packet.
func GeneratePacketMetadata ¶ added in v0.1.5
func GeneratePacketMetadata(t PacketType, telemetryID string, license *License, extra map[string]any) (*PacketMetadata, error)
GeneratePacketMetadata is a utility function to generate metadata for customer provided Packets. It will construct it from a Packet Type, the telemetryID and optionally a license.
func ParsePacketMetadata ¶ added in v0.1.5
func ParsePacketMetadata(b []byte) (*PacketMetadata, error)
func (*PacketMetadata) Validate ¶ added in v0.1.5
func (md *PacketMetadata) Validate() error
type PacketType ¶ added in v0.1.5
type PacketType string
type PasswordSettings ¶
type PasswordSettings struct { MinimumLength *int `access:"authentication_password"` Lowercase *bool `access:"authentication_password"` Number *bool `access:"authentication_password"` Uppercase *bool `access:"authentication_password"` Symbol *bool `access:"authentication_password"` EnableForgotLink *bool `access:"authentication_password"` }
func (*PasswordSettings) SetDefaults ¶
func (s *PasswordSettings) SetDefaults()
type PaymentMethod ¶
type PaymentMethod struct { Type string `json:"type"` LastFour string `json:"last_four"` ExpMonth int `json:"exp_month"` ExpYear int `json:"exp_year"` CardBrand string `json:"card_brand"` Name string `json:"name"` }
PaymentMethod represents methods of payment for a customer.
type PerformanceReport ¶ added in v0.1.2
type PerformanceReport struct { Version string `json:"version"` ClientID string `json:"client_id"` Labels map[string]string `json:"labels"` Start float64 `json:"start"` End float64 `json:"end"` Counters []*MetricSample `json:"counters"` Histograms []*MetricSample `json:"histograms"` }
PerformanceReport is a set of samples collected from a client
func (*PerformanceReport) IsValid ¶ added in v0.1.2
func (r *PerformanceReport) IsValid() error
func (*PerformanceReport) ProcessLabels ¶ added in v0.1.2
func (r *PerformanceReport) ProcessLabels() map[string]string
type Permalink ¶
type Permalink struct {
PreviewPost *PreviewPost `json:"preview_post"`
}
type Permission ¶
type Permission struct { Id string `json:"id"` Name string `json:"name"` Description string `json:"description"` Scope string `json:"scope"` }
var PermissionAddBookmarkPrivateChannel *Permission
var PermissionAddBookmarkPublicChannel *Permission
var PermissionAddLdapPrivateCert *Permission
var PermissionAddLdapPublicCert *Permission
var PermissionAddReaction *Permission
var PermissionAddSamlIdpCert *Permission
var PermissionAddSamlPrivateCert *Permission
var PermissionAddSamlPublicCert *Permission
var PermissionAddUserToTeam *Permission
var PermissionAssignBot *Permission
var PermissionAssignSystemAdminRole *Permission
var PermissionConvertPrivateChannelToPublic *Permission
var PermissionConvertPublicChannelToPrivate *Permission
var PermissionCreateBot *Permission
var PermissionCreateComplianceExportJob *Permission
var PermissionCreateCustomGroup *Permission
var PermissionCreateDataRetentionJob *Permission
var PermissionCreateDirectChannel *Permission
var PermissionCreateElasticsearchPostAggregationJob *Permission
var PermissionCreateElasticsearchPostIndexingJob *Permission
var PermissionCreateEmojis *Permission
var PermissionCreateGroupChannel *Permission
var PermissionCreateLdapSyncJob *Permission
var PermissionCreatePost *Permission
var PermissionCreatePostBleveIndexesJob *Permission
var PermissionCreatePostEphemeral *Permission
var PermissionCreatePostPublic *Permission
var PermissionCreatePrivateChannel *Permission
var PermissionCreatePublicChannel *Permission
var PermissionCreateTeam *Permission
var PermissionCreateUserAccessToken *Permission
var PermissionDeleteBookmarkPrivateChannel *Permission
var PermissionDeleteBookmarkPublicChannel *Permission
var PermissionDeleteCustomGroup *Permission
var PermissionDeleteEmojis *Permission
var PermissionDeleteOthersEmojis *Permission
var PermissionDeleteOthersPosts *Permission
var PermissionDeletePost *Permission
var PermissionDeletePrivateChannel *Permission
var PermissionDeletePublicChannel *Permission
var PermissionDemoteToGuest *Permission
var PermissionDownloadComplianceExportResult *Permission
var PermissionEditBookmarkPrivateChannel *Permission
var PermissionEditBookmarkPublicChannel *Permission
var PermissionEditBrand *Permission
var PermissionEditCustomGroup *Permission
var PermissionEditOtherUsers *Permission
var PermissionEditOthersPosts *Permission
var PermissionEditPost *Permission
var PermissionGetAnalytics *Permission
var PermissionGetLogs *Permission
var PermissionGetPublicLink *Permission
var PermissionGetSamlCertStatus *Permission
var PermissionGetSamlMetadataFromIdp *Permission
var PermissionImportTeam *Permission
var PermissionInvalidateCaches *Permission
var PermissionInvalidateEmailInvite *Permission
var PermissionInviteGuest *Permission
var PermissionInviteUser *Permission
var PermissionJoinPrivateTeams *Permission
var PermissionJoinPublicChannels *Permission
var PermissionJoinPublicTeams *Permission
var PermissionListPrivateTeams *Permission
var PermissionListPublicTeams *Permission
var PermissionListTeamChannels *Permission
var PermissionListUsersWithoutTeam *Permission
var PermissionManageBots *Permission
var PermissionManageChannelRoles *Permission
var PermissionManageComplianceExportJob *Permission
var PermissionManageCustomGroupMembers *Permission
var PermissionManageDataRetentionJob *Permission
var PermissionManageElasticsearchPostAggregationJob *Permission
var PermissionManageElasticsearchPostIndexingJob *Permission
var PermissionManageEmojis *Permission
var PermissionManageIncomingWebhooks *Permission
var PermissionManageJobs *Permission
var PermissionManageLdapSyncJob *Permission
var PermissionManageLicenseInformation *Permission
var PermissionManageOAuth *Permission
var PermissionManageOthersBots *Permission
var PermissionManageOthersEmojis *Permission
var PermissionManageOthersIncomingWebhooks *Permission
var PermissionManageOthersOutgoingWebhooks *Permission
var PermissionManageOthersSlashCommands *Permission
var PermissionManageOthersWebhooks *Permission
var PermissionManageOutgoingOAuthConnections *Permission
var PermissionManageOutgoingWebhooks *Permission
var PermissionManagePostBleveIndexesJob *Permission
var PermissionManagePrivateChannelMembers *Permission
var PermissionManagePrivateChannelProperties *Permission
var PermissionManagePublicChannelMembers *Permission
var PermissionManagePublicChannelProperties *Permission
var PermissionManageRoles *Permission
var PermissionManageSecureConnections *Permission
var PermissionManageSlashCommands *Permission
var PermissionManageSystem *Permission
General permission that encompasses all system admin functions in the future this could be broken up to allow access to some admin functions but not others
var PermissionManageSystemWideOAuth *Permission
var PermissionManageTeam *Permission
var PermissionManageTeamRoles *Permission
var PermissionManageWebhooks *Permission
var PermissionOrderBookmarkPrivateChannel *Permission
var PermissionOrderBookmarkPublicChannel *Permission
var PermissionPermanentDeleteUser *Permission
var PermissionPrivatePlaybookCreate *Permission
var PermissionPrivatePlaybookMakePublic *Permission
var PermissionPrivatePlaybookManageMembers *Permission
var PermissionPrivatePlaybookManageProperties *Permission
var PermissionPrivatePlaybookManageRoles *Permission
var PermissionPrivatePlaybookView *Permission
var PermissionPromoteGuest *Permission
var PermissionPublicPlaybookCreate *Permission
var PermissionPublicPlaybookMakePrivate *Permission
var PermissionPublicPlaybookManageMembers *Permission
var PermissionPublicPlaybookManageProperties *Permission
var PermissionPublicPlaybookManageRoles *Permission
var PermissionPublicPlaybookView *Permission
var PermissionPurgeBleveIndexes *Permission
var PermissionPurgeElasticsearchIndexes *Permission
var PermissionReadAudits *Permission
var PermissionReadBots *Permission
var PermissionReadChannel *Permission
var PermissionReadChannelContent *Permission
var PermissionReadComplianceExportJob *Permission
var PermissionReadDataRetentionJob *Permission
var PermissionReadDeletedPosts *Permission
var PermissionReadElasticsearchPostAggregationJob *Permission
var PermissionReadElasticsearchPostIndexingJob *Permission
var PermissionReadJobs *Permission
var PermissionReadLdapSyncJob *Permission
var PermissionReadLicenseInformation *Permission
var PermissionReadOtherUsersTeams *Permission
var PermissionReadOthersBots *Permission
var PermissionReadPrivateChannelGroups *Permission
var PermissionReadPublicChannel *Permission
var PermissionReadPublicChannelGroups *Permission
var PermissionReadUserAccessToken *Permission
var PermissionRecycleDatabaseConnections *Permission
var PermissionReloadConfig *Permission
var PermissionRemoveLdapPrivateCert *Permission
var PermissionRemoveLdapPublicCert *Permission
var PermissionRemoveOthersReactions *Permission
var PermissionRemoveReaction *Permission
var PermissionRemoveSamlIdpCert *Permission
var PermissionRemoveSamlPrivateCert *Permission
var PermissionRemoveSamlPublicCert *Permission
var PermissionRemoveUserFromTeam *Permission
var PermissionRestoreCustomGroup *Permission
var PermissionRevokeUserAccessToken *Permission
var PermissionRunCreate *Permission
var PermissionRunManageMembers *Permission
var PermissionRunManageProperties *Permission
var PermissionRunView *Permission
var PermissionSysconsoleReadAbout *Permission
var PermissionSysconsoleReadAboutEditionAndLicense *Permission
var PermissionSysconsoleReadAuthentication *Permission
var PermissionSysconsoleReadAuthenticationEmail *Permission
var PermissionSysconsoleReadAuthenticationGuestAccess *Permission
var PermissionSysconsoleReadAuthenticationLdap *Permission
var PermissionSysconsoleReadAuthenticationMfa *Permission
var PermissionSysconsoleReadAuthenticationOpenid *Permission
var PermissionSysconsoleReadAuthenticationPassword *Permission
var PermissionSysconsoleReadAuthenticationSaml *Permission
var PermissionSysconsoleReadAuthenticationSignup *Permission
var PermissionSysconsoleReadBilling *Permission
var PermissionSysconsoleReadCompliance *Permission
var PermissionSysconsoleReadComplianceComplianceExport *Permission
var PermissionSysconsoleReadComplianceComplianceMonitoring *Permission
var PermissionSysconsoleReadComplianceCustomTermsOfService *Permission
var PermissionSysconsoleReadComplianceDataRetentionPolicy *Permission
var PermissionSysconsoleReadEnvironment *Permission
DEPRECATED
var PermissionSysconsoleReadEnvironmentDatabase *Permission
var PermissionSysconsoleReadEnvironmentDeveloper *Permission
var PermissionSysconsoleReadEnvironmentElasticsearch *Permission
var PermissionSysconsoleReadEnvironmentFileStorage *Permission
var PermissionSysconsoleReadEnvironmentHighAvailability *Permission
var PermissionSysconsoleReadEnvironmentImageProxy *Permission
var PermissionSysconsoleReadEnvironmentLogging *Permission
var PermissionSysconsoleReadEnvironmentPerformanceMonitoring *Permission
var PermissionSysconsoleReadEnvironmentPushNotificationServer *Permission
var PermissionSysconsoleReadEnvironmentRateLimiting *Permission
var PermissionSysconsoleReadEnvironmentSMTP *Permission
var PermissionSysconsoleReadEnvironmentSessionLengths *Permission
var PermissionSysconsoleReadEnvironmentWebServer *Permission
var PermissionSysconsoleReadExperimental *Permission
var PermissionSysconsoleReadExperimentalBleve *Permission
var PermissionSysconsoleReadExperimentalFeatureFlags *Permission
var PermissionSysconsoleReadExperimentalFeatures *Permission
var PermissionSysconsoleReadIPFilters *Permission
var PermissionSysconsoleReadIntegrations *Permission
var PermissionSysconsoleReadIntegrationsBotAccounts *Permission
var PermissionSysconsoleReadIntegrationsCors *Permission
var PermissionSysconsoleReadIntegrationsGif *Permission
var PermissionSysconsoleReadIntegrationsIntegrationManagement *Permission
var PermissionSysconsoleReadPlugins *Permission
var PermissionSysconsoleReadProductsBoards *Permission
var PermissionSysconsoleReadReporting *Permission
var PermissionSysconsoleReadReportingServerLogs *Permission
var PermissionSysconsoleReadReportingSiteStatistics *Permission
var PermissionSysconsoleReadReportingTeamStatistics *Permission
var PermissionSysconsoleReadSite *Permission
var PermissionSysconsoleReadSiteAnnouncementBanner *Permission
var PermissionSysconsoleReadSiteCustomization *Permission
var PermissionSysconsoleReadSiteEmoji *Permission
var PermissionSysconsoleReadSiteFileSharingAndDownloads *Permission
var PermissionSysconsoleReadSiteLocalization *Permission
var PermissionSysconsoleReadSiteNotices *Permission
var PermissionSysconsoleReadSiteNotifications *Permission
var PermissionSysconsoleReadSitePosts *Permission
var PermissionSysconsoleReadSitePublicLinks *Permission
var PermissionSysconsoleReadSiteUsersAndTeams *Permission
var PermissionSysconsoleReadUserManagementChannels *Permission
var PermissionSysconsoleReadUserManagementGroups *Permission
var PermissionSysconsoleReadUserManagementPermissions *Permission
var PermissionSysconsoleReadUserManagementSystemRoles *Permission
var PermissionSysconsoleReadUserManagementTeams *Permission
var PermissionSysconsoleReadUserManagementUsers *Permission
var PermissionSysconsoleWriteAbout *Permission
var PermissionSysconsoleWriteAboutEditionAndLicense *Permission
var PermissionSysconsoleWriteAuthentication *Permission
var PermissionSysconsoleWriteAuthenticationEmail *Permission
var PermissionSysconsoleWriteAuthenticationGuestAccess *Permission
var PermissionSysconsoleWriteAuthenticationLdap *Permission
var PermissionSysconsoleWriteAuthenticationMfa *Permission
var PermissionSysconsoleWriteAuthenticationOpenid *Permission
var PermissionSysconsoleWriteAuthenticationPassword *Permission
var PermissionSysconsoleWriteAuthenticationSaml *Permission
var PermissionSysconsoleWriteAuthenticationSignup *Permission
var PermissionSysconsoleWriteBilling *Permission
var PermissionSysconsoleWriteCompliance *Permission
var PermissionSysconsoleWriteComplianceComplianceExport *Permission
var PermissionSysconsoleWriteComplianceComplianceMonitoring *Permission
var PermissionSysconsoleWriteComplianceCustomTermsOfService *Permission
var PermissionSysconsoleWriteComplianceDataRetentionPolicy *Permission
var PermissionSysconsoleWriteEnvironment *Permission
DEPRECATED
var PermissionSysconsoleWriteEnvironmentDatabase *Permission
var PermissionSysconsoleWriteEnvironmentDeveloper *Permission
var PermissionSysconsoleWriteEnvironmentElasticsearch *Permission
var PermissionSysconsoleWriteEnvironmentFileStorage *Permission
var PermissionSysconsoleWriteEnvironmentHighAvailability *Permission
var PermissionSysconsoleWriteEnvironmentImageProxy *Permission
var PermissionSysconsoleWriteEnvironmentLogging *Permission
var PermissionSysconsoleWriteEnvironmentPerformanceMonitoring *Permission
var PermissionSysconsoleWriteEnvironmentPushNotificationServer *Permission
var PermissionSysconsoleWriteEnvironmentRateLimiting *Permission
var PermissionSysconsoleWriteEnvironmentSMTP *Permission
var PermissionSysconsoleWriteEnvironmentSessionLengths *Permission
var PermissionSysconsoleWriteEnvironmentWebServer *Permission
var PermissionSysconsoleWriteExperimental *Permission
var PermissionSysconsoleWriteExperimentalBleve *Permission
var PermissionSysconsoleWriteExperimentalFeatureFlags *Permission
var PermissionSysconsoleWriteExperimentalFeatures *Permission
var PermissionSysconsoleWriteIPFilters *Permission
var PermissionSysconsoleWriteIntegrations *Permission
var PermissionSysconsoleWriteIntegrationsBotAccounts *Permission
var PermissionSysconsoleWriteIntegrationsCors *Permission
var PermissionSysconsoleWriteIntegrationsGif *Permission
var PermissionSysconsoleWriteIntegrationsIntegrationManagement *Permission
var PermissionSysconsoleWritePlugins *Permission
var PermissionSysconsoleWriteProductsBoards *Permission
var PermissionSysconsoleWriteReporting *Permission
var PermissionSysconsoleWriteReportingServerLogs *Permission
var PermissionSysconsoleWriteReportingSiteStatistics *Permission
var PermissionSysconsoleWriteReportingTeamStatistics *Permission
var PermissionSysconsoleWriteSite *Permission
var PermissionSysconsoleWriteSiteAnnouncementBanner *Permission
var PermissionSysconsoleWriteSiteCustomization *Permission
var PermissionSysconsoleWriteSiteEmoji *Permission
var PermissionSysconsoleWriteSiteFileSharingAndDownloads *Permission
var PermissionSysconsoleWriteSiteLocalization *Permission
var PermissionSysconsoleWriteSiteNotices *Permission
var PermissionSysconsoleWriteSiteNotifications *Permission
var PermissionSysconsoleWriteSitePosts *Permission
var PermissionSysconsoleWriteSitePublicLinks *Permission
var PermissionSysconsoleWriteSiteUsersAndTeams *Permission
var PermissionSysconsoleWriteUserManagementChannels *Permission
var PermissionSysconsoleWriteUserManagementGroups *Permission
var PermissionSysconsoleWriteUserManagementPermissions *Permission
var PermissionSysconsoleWriteUserManagementSystemRoles *Permission
var PermissionSysconsoleWriteUserManagementTeams *Permission
var PermissionSysconsoleWriteUserManagementUsers *Permission
var PermissionTestElasticsearch *Permission
var PermissionTestEmail *Permission
var PermissionTestLdap *Permission
var PermissionTestS3 *Permission
var PermissionTestSiteURL *Permission
var PermissionUploadFile *Permission
var PermissionUseChannelMentions *Permission
var PermissionUseGroupMentions *Permission
var PermissionUseSlashCommands *Permission
Deprecated: PermissionUseSlashCommands is not longer used. It's only kept for backwards compatibility. See https://mattermost.atlassian.net/browse/MM-52574 for more details.
var PermissionViewMembers *Permission
var PermissionViewTeam *Permission
type PluginClusterEvent ¶
type PluginClusterEvent struct { // Id is the unique identifier for the event. Id string // Data is the event payload. Data []byte }
PluginClusterEvent is used to allow intra-cluster plugin communication.
type PluginClusterEventSendOptions ¶
type PluginClusterEventSendOptions struct { // SendType defines the type of communication channel used to send the event. SendType string // TargetId identifies the cluster node to which the event should be sent. // It should match the cluster id of the receiving instance. // If empty, the event gets broadcasted to all other nodes. TargetId string }
PluginClusterEventSendOptions defines some properties that apply when sending plugin events across a cluster.
type PluginEventData ¶
type PluginEventData struct {
Id string `json:"id"`
}
PluginEventData used to notify peers about plugin changes.
type PluginInfo ¶
type PluginInfo struct {
Manifest
}
type PluginKVSetOptions ¶
type PluginKVSetOptions struct { Atomic bool // Only store the value if the current value matches the oldValue OldValue []byte // The value to compare with the current value. Only used when Atomic is true ExpireInSeconds int64 // Set an expire counter }
PluginKVSetOptions contains information on how to store a value in the plugin KV store.
func (*PluginKVSetOptions) IsValid ¶
func (opt *PluginKVSetOptions) IsValid() *AppError
IsValid returns nil if the chosen options are valid.
type PluginKeyValue ¶
type PluginKeyValue struct { PluginId string `json:"plugin_id"` Key string `json:"key" db:"PKey"` Value []byte `json:"value" db:"PValue"` ExpireAt int64 `json:"expire_at"` }
func (*PluginKeyValue) IsValid ¶
func (kv *PluginKeyValue) IsValid() *AppError
type PluginOption ¶
type PluginReattachConfig ¶ added in v0.0.18
type PluginReattachConfig struct { Protocol string ProtocolVersion int Addr net.UnixAddr Pid int Test bool }
PluginReattachConfig is a serializable version of go-plugin's ReattachConfig.
func NewPluginReattachConfig ¶ added in v0.0.18
func NewPluginReattachConfig(pluginReattachmentConfig *plugin.ReattachConfig) *PluginReattachConfig
func (*PluginReattachConfig) ToHashicorpPluginReattachmentConfig ¶ added in v0.0.18
func (prc *PluginReattachConfig) ToHashicorpPluginReattachmentConfig() *plugin.ReattachConfig
type PluginReattachRequest ¶ added in v0.0.18
type PluginReattachRequest struct { Manifest *Manifest PluginReattachConfig *PluginReattachConfig }
func (*PluginReattachRequest) IsValid ¶ added in v0.0.18
func (prr *PluginReattachRequest) IsValid() *AppError
type PluginSetting ¶
type PluginSetting struct { // The key that the setting will be assigned to in the configuration file. Key string `json:"key" yaml:"key"` // The display name for the setting. DisplayName string `json:"display_name" yaml:"display_name"` // The type of the setting. // // "bool" will result in a boolean true or false setting. // // "dropdown" will result in a string setting that allows the user to select from a list of // pre-defined options. // // "generated" will result in a string setting that is set to a random, cryptographically secure // string. // // "radio" will result in a string setting that allows the user to select from a short selection // of pre-defined options. // // "text" will result in a string setting that can be typed in manually. // // "longtext" will result in a multi line string that can be typed in manually. // // "number" will result in integer setting that can be typed in manually. // // "username" will result in a text setting that will autocomplete to a username. // // "custom" will result in a custom defined setting and will load the custom component registered for the Web App System Console. Type string `json:"type" yaml:"type"` // The help text to display to the user. Supports Markdown formatting. HelpText string `json:"help_text" yaml:"help_text"` // The help text to display alongside the "Regenerate" button for settings of the "generated" type. RegenerateHelpText string `json:"regenerate_help_text,omitempty" yaml:"regenerate_help_text,omitempty"` // The placeholder to display for "generated", "text", "longtext", "number" and "username" types when blank. Placeholder string `json:"placeholder" yaml:"placeholder"` // The default value of the setting. Default any `json:"default" yaml:"default"` // For "radio" or "dropdown" settings, this is the list of pre-defined options that the user can choose // from. Options []*PluginOption `json:"options,omitempty" yaml:"options,omitempty"` // The intended hosting environment for this plugin setting. Can be "cloud" or "on-prem". When this field is set, // and the opposite environment is running the plugin, the setting will be hidden in the admin console UI. // Note that this functionality is entirely client-side, so the plugin needs to handle the case of invalid submissions. Hosting string `json:"hosting"` // If true, the setting is sanitized before showing it in the System Console or returning it via the API. // This is useful for settings that contain sensitive information. Secret bool `json:"secret"` }
type PluginSettingType ¶
type PluginSettingType int
const ( Bool PluginSettingType = iota Dropdown Generated Radio Text LongText Number Username Custom )
type PluginSettings ¶
type PluginSettings struct { Enable *bool `access:"plugins,write_restrictable"` EnableUploads *bool `access:"plugins,write_restrictable,cloud_restrictable"` AllowInsecureDownloadURL *bool `access:"plugins,write_restrictable,cloud_restrictable"` EnableHealthCheck *bool `access:"plugins,write_restrictable,cloud_restrictable"` Directory *string `access:"plugins,write_restrictable,cloud_restrictable"` // telemetry: none ClientDirectory *string `access:"plugins,write_restrictable,cloud_restrictable"` // telemetry: none Plugins map[string]map[string]any `access:"plugins"` // telemetry: none PluginStates map[string]*PluginState `access:"plugins"` // telemetry: none EnableMarketplace *bool `access:"plugins,write_restrictable,cloud_restrictable"` EnableRemoteMarketplace *bool `access:"plugins,write_restrictable,cloud_restrictable"` AutomaticPrepackagedPlugins *bool `access:"plugins,write_restrictable,cloud_restrictable"` RequirePluginSignature *bool `access:"plugins,write_restrictable,cloud_restrictable"` MarketplaceURL *string `access:"plugins,write_restrictable,cloud_restrictable"` SignaturePublicKeyFiles []string `access:"plugins,write_restrictable,cloud_restrictable"` ChimeraOAuthProxyURL *string `access:"plugins,write_restrictable,cloud_restrictable"` }
func (*PluginSettings) Sanitize ¶ added in v0.1.7
func (s *PluginSettings) Sanitize(pluginManifests []*Manifest)
Sanitize cleans up the plugin settings by removing any sensitive information. It does so by checking if the setting is marked as secret in the plugin manifest. If it is, the setting is replaced with a fake value. If a plugin is no longer installed, all settings of it's are sanitized. If the list of manifests in nil, i.e. plugins are disabled, all settings are sanitized.
func (*PluginSettings) SetDefaults ¶
func (s *PluginSettings) SetDefaults(ls LogSettings)
type PluginSettingsSchema ¶
type PluginSettingsSchema struct { // Optional text to display above the settings. Supports Markdown formatting. Header string `json:"header" yaml:"header"` Footer string `json:"footer" yaml:"footer"` // A list of setting definitions. Settings []*PluginSetting `json:"settings" yaml:"settings"` // A list of settings section definitions. Sections []*PluginSettingsSection `json:"sections" yaml:"sections"` }
type PluginSettingsSection ¶ added in v0.1.6
type PluginSettingsSection struct { // A unique identifier for this section. Key string `json:"key" yaml:"key"` // Optional text to display as section title. Title string `json:"title" yaml:"title"` // Optional text to display as section subtitle. Subtitle string `json:"subtitle" yaml:"subtitle"` // A list of setting definitions to display inside the section. Settings []*PluginSetting `json:"settings" yaml:"settings"` // Optional text to display above the settings. Supports Markdown formatting. Header string `json:"header" yaml:"header"` Footer string `json:"footer" yaml:"footer"` // If true, the section will load the custom component registered using `registry.registerAdminConsoleCustomSection` Custom bool `json:"custom" yaml:"custom"` }
func (*PluginSettingsSection) IsValid ¶ added in v0.1.6
func (s *PluginSettingsSection) IsValid() error
type PluginState ¶
type PluginState struct {
Enable bool
}
type PluginStatus ¶
type PluginStatus struct { PluginId string `json:"plugin_id"` ClusterId string `json:"cluster_id"` PluginPath string `json:"plugin_path"` State int `json:"state"` Error string `json:"error"` Name string `json:"name"` Description string `json:"description"` Version string `json:"version"` }
PluginStatus provides a cluster-aware view of installed plugins.
type PluginStatuses ¶
type PluginStatuses []*PluginStatus
type PluginsResponse ¶
type PluginsResponse struct { Active []*PluginInfo `json:"active"` Inactive []*PluginInfo `json:"inactive"` }
type Post ¶
type Post struct { Id string `json:"id"` CreateAt int64 `json:"create_at"` UpdateAt int64 `json:"update_at"` EditAt int64 `json:"edit_at"` DeleteAt int64 `json:"delete_at"` IsPinned bool `json:"is_pinned"` UserId string `json:"user_id"` ChannelId string `json:"channel_id"` RootId string `json:"root_id"` OriginalId string `json:"original_id"` Message string `json:"message"` // MessageSource will contain the message as submitted by the user if Message has been modified // by Mattermost for presentation (e.g if an image proxy is being used). It should be used to // populate edit boxes if present. MessageSource string `json:"message_source,omitempty"` Type string `json:"type"` Props StringInterface `json:"props"` // Deprecated: use GetProps() Filenames StringArray `json:"-"` // Deprecated, do not use this field any more FileIds StringArray `json:"file_ids,omitempty"` PendingPostId string `json:"pending_post_id"` HasReactions bool `json:"has_reactions,omitempty"` RemoteId *string `json:"remote_id,omitempty"` // Transient data populated before sending a post to the client ReplyCount int64 `json:"reply_count"` LastReplyAt int64 `json:"last_reply_at"` Participants []*User `json:"participants"` IsFollowing *bool `json:"is_following,omitempty"` // for root posts in collapsed thread mode indicates if the current user is following this thread Metadata *PostMetadata `json:"metadata,omitempty"` // contains filtered or unexported fields }
func AddPostActionCookies ¶
func (*Post) Attachments ¶
func (o *Post) Attachments() []*SlackAttachment
func (*Post) AttachmentsEqual ¶
func (*Post) ChannelMentions ¶
func (*Post) ContainsIntegrationsReservedProps ¶ added in v0.0.10
func (*Post) DisableMentionHighlights ¶
DisableMentionHighlights disables a posts mention highlighting and returns the first channel mention that was present in the message.
func (*Post) GenerateActionIds ¶
func (o *Post) GenerateActionIds()
func (*Post) GetAction ¶
func (o *Post) GetAction(id string) *PostAction
func (*Post) GetPersistentNotification ¶
func (*Post) GetPreviewPost ¶
func (o *Post) GetPreviewPost() *PreviewPost
func (*Post) GetPreviewedPostProp ¶
func (*Post) GetPriority ¶
func (o *Post) GetPriority() *PostPriority
func (*Post) GetProps ¶
func (o *Post) GetProps() StringInterface
func (*Post) GetRemoteID ¶
GetRemoteID safely returns the remoteID or empty string if not remote.
func (*Post) GetRequestedAck ¶
func (*Post) IsFromOAuthBot ¶
func (*Post) IsJoinLeaveMessage ¶
func (*Post) IsSystemMessage ¶
func (*Post) MakeNonNil ¶
func (o *Post) MakeNonNil()
func (*Post) SanitizeInput ¶ added in v0.1.4
func (o *Post) SanitizeInput()
Remove any input data from the post object that is not user controlled
func (*Post) SanitizeProps ¶
func (o *Post) SanitizeProps()
func (*Post) SetProps ¶
func (o *Post) SetProps(props StringInterface)
func (*Post) ShallowCopy ¶
ShallowCopy is an utility function to shallow copy a Post to the given destination without touching the internal RWMutex.
func (*Post) StripActionIntegrations ¶
func (o *Post) StripActionIntegrations()
func (*Post) ToNilIfInvalid ¶
type PostAcknowledgement ¶
type PostAcknowledgement struct { UserId string `json:"user_id"` PostId string `json:"post_id"` AcknowledgedAt int64 `json:"acknowledged_at"` }
func (*PostAcknowledgement) IsValid ¶
func (o *PostAcknowledgement) IsValid() *AppError
type PostAction ¶
type PostAction struct { // A unique Action ID. If not set, generated automatically. Id string `json:"id,omitempty"` // The type of the interactive element. Currently supported are // "select" and "button". Type string `json:"type,omitempty"` // The text on the button, or in the select placeholder. Name string `json:"name,omitempty"` // If the action is disabled. Disabled bool `json:"disabled,omitempty"` // Style defines a text and border style. // Supported values are "default", "primary", "success", "good", "warning", "danger" // and any hex color. Style string `json:"style,omitempty"` // DataSource indicates the data source for the select action. If left // empty, the select is populated from Options. Other supported values // are "users" and "channels". DataSource string `json:"data_source,omitempty"` // Options contains the values listed in a select dropdown on the post. Options []*PostActionOptions `json:"options,omitempty"` // DefaultOption contains the option, if any, that will appear as the // default selection in a select box. It has no effect when used with // other types of actions. DefaultOption string `json:"default_option,omitempty"` // Defines the interaction with the backend upon a user action. // Integration contains Context, which is private plugin data; // Integrations are stripped from Posts when they are sent to the // client, or are encrypted in a Cookie. Integration *PostActionIntegration `json:"integration,omitempty"` Cookie string `json:"cookie,omitempty" db:"-"` }
func (*PostAction) Equals ¶
func (p *PostAction) Equals(input *PostAction) bool
type PostActionAPIResponse ¶
type PostActionCookie ¶
type PostActionCookie struct { Type string `json:"type,omitempty"` PostId string `json:"post_id,omitempty"` RootPostId string `json:"root_post_id,omitempty"` ChannelId string `json:"channel_id,omitempty"` DataSource string `json:"data_source,omitempty"` Integration *PostActionIntegration `json:"integration,omitempty"` RetainProps map[string]any `json:"retain_props,omitempty"` RemoveProps []string `json:"remove_props,omitempty"` }
PostActionCookie is set by the server, serialized and encrypted into PostAction.Cookie. The clients should hold on to it, and include it with subsequent DoPostAction requests. This allows the server to access the action metadata even when it's not available in the database, for ephemeral posts.
type PostActionIntegration ¶
type PostActionIntegrationRequest ¶
type PostActionIntegrationRequest struct { UserId string `json:"user_id"` UserName string `json:"user_name"` ChannelId string `json:"channel_id"` ChannelName string `json:"channel_name"` TeamId string `json:"team_id"` TeamName string `json:"team_domain"` PostId string `json:"post_id"` TriggerId string `json:"trigger_id"` Type string `json:"type"` DataSource string `json:"data_source"` Context map[string]any `json:"context,omitempty"` }
func (*PostActionIntegrationRequest) GenerateTriggerId ¶
type PostActionOptions ¶
type PostCountOptions ¶
type PostCountOptions struct { // Only include posts on a specific team. "" for any team. TeamId string MustHaveFile bool MustHaveHashtag bool ExcludeDeleted bool ExcludeSystemPosts bool UsersPostsOnly bool // AllowFromCache looks up cache only when ExcludeDeleted and UsersPostsOnly are true and rest are falsy. AllowFromCache bool SincePostID string SinceUpdateAt int64 }
type PostEmbed ¶
type PostEmbed struct { Type PostEmbedType `json:"type"` // The URL of the embedded content. Used for image and OpenGraph embeds. URL string `json:"url,omitempty"` // Any additional data for the embedded content. Only used for OpenGraph embeds. Data any `json:"data,omitempty"` }
type PostEmbedType ¶
type PostEmbedType string
const ( PostEmbedImage PostEmbedType = "image" PostEmbedMessageAttachment PostEmbedType = "message_attachment" PostEmbedOpengraph PostEmbedType = "opengraph" PostEmbedLink PostEmbedType = "link" PostEmbedPermalink PostEmbedType = "permalink" PostEmbedBoards PostEmbedType = "boards" )
type PostEphemeral ¶
type PostForExport ¶
type PostForIndexing ¶
type PostImage ¶
type PostImage struct { Width int `json:"width"` Height int `json:"height"` // Format is the name of the image format as used by image/go such as "png", "gif", or "jpeg". Format string `json:"format"` // FrameCount stores the number of frames in this image, if it is an animated gif. It will be 0 for other formats. FrameCount int `json:"frame_count"` }
type PostInfo ¶
type PostInfo struct { ChannelId string `json:"channel_id"` ChannelType ChannelType `json:"channel_type"` ChannelDisplayName string `json:"channel_display_name"` HasJoinedChannel bool `json:"has_joined_channel"` TeamId string `json:"team_id"` TeamType string `json:"team_type"` TeamDisplayName string `json:"team_display_name"` HasJoinedTeam bool `json:"has_joined_team"` }
type PostList ¶
type PostList struct { Order []string `json:"order"` Posts map[string]*Post `json:"posts"` NextPostId string `json:"next_post_id"` PrevPostId string `json:"prev_post_id"` // HasNext indicates whether there are more items to be fetched or not. HasNext *bool `json:"has_next,omitempty"` // If there are inaccessible posts, FirstInaccessiblePostTime is the time of the latest inaccessible post FirstInaccessiblePostTime int64 `json:"first_inaccessible_post_time"` }
func NewPostList ¶
func NewPostList() *PostList
func (*PostList) BuildWranglerPostList ¶ added in v0.0.12
func (o *PostList) BuildWranglerPostList() *WranglerPostList
func (*PostList) IsChannelId ¶
func (*PostList) MakeNonNil ¶
func (o *PostList) MakeNonNil()
func (*PostList) SortByCreateAt ¶
func (o *PostList) SortByCreateAt()
func (*PostList) StripActionIntegrations ¶
func (o *PostList) StripActionIntegrations()
func (*PostList) UniqueOrder ¶
func (o *PostList) UniqueOrder()
type PostMetadata ¶
type PostMetadata struct { // Embeds holds information required to render content embedded in the post. This includes the OpenGraph metadata // for links in the post. Embeds []*PostEmbed `json:"embeds,omitempty"` // Emojis holds all custom emojis used in the post or used in reaction to the post. Emojis []*Emoji `json:"emojis,omitempty"` // Files holds information about the file attachments on the post. Files []*FileInfo `json:"files,omitempty"` // Images holds the dimensions of all external images in the post as a map of the image URL to its dimensions. // This includes image embeds (when the message contains a plaintext link to an image), Markdown images, images // contained in the OpenGraph metadata, and images contained in message attachments. It does not contain // the dimensions of any file attachments as those are stored in FileInfos. Images map[string]*PostImage `json:"images,omitempty"` // Reactions holds reactions made to the post. Reactions []*Reaction `json:"reactions,omitempty"` // Priority holds info about priority settings for the post. Priority *PostPriority `json:"priority,omitempty"` // Acknowledgements holds acknowledgements made by users to the post Acknowledgements []*PostAcknowledgement `json:"acknowledgements,omitempty"` }
func (*PostMetadata) Auditable ¶
func (p *PostMetadata) Auditable() map[string]any
type PostPatch ¶
type PostPatch struct { IsPinned *bool `json:"is_pinned"` Message *string `json:"message"` Props *StringInterface `json:"props"` FileIds *StringArray `json:"file_ids"` HasReactions *bool `json:"has_reactions"` }
func (*PostPatch) ContainsIntegrationsReservedProps ¶ added in v0.0.10
func (*PostPatch) DisableMentionHighlights ¶
func (o *PostPatch) DisableMentionHighlights()
DisableMentionHighlights disables mention highlighting for a post patch if required.
type PostPriority ¶
type PostPriority struct { Priority *string `json:"priority"` RequestedAck *bool `json:"requested_ack"` PersistentNotifications *bool `json:"persistent_notifications"` // These fields are only used internally for interacting with DB. PostId string `json:",omitempty"` ChannelId string `json:",omitempty"` }
type PostReminder ¶
type PostSearchMatches ¶
type PostSearchResults ¶
type PostSearchResults struct { *PostList Matches PostSearchMatches `json:"matches"` }
func MakePostSearchResults ¶
func MakePostSearchResults(posts *PostList, matches PostSearchMatches) *PostSearchResults
func (*PostSearchResults) EncodeJSON ¶
func (o *PostSearchResults) EncodeJSON(w io.Writer) error
func (*PostSearchResults) ForPlugin ¶
func (o *PostSearchResults) ForPlugin() *PostSearchResults
func (*PostSearchResults) ToJSON ¶
func (o *PostSearchResults) ToJSON() (string, error)
type PostsUsage ¶
type PostsUsage struct {
Count int64 `json:"count"`
}
type Preference ¶
type Preference struct { UserId string `json:"user_id"` Category string `json:"category"` Name string `json:"name"` Value string `json:"value"` }
func (*Preference) IsValid ¶
func (o *Preference) IsValid() *AppError
func (*Preference) PreUpdate ¶
func (o *Preference) PreUpdate()
type Preferences ¶
type Preferences []Preference
type PresignURLResponse ¶ added in v0.0.7
type PreviewPost ¶
type PreviewPost struct { PostID string `json:"post_id"` Post *Post `json:"post"` TeamName string `json:"team_name"` ChannelDisplayName string `json:"channel_display_name"` ChannelType ChannelType `json:"channel_type"` ChannelID string `json:"channel_id"` }
func NewPreviewPost ¶
func NewPreviewPost(post *Post, team *Team, channel *Channel) *PreviewPost
type PrivacySettings ¶
type Product ¶
type Product struct { ID string `json:"id"` Name string `json:"name"` Description string `json:"description"` PricePerSeat float64 `json:"price_per_seat"` AddOns []*AddOn `json:"add_ons"` SKU string `json:"sku"` PriceID string `json:"price_id"` Family SubscriptionFamily `json:"product_family"` RecurringInterval RecurringInterval `json:"recurring_interval"` BillingScheme BillingScheme `json:"billing_scheme"` CrossSellsTo string `json:"cross_sells_to"` }
Product model represents a product on the cloud system.
type ProductLimits ¶
type ProductLimits struct { Files *FilesLimits `json:"files,omitempty"` Messages *MessagesLimits `json:"messages,omitempty"` Teams *TeamsLimits `json:"teams,omitempty"` }
type ProductNotice ¶
type ProductNotice struct { Conditions Conditions `json:"conditions"` ID string `json:"id"` // Unique identifier for this notice. Can be a running number. Used for storing 'viewed'; state on the server. LocalizedMessages map[string]NoticeMessageInternal `json:"localizedMessages"` // Notice message data, organized by locale.; Example:; "localizedMessages": {; "en": { "title": "English", description: "English description"},; "frFR": { "title": "Frances", description: "French description"}; } Repeatable *bool `json:"repeatable,omitempty"` // Configurable flag if the notice should reappear after it’s seen and dismissed }
List of product notices. Order is important and is used to resolve priorities. Each notice will only be show if conditions are met.
func (*ProductNotice) SysAdminOnly ¶
func (n *ProductNotice) SysAdminOnly() bool
func (*ProductNotice) TeamAdminOnly ¶
func (n *ProductNotice) TeamAdminOnly() bool
type ProductNoticeViewState ¶
Definition of the table keeping the 'viewed' state of each in-product notice per user
type ProductNotices ¶
type ProductNotices []ProductNotice
func UnmarshalProductNotices ¶
func UnmarshalProductNotices(data []byte) (ProductNotices, error)
func (*ProductNotices) Marshal ¶
func (r *ProductNotices) Marshal() ([]byte, error)
type ProductSku ¶
type ProductSku string
type PushNotification ¶
type PushNotification struct { AckId string `json:"ack_id"` Platform string `json:"platform"` ServerId string `json:"server_id"` DeviceId string `json:"device_id"` PostId string `json:"post_id"` Category string `json:"category,omitempty"` Sound string `json:"sound,omitempty"` Message string `json:"message,omitempty"` Badge int `json:"badge,omitempty"` ContentAvailable int `json:"cont_ava,omitempty"` TeamId string `json:"team_id,omitempty"` ChannelId string `json:"channel_id,omitempty"` RootId string `json:"root_id,omitempty"` ChannelName string `json:"channel_name,omitempty"` Type string `json:"type,omitempty"` SubType PushSubType `json:"sub_type,omitempty"` SenderId string `json:"sender_id,omitempty"` SenderName string `json:"sender_name,omitempty"` OverrideUsername string `json:"override_username,omitempty"` OverrideIconURL string `json:"override_icon_url,omitempty"` FromWebhook string `json:"from_webhook,omitempty"` Version string `json:"version,omitempty"` IsCRTEnabled bool `json:"is_crt_enabled"` IsIdLoaded bool `json:"is_id_loaded"` PostType string `json:"-"` ChannelType ChannelType `json:"-"` Signature string `json:"signature"` }
func (*PushNotification) DeepCopy ¶
func (pn *PushNotification) DeepCopy() *PushNotification
func (*PushNotification) SetDeviceIdAndPlatform ¶
func (pn *PushNotification) SetDeviceIdAndPlatform(deviceId string)
type PushNotificationAck ¶
type PushResponse ¶
func NewErrorPushResponse ¶
func NewErrorPushResponse(message string) PushResponse
func NewOkPushResponse ¶
func NewOkPushResponse() PushResponse
func NewRemovePushResponse ¶
func NewRemovePushResponse() PushResponse
type PushSubType ¶ added in v0.0.11
type PushSubType string
PushSubType allows for passing additional message type information to mobile clients in a backwards-compatible way
const PushSubTypeCalls PushSubType = "calls"
PushSubTypeCalls is used by the Calls plugin
type RateLimitSettings ¶
type RateLimitSettings struct { Enable *bool `access:"environment_rate_limiting,write_restrictable,cloud_restrictable"` PerSec *int `access:"environment_rate_limiting,write_restrictable,cloud_restrictable"` MaxBurst *int `access:"environment_rate_limiting,write_restrictable,cloud_restrictable"` MemoryStoreSize *int `access:"environment_rate_limiting,write_restrictable,cloud_restrictable"` VaryByRemoteAddr *bool `access:"environment_rate_limiting,write_restrictable,cloud_restrictable"` VaryByUser *bool `access:"environment_rate_limiting,write_restrictable,cloud_restrictable"` VaryByHeader string `access:"environment_rate_limiting,write_restrictable,cloud_restrictable"` }
func (*RateLimitSettings) SetDefaults ¶
func (s *RateLimitSettings) SetDefaults()
type Reaction ¶
type Reaction struct { UserId string `json:"user_id"` PostId string `json:"post_id"` EmojiName string `json:"emoji_name"` CreateAt int64 `json:"create_at"` UpdateAt int64 `json:"update_at"` DeleteAt int64 `json:"delete_at"` RemoteId *string `json:"remote_id"` ChannelId string `json:"channel_id"` }
func (*Reaction) GetRemoteID ¶ added in v0.1.5
type RecentCustomStatuses ¶
type RecentCustomStatuses []CustomStatus
func (RecentCustomStatuses) Add ¶
func (rcs RecentCustomStatuses) Add(cs *CustomStatus) RecentCustomStatuses
func (RecentCustomStatuses) Contains ¶
func (rcs RecentCustomStatuses) Contains(cs *CustomStatus) (bool, error)
func (RecentCustomStatuses) Remove ¶
func (rcs RecentCustomStatuses) Remove(cs *CustomStatus) (RecentCustomStatuses, error)
type RecurringInterval ¶
type RecurringInterval string
type RegisterPluginOpts ¶ added in v0.0.13
type RegisterPluginOpts struct { Displayname string // a displayname used in status reports PluginID string // id of this plugin registering CreatorID string // id of the user/bot registering AutoInvited bool // when true, the plugin is automatically invited and sync'd with all shared channels. }
RegisterPluginOpts is passed by plugins to the `RegisterPluginForSharedChannels` plugin API to provide options for registering as a shared channels remote.
func (RegisterPluginOpts) GetOptionFlags ¶ added in v0.0.13
func (po RegisterPluginOpts) GetOptionFlags() Bitmask
GetOptionFlags returns a Bitmask of option flags as specified by the boolean options.
type RelationalIntegrityCheckData ¶
type RelationalIntegrityCheckData struct { ParentName string `json:"parent_name"` ChildName string `json:"child_name"` ParentIdAttr string `json:"parent_id_attr"` ChildIdAttr string `json:"child_id_attr"` Records []OrphanedRecord `json:"records"` }
type RemoteCluster ¶
type RemoteCluster struct { RemoteId string `json:"remote_id"` RemoteTeamId string `json:"remote_team_id"` // Deprecated: this field is no longer used. It's only kept for backwards compatibility. Name string `json:"name"` DisplayName string `json:"display_name"` SiteURL string `json:"site_url"` DefaultTeamId string `json:"default_team_id"` CreateAt int64 `json:"create_at"` DeleteAt int64 `json:"delete_at"` LastPingAt int64 `json:"last_ping_at"` Token string `json:"token"` RemoteToken string `json:"remote_token"` Topics string `json:"topics"` CreatorId string `json:"creator_id"` PluginID string `json:"plugin_id"` // non-empty when sync message are to be delivered via plugin API Options Bitmask `json:"options"` // bit-flag set of options }
func (*RemoteCluster) Auditable ¶
func (rc *RemoteCluster) Auditable() map[string]interface{}
func (*RemoteCluster) GetSiteURL ¶ added in v0.0.13
func (rc *RemoteCluster) GetSiteURL() string
func (*RemoteCluster) IsConfirmed ¶ added in v0.0.13
func (rc *RemoteCluster) IsConfirmed() bool
func (*RemoteCluster) IsOnline ¶
func (rc *RemoteCluster) IsOnline() bool
func (*RemoteCluster) IsOptionFlagSet ¶ added in v0.0.12
func (rc *RemoteCluster) IsOptionFlagSet(flag Bitmask) bool
func (*RemoteCluster) IsPlugin ¶ added in v0.0.13
func (rc *RemoteCluster) IsPlugin() bool
func (*RemoteCluster) IsValid ¶
func (rc *RemoteCluster) IsValid() *AppError
func (*RemoteCluster) Patch ¶ added in v0.1.5
func (rc *RemoteCluster) Patch(patch *RemoteClusterPatch)
func (*RemoteCluster) PreSave ¶
func (rc *RemoteCluster) PreSave()
func (*RemoteCluster) PreUpdate ¶
func (rc *RemoteCluster) PreUpdate()
func (*RemoteCluster) Sanitize ¶ added in v0.1.5
func (rc *RemoteCluster) Sanitize()
func (*RemoteCluster) SetOptionFlag ¶ added in v0.0.12
func (rc *RemoteCluster) SetOptionFlag(flag Bitmask)
func (*RemoteCluster) ToRemoteClusterInfo ¶
func (rc *RemoteCluster) ToRemoteClusterInfo() RemoteClusterInfo
func (*RemoteCluster) UnsetOptionFlag ¶ added in v0.0.12
func (rc *RemoteCluster) UnsetOptionFlag(flag Bitmask)
type RemoteClusterAcceptInvite ¶ added in v0.1.5
type RemoteClusterFrame ¶
type RemoteClusterFrame struct { RemoteId string `json:"remote_id"` Msg RemoteClusterMsg `json:"msg"` }
RemoteClusterFrame wraps a `RemoteClusterMsg` with credentials specific to a remote cluster.
func (*RemoteClusterFrame) Auditable ¶
func (f *RemoteClusterFrame) Auditable() map[string]interface{}
func (*RemoteClusterFrame) IsValid ¶
func (f *RemoteClusterFrame) IsValid() *AppError
type RemoteClusterInfo ¶
type RemoteClusterInfo struct { Name string `json:"name"` DisplayName string `json:"display_name"` CreateAt int64 `json:"create_at"` DeleteAt int64 `json:"delete_at"` LastPingAt int64 `json:"last_ping_at"` }
RemoteClusterInfo provides a subset of RemoteCluster fields suitable for sending to clients.
type RemoteClusterInvite ¶
type RemoteClusterInvite struct { RemoteId string `json:"remote_id"` RemoteTeamId string `json:"remote_team_id"` // Deprecated: this field is no longer used. It's only kept for backwards compatibility. SiteURL string `json:"site_url"` Token string `json:"token"` }
RemoteClusterInvite represents an invitation to establish a simple trust with a remote cluster.
func (*RemoteClusterInvite) Decrypt ¶
func (rci *RemoteClusterInvite) Decrypt(encrypted []byte, password string) error
func (*RemoteClusterInvite) Encrypt ¶
func (rci *RemoteClusterInvite) Encrypt(password string) ([]byte, error)
func (*RemoteClusterInvite) IsValid ¶ added in v0.1.8
func (rci *RemoteClusterInvite) IsValid() *AppError
type RemoteClusterMsg ¶
type RemoteClusterMsg struct { Id string `json:"id"` Topic string `json:"topic"` CreateAt int64 `json:"create_at"` Payload json.RawMessage `json:"payload"` }
RemoteClusterMsg represents a message that is sent and received between clusters. These are processed and routed via the RemoteClusters service.
func NewRemoteClusterMsg ¶
func NewRemoteClusterMsg(topic string, payload json.RawMessage) RemoteClusterMsg
func (RemoteClusterMsg) IsValid ¶
func (m RemoteClusterMsg) IsValid() *AppError
type RemoteClusterPatch ¶ added in v0.1.5
type RemoteClusterPatch struct { DisplayName *string `json:"display_name"` DefaultTeamId *string `json:"default_team_id"` }
func (*RemoteClusterPatch) Auditable ¶ added in v0.1.5
func (rcp *RemoteClusterPatch) Auditable() map[string]interface{}
type RemoteClusterPing ¶
RemoteClusterPing represents a ping that is sent and received between clusters to indicate a connection is alive. This is the payload for a `RemoteClusterMsg`.
type RemoteClusterQueryFilter ¶
type RemoteClusterQueryFilter struct { ExcludeOffline bool InChannel string NotInChannel string Topic string CreatorId string OnlyConfirmed bool PluginID string OnlyPlugins bool ExcludePlugins bool RequireOptions Bitmask IncludeDeleted bool }
RemoteClusterQueryFilter provides filter criteria for RemoteClusterStore.GetAll
type RemoteClusterWithInvite ¶ added in v0.1.5
type RemoteClusterWithInvite struct { RemoteCluster *RemoteCluster `json:"remote_cluster"` Invite string `json:"invite"` Password string `json:"password,omitempty"` }
type RemoteClusterWithPassword ¶ added in v0.1.5
type RemoteClusterWithPassword struct { *RemoteCluster Password string `json:"password"` }
type ReplicaLagSettings ¶
type ReplicaLagSettings struct { DataSource *string `access:"environment,write_restrictable,cloud_restrictable"` // telemetry: none QueryAbsoluteLag *string `access:"environment,write_restrictable,cloud_restrictable"` // telemetry: none QueryTimeLag *string `access:"environment,write_restrictable,cloud_restrictable"` // telemetry: none }
type ReplyForExport ¶
type ReplyForExport struct { Post Username string FlaggedBy StringArray }
type ReportableObject ¶ added in v0.0.14
type ReportableObject interface {
ToReport() []string
}
type ReportingBaseOptions ¶ added in v0.0.12
type ReportingBaseOptions struct { SortDesc bool Direction string // Accepts only "prev" or "next" PageSize int SortColumn string FromColumnValue string FromId string DateRange string StartAt int64 EndAt int64 }
func (*ReportingBaseOptions) IsValid ¶ added in v0.0.12
func (options *ReportingBaseOptions) IsValid() *AppError
func (*ReportingBaseOptions) PopulateDateRange ¶ added in v0.0.12
func (options *ReportingBaseOptions) PopulateDateRange(now time.Time)
type Response ¶
type Response struct { StatusCode int RequestId string Etag string ServerVersion string Header http.Header }
func BuildResponse ¶
type RetentionIdsForDeletion ¶ added in v0.0.10
func (*RetentionIdsForDeletion) PreSave ¶ added in v0.0.10
func (r *RetentionIdsForDeletion) PreSave()
type RetentionPolicy ¶
type RetentionPolicyChannel ¶
type RetentionPolicyCursor ¶
type RetentionPolicyForChannelList ¶
type RetentionPolicyForChannelList struct { Policies []*RetentionPolicyForChannel `json:"policies"` TotalCount int64 `json:"total_count"` }
type RetentionPolicyForTeam ¶
type RetentionPolicyForTeamList ¶
type RetentionPolicyForTeamList struct { Policies []*RetentionPolicyForTeam `json:"policies"` TotalCount int64 `json:"total_count"` }
type RetentionPolicyTeam ¶
type RetentionPolicyWithTeamAndChannelCounts ¶
type RetentionPolicyWithTeamAndChannelCounts struct { RetentionPolicy ChannelCount int64 `json:"channel_count"` TeamCount int64 `json:"team_count"` }
func (*RetentionPolicyWithTeamAndChannelCounts) Auditable ¶
func (o *RetentionPolicyWithTeamAndChannelCounts) Auditable() map[string]interface{}
type RetentionPolicyWithTeamAndChannelCountsList ¶
type RetentionPolicyWithTeamAndChannelCountsList struct { Policies []*RetentionPolicyWithTeamAndChannelCounts `json:"policies"` TotalCount int64 `json:"total_count"` }
type RetentionPolicyWithTeamAndChannelIDs ¶
type RetentionPolicyWithTeamAndChannelIDs struct { RetentionPolicy TeamIDs []string `json:"team_ids"` ChannelIDs []string `json:"channel_ids"` }
func (*RetentionPolicyWithTeamAndChannelIDs) Auditable ¶
func (o *RetentionPolicyWithTeamAndChannelIDs) Auditable() map[string]interface{}
type Role ¶
type Role struct { Id string `json:"id"` Name string `json:"name"` DisplayName string `json:"display_name"` Description string `json:"description"` CreateAt int64 `json:"create_at"` UpdateAt int64 `json:"update_at"` DeleteAt int64 `json:"delete_at"` Permissions []string `json:"permissions"` SchemeManaged bool `json:"scheme_managed"` BuiltIn bool `json:"built_in"` }
func (*Role) GetChannelModeratedPermissions ¶
func (r *Role) GetChannelModeratedPermissions(channelType ChannelType) map[string]bool
GetChannelModeratedPermissions returns a map of channel moderated permissions that the role has access to
func (*Role) IsValidWithoutId ¶
func (*Role) MergeChannelHigherScopedPermissions ¶
func (r *Role) MergeChannelHigherScopedPermissions(higherScopedPermissions *RolePermissions)
MergeChannelHigherScopedPermissions is meant to be invoked on a channel scheme's role and merges the higher-scoped channel role's permissions.
func (*Role) RolePatchFromChannelModerationsPatch ¶
func (r *Role) RolePatchFromChannelModerationsPatch(channelModerationsPatch []*ChannelModerationPatch, roleName string) *RolePatch
RolePatchFromChannelModerationsPatch Creates and returns a RolePatch based on a slice of ChannelModerationPatches, roleName is expected to be either "members" or "guests".
type RoleDescriptor ¶
type RoleDescriptor struct { XMLName xml.Name ID string `xml:",attr,omitempty"` ValidUntil time.Time `xml:"validUntil,attr,omitempty"` CacheDuration time.Duration `xml:"cacheDuration,attr,omitempty"` ProtocolSupportEnumeration string `xml:"protocolSupportEnumeration,attr"` ErrorURL string `xml:"errorURL,attr,omitempty"` KeyDescriptors []KeyDescriptor `xml:"KeyDescriptor,omitempty"` Organization *Organization `xml:"Organization,omitempty"` ContactPersons []ContactPerson `xml:"ContactPerson,omitempty"` }
type RolePermissions ¶
type SSODescriptor ¶
type SSODescriptor struct { XMLName xml.Name RoleDescriptor ArtifactResolutionServices []IndexedEndpoint `xml:"ArtifactResolutionService"` SingleLogoutServices []Endpoint `xml:"SingleLogoutService"` ManageNameIDServices []Endpoint `xml:"ManageNameIDService"` NameIDFormats []NameIDFormat `xml:"NameIDFormat"` }
type SSOSettings ¶
type SSOSettings struct { Enable *bool `access:"authentication_openid"` Secret *string `access:"authentication_openid"` // telemetry: none Id *string `access:"authentication_openid"` // telemetry: none Scope *string `access:"authentication_openid"` // telemetry: none AuthEndpoint *string `access:"authentication_openid"` // telemetry: none TokenEndpoint *string `access:"authentication_openid"` // telemetry: none UserAPIEndpoint *string `access:"authentication_openid"` // telemetry: none DiscoveryEndpoint *string `access:"authentication_openid"` // telemetry: none ButtonText *string `access:"authentication_openid"` // telemetry: none ButtonColor *string `access:"authentication_openid"` // telemetry: none }
type SamlAuthRequest ¶
type SamlCertificateStatus ¶
type SamlMetadataResponse ¶
type SamlSettings ¶
type SamlSettings struct { // Basic Enable *bool `access:"authentication_saml"` EnableSyncWithLdap *bool `access:"authentication_saml"` EnableSyncWithLdapIncludeAuth *bool `access:"authentication_saml"` IgnoreGuestsLdapSync *bool `access:"authentication_saml"` Verify *bool `access:"authentication_saml"` Encrypt *bool `access:"authentication_saml"` SignRequest *bool `access:"authentication_saml"` IdpURL *string `access:"authentication_saml"` // telemetry: none IdpDescriptorURL *string `access:"authentication_saml"` // telemetry: none IdpMetadataURL *string `access:"authentication_saml"` // telemetry: none ServiceProviderIdentifier *string `access:"authentication_saml"` // telemetry: none AssertionConsumerServiceURL *string `access:"authentication_saml"` // telemetry: none SignatureAlgorithm *string `access:"authentication_saml"` CanonicalAlgorithm *string `access:"authentication_saml"` ScopingIDPProviderId *string `access:"authentication_saml"` ScopingIDPName *string `access:"authentication_saml"` IdpCertificateFile *string `access:"authentication_saml"` // telemetry: none PublicCertificateFile *string `access:"authentication_saml"` // telemetry: none PrivateKeyFile *string `access:"authentication_saml"` // telemetry: none // User Mapping IdAttribute *string `access:"authentication_saml"` GuestAttribute *string `access:"authentication_saml"` EnableAdminAttribute *bool AdminAttribute *string FirstNameAttribute *string `access:"authentication_saml"` LastNameAttribute *string `access:"authentication_saml"` EmailAttribute *string `access:"authentication_saml"` UsernameAttribute *string `access:"authentication_saml"` NicknameAttribute *string `access:"authentication_saml"` LocaleAttribute *string `access:"authentication_saml"` PositionAttribute *string `access:"authentication_saml"` LoginButtonText *string `access:"authentication_saml"` LoginButtonColor *string `access:"experimental_features"` LoginButtonBorderColor *string `access:"experimental_features"` LoginButtonTextColor *string `access:"experimental_features"` }
func (*SamlSettings) SetDefaults ¶
func (s *SamlSettings) SetDefaults()
type ScheduledPost ¶ added in v0.1.8
type ScheduledPost struct { Draft Id string `json:"id"` ScheduledAt int64 `json:"scheduled_at"` ProcessedAt int64 `json:"processed_at"` ErrorCode string `json:"error_code"` }
func (*ScheduledPost) Auditable ¶ added in v0.1.8
func (s *ScheduledPost) Auditable() map[string]interface{}
func (*ScheduledPost) BaseIsValid ¶ added in v0.1.8
func (s *ScheduledPost) BaseIsValid() *AppError
func (*ScheduledPost) GetPriority ¶ added in v0.1.8
func (s *ScheduledPost) GetPriority() *PostPriority
func (*ScheduledPost) IsValid ¶ added in v0.1.8
func (s *ScheduledPost) IsValid(maxMessageSize int) *AppError
func (*ScheduledPost) PreSave ¶ added in v0.1.8
func (s *ScheduledPost) PreSave()
func (*ScheduledPost) PreUpdate ¶ added in v0.1.8
func (s *ScheduledPost) PreUpdate()
func (*ScheduledPost) RestoreNonUpdatableFields ¶ added in v0.1.8
func (s *ScheduledPost) RestoreNonUpdatableFields(originalScheduledPost *ScheduledPost)
func (*ScheduledPost) SanitizeInput ¶ added in v0.1.8
func (s *ScheduledPost) SanitizeInput()
func (*ScheduledPost) ToPost ¶ added in v0.1.8
func (s *ScheduledPost) ToPost() (*Post, error)
ToPost converts a scheduled post toa regular, mattermost post object.
type ScheduledTask ¶
type ScheduledTask struct { Name string `json:"name"` Interval time.Duration `json:"interval"` Recurring bool `json:"recurring"` // contains filtered or unexported fields }
func CreateRecurringTask ¶
func CreateRecurringTask(name string, function TaskFunc, interval time.Duration) *ScheduledTask
func CreateRecurringTaskFromNextIntervalTime ¶
func CreateRecurringTaskFromNextIntervalTime(name string, function TaskFunc, interval time.Duration) *ScheduledTask
func CreateTask ¶
func CreateTask(name string, function TaskFunc, timeToExecution time.Duration) *ScheduledTask
func (*ScheduledTask) Cancel ¶
func (task *ScheduledTask) Cancel()
func (*ScheduledTask) String ¶
func (task *ScheduledTask) String() string
type Scheme ¶
type Scheme struct { Id string `json:"id"` Name string `json:"name"` DisplayName string `json:"display_name"` Description string `json:"description"` CreateAt int64 `json:"create_at"` UpdateAt int64 `json:"update_at"` DeleteAt int64 `json:"delete_at"` Scope string `json:"scope"` DefaultTeamAdminRole string `json:"default_team_admin_role"` DefaultTeamUserRole string `json:"default_team_user_role"` DefaultChannelAdminRole string `json:"default_channel_admin_role"` DefaultChannelUserRole string `json:"default_channel_user_role"` DefaultTeamGuestRole string `json:"default_team_guest_role"` DefaultChannelGuestRole string `json:"default_channel_guest_role"` DefaultPlaybookAdminRole string `json:"default_playbook_admin_role"` DefaultPlaybookMemberRole string `json:"default_playbook_member_role"` DefaultRunAdminRole string `json:"default_run_admin_role"` DefaultRunMemberRole string `json:"default_run_member_role"` }
func (*Scheme) IsValidForCreate ¶
func (*Scheme) Patch ¶
func (scheme *Scheme) Patch(patch *SchemePatch)
type SchemeConveyor ¶
type SchemeConveyor struct { Name string `json:"name"` DisplayName string `json:"display_name"` Description string `json:"description"` Scope string `json:"scope"` TeamAdmin string `json:"default_team_admin_role"` TeamUser string `json:"default_team_user_role"` TeamGuest string `json:"default_team_guest_role"` ChannelAdmin string `json:"default_channel_admin_role"` ChannelUser string `json:"default_channel_user_role"` ChannelGuest string `json:"default_channel_guest_role"` PlaybookAdmin string `json:"default_playbook_admin_role"` PlaybookMember string `json:"default_playbook_member_role"` RunAdmin string `json:"default_run_admin_role"` RunMember string `json:"default_run_member_role"` Roles []*Role `json:"roles"` }
SchemeConveyor is used for importing and exporting a Scheme and its associated Roles.
func (*SchemeConveyor) Scheme ¶
func (sc *SchemeConveyor) Scheme() *Scheme
type SchemeIDPatch ¶
type SchemeIDPatch struct {
SchemeID *string `json:"scheme_id"`
}
func (*SchemeIDPatch) Auditable ¶
func (p *SchemeIDPatch) Auditable() map[string]interface{}
type SchemePatch ¶
type SchemePatch struct { Name *string `json:"name"` DisplayName *string `json:"display_name"` Description *string `json:"description"` }
func (*SchemePatch) Auditable ¶
func (scheme *SchemePatch) Auditable() map[string]interface{}
type SchemeRoles ¶
type SchemeRoles struct { SchemeAdmin bool `json:"scheme_admin"` SchemeUser bool `json:"scheme_user"` SchemeGuest bool `json:"scheme_guest"` }
func (*SchemeRoles) Auditable ¶
func (s *SchemeRoles) Auditable() map[string]interface{}
type SearchParameter ¶
type SearchParams ¶
type SearchParams struct { Terms string `json:"terms,omitempty"` ExcludedTerms string `json:"excluded_terms,omitempty"` IsHashtag bool `json:"ishashtag,omitempty"` InChannels []string `json:"in_channels,omitempty"` ExcludedChannels []string `json:"excluded_channels,omitempty"` FromUsers []string `json:"from_users,omitempty"` ExcludedUsers []string `json:"excluded_users,omitempty"` AfterDate string `json:"after_date,omitempty"` ExcludedAfterDate string `json:"excluded_after_date,omitempty"` BeforeDate string `json:"before_date,omitempty"` ExcludedBeforeDate string `json:"excluded_before_date,omitempty"` Extensions []string `json:"extensions,omitempty"` ExcludedExtensions []string `json:"excluded_extensions,omitempty"` OnDate string `json:"on_date,omitempty"` ExcludedDate string `json:"excluded_date,omitempty"` OrTerms bool `json:"or_terms,omitempty"` IncludeDeletedChannels bool `json:"include_deleted_channels,omitempty"` TimeZoneOffset int `json:"timezone_offset,omitempty"` // True if this search doesn't originate from a "current user". SearchWithoutUserId bool `json:"search_without_user_id,omitempty"` Modifier string `json:"modifier"` }
func ParseSearchParams ¶
func ParseSearchParams(text string, timeZoneOffset int) []*SearchParams
func (*SearchParams) GetAfterDateMillis ¶
func (p *SearchParams) GetAfterDateMillis() int64
Returns the epoch timestamp of the start of the day specified by SearchParams.AfterDate
func (*SearchParams) GetBeforeDateMillis ¶
func (p *SearchParams) GetBeforeDateMillis() int64
Returns the epoch timestamp of the end of the day specified by SearchParams.BeforeDate
func (*SearchParams) GetExcludedAfterDateMillis ¶
func (p *SearchParams) GetExcludedAfterDateMillis() int64
Returns the epoch timestamp of the start of the day specified by SearchParams.ExcludedAfterDate
func (*SearchParams) GetExcludedBeforeDateMillis ¶
func (p *SearchParams) GetExcludedBeforeDateMillis() int64
Returns the epoch timestamp of the end of the day specified by SearchParams.ExcludedBeforeDate
func (*SearchParams) GetExcludedDateMillis ¶
func (p *SearchParams) GetExcludedDateMillis() (int64, int64)
Returns the epoch timestamps of the start and end of the day specified by SearchParams.ExcludedDate
func (*SearchParams) GetOnDateMillis ¶
func (p *SearchParams) GetOnDateMillis() (int64, int64)
Returns the epoch timestamps of the start and end of the day specified by SearchParams.OnDate
type SecurityBulletin ¶
type SecurityBulletins ¶
type SecurityBulletins []SecurityBulletin
type ServerBusyState ¶
type ServerBusyState struct { Busy bool `json:"busy"` Expires int64 `json:"expires"` ExpiresTS string `json:"expires_ts,omitempty"` }
ServerBusyState provides serialization for app.Busy.
type ServerLimits ¶ added in v0.1.1
type ServerLimits struct { MaxUsersLimit int64 `json:"maxUsersLimit"` // soft limit for max number of users. MaxUsersHardLimit int64 `json:"maxUsersHardLimit"` // hard limit for max number of active users. ActiveUserCount int64 `json:"activeUserCount"` // actual number of active users on server. Active = non deleted }
type ServiceSettings ¶
type ServiceSettings struct { SiteURL *string `access:"environment_web_server,authentication_saml,write_restrictable"` WebsocketURL *string `access:"write_restrictable,cloud_restrictable"` LicenseFileLocation *string `access:"write_restrictable,cloud_restrictable"` // telemetry: none ListenAddress *string `access:"environment_web_server,write_restrictable,cloud_restrictable"` // telemetry: none ConnectionSecurity *string `access:"environment_web_server,write_restrictable,cloud_restrictable"` TLSCertFile *string `access:"environment_web_server,write_restrictable,cloud_restrictable"` TLSKeyFile *string `access:"environment_web_server,write_restrictable,cloud_restrictable"` TLSMinVer *string `access:"write_restrictable,cloud_restrictable"` // telemetry: none TLSStrictTransport *bool `access:"write_restrictable,cloud_restrictable"` // In seconds. TLSStrictTransportMaxAge *int64 `access:"write_restrictable,cloud_restrictable"` // telemetry: none TLSOverwriteCiphers []string `access:"write_restrictable,cloud_restrictable"` // telemetry: none UseLetsEncrypt *bool `access:"environment_web_server,write_restrictable,cloud_restrictable"` LetsEncryptCertificateCacheFile *string `access:"environment_web_server,write_restrictable,cloud_restrictable"` // telemetry: none Forward80To443 *bool `access:"environment_web_server,write_restrictable,cloud_restrictable"` TrustedProxyIPHeader []string `access:"write_restrictable,cloud_restrictable"` // telemetry: none ReadTimeout *int `access:"environment_web_server,write_restrictable,cloud_restrictable"` WriteTimeout *int `access:"environment_web_server,write_restrictable,cloud_restrictable"` IdleTimeout *int `access:"write_restrictable,cloud_restrictable"` MaximumLoginAttempts *int `access:"authentication_password,write_restrictable,cloud_restrictable"` GoroutineHealthThreshold *int `access:"write_restrictable,cloud_restrictable"` // telemetry: none EnableOAuthServiceProvider *bool `access:"integrations_integration_management"` EnableIncomingWebhooks *bool `access:"integrations_integration_management"` EnableOutgoingWebhooks *bool `access:"integrations_integration_management"` EnableOutgoingOAuthConnections *bool `access:"integrations_integration_management"` EnableCommands *bool `access:"integrations_integration_management"` OutgoingIntegrationRequestsTimeout *int64 `access:"integrations_integration_management"` // In seconds. EnablePostUsernameOverride *bool `access:"integrations_integration_management"` EnablePostIconOverride *bool `access:"integrations_integration_management"` GoogleDeveloperKey *string `access:"site_posts,write_restrictable,cloud_restrictable"` EnableLinkPreviews *bool `access:"site_posts"` EnablePermalinkPreviews *bool `access:"site_posts"` RestrictLinkPreviews *string `access:"site_posts"` EnableTesting *bool `access:"environment_developer,write_restrictable,cloud_restrictable"` EnableDeveloper *bool `access:"environment_developer,write_restrictable,cloud_restrictable"` DeveloperFlags *string `access:"environment_developer,cloud_restrictable"` EnableClientPerformanceDebugging *bool `access:"environment_developer,write_restrictable,cloud_restrictable"` EnableOpenTracing *bool `access:"write_restrictable,cloud_restrictable"` EnableSecurityFixAlert *bool `access:"environment_smtp,write_restrictable,cloud_restrictable"` EnableInsecureOutgoingConnections *bool `access:"environment_web_server,write_restrictable,cloud_restrictable"` AllowedUntrustedInternalConnections *string `access:"environment_web_server,write_restrictable,cloud_restrictable"` EnableMultifactorAuthentication *bool `access:"authentication_mfa"` EnforceMultifactorAuthentication *bool `access:"authentication_mfa"` EnableUserAccessTokens *bool `access:"integrations_integration_management"` AllowCorsFrom *string `access:"integrations_cors,write_restrictable,cloud_restrictable"` CorsExposedHeaders *string `access:"integrations_cors,write_restrictable,cloud_restrictable"` CorsAllowCredentials *bool `access:"integrations_cors,write_restrictable,cloud_restrictable"` CorsDebug *bool `access:"integrations_cors,write_restrictable,cloud_restrictable"` AllowCookiesForSubdomains *bool `access:"write_restrictable,cloud_restrictable"` ExtendSessionLengthWithActivity *bool `access:"environment_session_lengths,write_restrictable,cloud_restrictable"` TerminateSessionsOnPasswordChange *bool `access:"environment_session_lengths,write_restrictable,cloud_restrictable"` // Deprecated SessionLengthWebInDays *int `access:"environment_session_lengths,write_restrictable,cloud_restrictable"` // telemetry: none SessionLengthWebInHours *int `access:"environment_session_lengths,write_restrictable,cloud_restrictable"` // Deprecated SessionLengthMobileInDays *int `access:"environment_session_lengths,write_restrictable,cloud_restrictable"` // telemetry: none SessionLengthMobileInHours *int `access:"environment_session_lengths,write_restrictable,cloud_restrictable"` // Deprecated SessionLengthSSOInDays *int `access:"environment_session_lengths,write_restrictable,cloud_restrictable"` // telemetry: none SessionLengthSSOInHours *int `access:"environment_session_lengths,write_restrictable,cloud_restrictable"` SessionCacheInMinutes *int `access:"environment_session_lengths,write_restrictable,cloud_restrictable"` SessionIdleTimeoutInMinutes *int `access:"environment_session_lengths,write_restrictable,cloud_restrictable"` WebsocketSecurePort *int `access:"write_restrictable,cloud_restrictable"` // telemetry: none WebsocketPort *int `access:"write_restrictable,cloud_restrictable"` // telemetry: none WebserverMode *string `access:"environment_web_server,write_restrictable,cloud_restrictable"` EnableGifPicker *bool `access:"integrations_gif"` GiphySdkKey *string `access:"integrations_gif"` EnableCustomEmoji *bool `access:"site_emoji"` EnableEmojiPicker *bool `access:"site_emoji"` PostEditTimeLimit *int `access:"user_management_permissions"` TimeBetweenUserTypingUpdatesMilliseconds *int64 `access:"experimental_features,write_restrictable,cloud_restrictable"` EnablePostSearch *bool `access:"write_restrictable,cloud_restrictable"` EnableFileSearch *bool `access:"write_restrictable"` MinimumHashtagLength *int `access:"environment_database,write_restrictable,cloud_restrictable"` EnableUserTypingMessages *bool `access:"experimental_features,write_restrictable,cloud_restrictable"` EnableChannelViewedMessages *bool `access:"experimental_features,write_restrictable,cloud_restrictable"` EnableUserStatuses *bool `access:"write_restrictable,cloud_restrictable"` ExperimentalEnableAuthenticationTransfer *bool `access:"experimental_features"` ClusterLogTimeoutMilliseconds *int `access:"write_restrictable,cloud_restrictable"` EnableTutorial *bool `access:"experimental_features"` EnableOnboardingFlow *bool `access:"experimental_features"` ExperimentalEnableDefaultChannelLeaveJoinMessages *bool `access:"experimental_features"` ExperimentalGroupUnreadChannels *string `access:"experimental_features"` EnableAPITeamDeletion *bool EnableAPITriggerAdminNotifications *bool EnableAPIUserDeletion *bool EnableAPIPostDeletion *bool EnableDesktopLandingPage *bool ExperimentalEnableHardenedMode *bool `access:"experimental_features"` ExperimentalStrictCSRFEnforcement *bool `access:"experimental_features,write_restrictable,cloud_restrictable"` EnableEmailInvitations *bool `access:"authentication_signup"` DisableBotsWhenOwnerIsDeactivated *bool `access:"integrations_bot_accounts"` EnableBotAccountCreation *bool `access:"integrations_bot_accounts"` EnableSVGs *bool `access:"site_posts"` EnableLatex *bool `access:"site_posts"` EnableInlineLatex *bool `access:"site_posts"` PostPriority *bool `access:"site_posts"` AllowPersistentNotifications *bool `access:"site_posts"` AllowPersistentNotificationsForGuests *bool `access:"site_posts"` PersistentNotificationIntervalMinutes *int `access:"site_posts"` PersistentNotificationMaxCount *int `access:"site_posts"` PersistentNotificationMaxRecipients *int `access:"site_posts"` EnableAPIChannelDeletion *bool EnableLocalMode *bool `access:"cloud_restrictable"` LocalModeSocketLocation *string `access:"cloud_restrictable"` // telemetry: none EnableAWSMetering *bool // telemetry: none SplitKey *string `access:"experimental_feature_flags,write_restrictable"` // telemetry: none FeatureFlagSyncIntervalSeconds *int `access:"experimental_feature_flags,write_restrictable"` // telemetry: none DebugSplit *bool `access:"experimental_feature_flags,write_restrictable"` // telemetry: none ThreadAutoFollow *bool `access:"experimental_features"` CollapsedThreads *string `access:"experimental_features"` ManagedResourcePaths *string `access:"environment_web_server,write_restrictable,cloud_restrictable"` EnableCustomGroups *bool `access:"site_users_and_teams"` AllowSyncedDrafts *bool `access:"site_posts"` UniqueEmojiReactionLimitPerPost *int `access:"site_posts"` RefreshPostStatsRunTime *string `access:"site_users_and_teams"` MaximumPayloadSizeBytes *int64 `access:"environment_file_storage,write_restrictable,cloud_restrictable"` MaximumURLLength *int `access:"environment_file_storage,write_restrictable,cloud_restrictable"` ScheduledPosts *bool `access:"site_posts"` }
func (*ServiceSettings) SetDefaults ¶
func (s *ServiceSettings) SetDefaults(isUpdate 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"` DeviceId string `json:"device_id"` Roles string `json:"roles"` IsOAuth bool `json:"is_oauth"` ExpiredNotify bool `json:"expired_notify"` Props StringMap `json:"props"` TeamMembers []*TeamMember `json:"team_members" db:"-"` Local bool `json:"local" db:"-"` }
Session contains the user session details. This struct's serializer methods are auto-generated. If a new field is added/removed, please run make gen-serialized.
func (*Session) ExpiresAt_ ¶
func (*Session) GenerateCSRF ¶
func (*Session) GetTeamByTeamId ¶
func (s *Session) GetTeamByTeamId(teamId string) *TeamMember
func (*Session) GetUserRoles ¶
func (*Session) IsIntegration ¶ added in v0.0.10
Returns true when session is authenticated as a bot, by personal access token, or is an OAuth app. Does not indicate other forms of integrations e.g. webhooks, slash commands, etc.
func (*Session) IsMobileApp ¶
func (*Session) IsOAuthUser ¶
func (*Session) IsSSOLogin ¶
func (*Session) IsUnrestricted ¶
Returns true if the session is unrestricted, which should grant it with all permissions. This is used for local mode sessions
func (*Session) IsUserAccessToken ¶ added in v0.0.10
func (*Session) LastActivityAt_ ¶
func (*Session) MarshalMsg ¶
MarshalMsg implements msgp.Marshaler
type SharedChannel ¶
type SharedChannel struct {}
SharedChannel represents a channel that can be synchronized with a remote cluster. If "home" is true, then the shared channel is homed locally and "SharedChannelRemote" table contains the remote clusters that have been invited. If "home" is false, then the shared channel is homed remotely, and "RemoteId" field points to the remote cluster connection in "RemoteClusters" table.
func (*SharedChannel) IsValid ¶
func (sc *SharedChannel) IsValid() *AppError
func (*SharedChannel) PreSave ¶
func (sc *SharedChannel) PreSave()
func (*SharedChannel) PreUpdate ¶
func (sc *SharedChannel) PreUpdate()
type SharedChannelAttachment ¶
type SharedChannelAttachment struct {}
SharedChannelAttachment stores a lastSyncAt timestamp on behalf of a remote cluster for each file attachment that has been synchronized.
func (*SharedChannelAttachment) IsValid ¶
func (scf *SharedChannelAttachment) IsValid() *AppError
func (*SharedChannelAttachment) PreSave ¶
func (scf *SharedChannelAttachment) PreSave()
type SharedChannelFilterOpts ¶
type SharedChannelFilterOpts struct {}
type SharedChannelRemote ¶
type SharedChannelRemote struct {}
SharedChannelRemote represents a remote cluster that has been invited to a shared channel.
func (*SharedChannelRemote) IsValid ¶
func (sc *SharedChannelRemote) IsValid() *AppError
func (*SharedChannelRemote) PreSave ¶
func (sc *SharedChannelRemote) PreSave()
func (*SharedChannelRemote) PreUpdate ¶
func (sc *SharedChannelRemote) PreUpdate()
type SharedChannelRemoteFilterOpts ¶
type SharedChannelRemoteFilterOpts struct {}
type SharedChannelRemoteStatus ¶
type SharedChannelRemoteStatus struct {}
type SharedChannelUser ¶
type SharedChannelUser struct {}
SharedChannelUser stores a lastSyncAt timestamp on behalf of a remote cluster for each user that has been synchronized.
func (*SharedChannelUser) IsValid ¶
func (scu *SharedChannelUser) IsValid() *AppError
func (*SharedChannelUser) PreSave ¶
func (scu *SharedChannelUser) PreSave()
type SidebarCategoriesWithChannels ¶
type SidebarCategoriesWithChannels []*SidebarCategoryWithChannels
type SidebarCategory ¶
type SidebarCategory struct { Id string `json:"id"` UserId string `json:"user_id"` TeamId string `json:"team_id"` SortOrder int64 `json:"sort_order"` Sorting SidebarCategorySorting `json:"sorting"` Type SidebarCategoryType `json:"type"` DisplayName string `json:"display_name"` Muted bool `json:"muted"` Collapsed bool `json:"collapsed"` }
SidebarCategory represents the corresponding DB table
type SidebarCategoryOrder ¶
type SidebarCategoryOrder []string
type SidebarCategorySorting ¶
type SidebarCategorySorting string
func (SidebarCategorySorting) MarshalJSON ¶
func (t SidebarCategorySorting) MarshalJSON() ([]byte, error)
type SidebarCategoryType ¶
type SidebarCategoryType string
func (SidebarCategoryType) MarshalJSON ¶
func (t SidebarCategoryType) MarshalJSON() ([]byte, error)
type SidebarCategoryWithChannels ¶
type SidebarCategoryWithChannels struct { SidebarCategory Channels []string `json:"channel_ids"` }
SidebarCategoryWithChannels combines data from SidebarCategory table with the Channel IDs that belong to that category
func (SidebarCategoryWithChannels) ChannelIds ¶
func (sc SidebarCategoryWithChannels) ChannelIds() []string
type SidebarChannel ¶
type SidebarChannels ¶
type SidebarChannels []*SidebarChannel
type SlackAttachment ¶
type SlackAttachment struct { Id int64 `json:"id"` Fallback string `json:"fallback"` Color string `json:"color"` Pretext string `json:"pretext"` AuthorName string `json:"author_name"` AuthorLink string `json:"author_link"` AuthorIcon string `json:"author_icon"` Title string `json:"title"` TitleLink string `json:"title_link"` Text string `json:"text"` Fields []*SlackAttachmentField `json:"fields"` ImageURL string `json:"image_url"` ThumbURL string `json:"thumb_url"` Timestamp any `json:"ts"` // This is either a string or an int64 Actions []*PostAction `json:"actions,omitempty"` }
func StringifySlackFieldValue ¶
func StringifySlackFieldValue(a []*SlackAttachment) []*SlackAttachment
func (*SlackAttachment) Equals ¶
func (s *SlackAttachment) Equals(input *SlackAttachment) bool
type SlackAttachmentField ¶
type SlackAttachmentField struct { Title string `json:"title"` Value any `json:"value"` Short SlackCompatibleBool `json:"short"` }
func (*SlackAttachmentField) Equals ¶
func (s *SlackAttachmentField) Equals(input *SlackAttachmentField) bool
type SlackCompatibleBool ¶
type SlackCompatibleBool bool
SlackCompatibleBool is an alias for bool that implements json.Unmarshaler
func (*SlackCompatibleBool) UnmarshalJSON ¶
func (b *SlackCompatibleBool) UnmarshalJSON(data []byte) error
UnmarshalJSON implements json.Unmarshaler
Slack allows bool values to be represented as strings ("true"/"false") or literals (true/false). To maintain compatibility, we define an Unmarshaler that supports both.
type SqlSettings ¶
type SqlSettings struct { DriverName *string `access:"environment_database,write_restrictable,cloud_restrictable"` DataSource *string `access:"environment_database,write_restrictable,cloud_restrictable"` // telemetry: none DataSourceReplicas []string `access:"environment_database,write_restrictable,cloud_restrictable"` DataSourceSearchReplicas []string `access:"environment_database,write_restrictable,cloud_restrictable"` MaxIdleConns *int `access:"environment_database,write_restrictable,cloud_restrictable"` ConnMaxLifetimeMilliseconds *int `access:"environment_database,write_restrictable,cloud_restrictable"` ConnMaxIdleTimeMilliseconds *int `access:"environment_database,write_restrictable,cloud_restrictable"` MaxOpenConns *int `access:"environment_database,write_restrictable,cloud_restrictable"` Trace *bool `access:"environment_database,write_restrictable,cloud_restrictable"` AtRestEncryptKey *string `access:"environment_database,write_restrictable,cloud_restrictable"` // telemetry: none QueryTimeout *int `access:"environment_database,write_restrictable,cloud_restrictable"` DisableDatabaseSearch *bool `access:"environment_database,write_restrictable,cloud_restrictable"` MigrationsStatementTimeoutSeconds *int `access:"environment_database,write_restrictable,cloud_restrictable"` ReplicaLagSettings []*ReplicaLagSettings `access:"environment_database,write_restrictable,cloud_restrictable"` // telemetry: none ReplicaMonitorIntervalSeconds *int `access:"environment_database,write_restrictable,cloud_restrictable"` }
func (*SqlSettings) SetDefaults ¶
func (s *SqlSettings) SetDefaults(isUpdate bool)
type StartCloudTrialRequest ¶
type Status ¶
type StorageUsage ¶
type StorageUsage struct {
Bytes int64 `json:"bytes"`
}
type StringArray ¶
type StringArray []string
func (StringArray) Contains ¶
func (sa StringArray) Contains(input string) bool
func (*StringArray) DecodeMsg ¶ added in v0.1.8
func (z *StringArray) DecodeMsg(dc *msgp.Reader) (err error)
DecodeMsg implements msgp.Decodable
func (StringArray) EncodeMsg ¶ added in v0.1.8
func (z StringArray) EncodeMsg(en *msgp.Writer) (err error)
EncodeMsg implements msgp.Encodable
func (StringArray) Equals ¶
func (sa StringArray) Equals(input StringArray) bool
func (StringArray) MarshalMsg ¶ added in v0.1.8
func (z StringArray) MarshalMsg(b []byte) (o []byte, err error)
MarshalMsg implements msgp.Marshaler
func (StringArray) Msgsize ¶ added in v0.1.8
func (z StringArray) Msgsize() (s int)
Msgsize returns an upper bound estimate of the number of bytes occupied by the serialized message
func (StringArray) Remove ¶
func (sa StringArray) Remove(input string) StringArray
func (*StringArray) Scan ¶
func (sa *StringArray) Scan(value any) error
Scan converts database column value to StringArray
func (*StringArray) UnmarshalMsg ¶ added in v0.1.8
func (z *StringArray) UnmarshalMsg(bts []byte) (o []byte, err error)
UnmarshalMsg implements msgp.Unmarshaler
type StringInterface ¶
func (StringInterface) MarshalJSON ¶
func (si StringInterface) MarshalJSON() ([]byte, error)
func (*StringInterface) Scan ¶
func (si *StringInterface) Scan(value any) error
type StringMap ¶
func GetDefaultChannelNotifyProps ¶
func GetDefaultChannelNotifyProps() StringMap
func (StringMap) MarshalJSON ¶
func (StringMap) MarshalMsg ¶
MarshalMsg implements msgp.Marshaler
func (StringMap) Msgsize ¶
Msgsize returns an upper bound estimate of the number of bytes occupied by the serialized message
func (*StringMap) UnmarshalMsg ¶
UnmarshalMsg implements msgp.Unmarshaler
type StripeSetupIntent ¶
StripeSetupIntent represents the SetupIntent model from Stripe for updating payment methods.
type SubmitDialogRequest ¶
type SubmitDialogRequest struct { Type string `json:"type"` URL string `json:"url,omitempty"` CallbackId string `json:"callback_id"` State string `json:"state"` UserId string `json:"user_id"` ChannelId string `json:"channel_id"` TeamId string `json:"team_id"` Submission map[string]any `json:"submission"` Cancelled bool `json:"cancelled"` }
type SubmitDialogResponse ¶
type Subscription ¶
type Subscription struct { ID string `json:"id"` CustomerID string `json:"customer_id"` ProductID string `json:"product_id"` AddOns []string `json:"add_ons"` StartAt int64 `json:"start_at"` EndAt int64 `json:"end_at"` CreateAt int64 `json:"create_at"` Seats int `json:"seats"` Status string `json:"status"` DNS string `json:"dns"` LastInvoice *Invoice `json:"last_invoice"` UpcomingInvoice *Invoice `json:"upcoming_invoice"` IsFreeTrial string `json:"is_free_trial"` TrialEndAt int64 `json:"trial_end_at"` DelinquentSince *int64 `json:"delinquent_since"` OriginallyLicensedSeats int `json:"originally_licensed_seats"` ComplianceBlocked string `json:"compliance_blocked"` BillingType string `json:"billing_type"` CancelAt *int64 `json:"cancel_at"` WillRenew string `json:"will_renew"` SimulatedCurrentTimeMs *int64 `json:"simulated_current_time_ms"` }
Subscription model represents a subscription on the system.
func (*Subscription) DaysToExpiration ¶ added in v0.0.13
func (s *Subscription) DaysToExpiration() int64
func (*Subscription) GetWorkSpaceNameFromDNS ¶
func (s *Subscription) GetWorkSpaceNameFromDNS() string
GetWorkSpaceNameFromDNS returns the work space name. For example from test.mattermost.cloud.com, it returns test
type SubscriptionChange ¶
type SubscriptionChange struct { ProductID string `json:"product_id"` Seats int `json:"seats"` Feedback *Feedback `json:"downgrade_feedback"` ShippingAddress *Address `json:"shipping_address"` Customer *CloudCustomerInfo `json:"customer"` }
type SubscriptionFamily ¶
type SubscriptionFamily string
type SubscriptionHistory ¶
type SubscriptionHistory struct { ID string `json:"id"` SubscriptionID string `json:"subscription_id"` Seats int `json:"seats"` CreateAt int64 `json:"create_at"` }
Subscription History model represents true up event in a yearly subscription
type SuggestCommand ¶
type SupportPacket ¶
type SupportPacket struct { ServerOS string `yaml:"server_os"` ServerArchitecture string `yaml:"server_architecture"` ServerVersion string `yaml:"server_version"` BuildHash string `yaml:"build_hash"` DatabaseType string `yaml:"database_type"` DatabaseVersion string `yaml:"database_version"` DatabaseSchemaVersion string `yaml:"database_schema_version"` WebsocketConnections int `yaml:"websocket_connections"` MasterDbConnections int `yaml:"master_db_connections"` ReplicaDbConnections int `yaml:"read_db_connections"` ClusterID string `yaml:"cluster_id"` FileDriver string `yaml:"file_driver"` FileStatus string `yaml:"file_status"` LdapVendorName string `yaml:"ldap_vendor_name,omitempty"` LdapVendorVersion string `yaml:"ldap_vendor_version,omitempty"` ElasticServerVersion string `yaml:"elastic_server_version,omitempty"` ElasticServerPlugins []string `yaml:"elastic_server_plugins,omitempty"` LicenseTo string `yaml:"license_to"` LicenseSupportedUsers int `yaml:"license_supported_users"` LicenseIsTrial bool `yaml:"license_is_trial,omitempty"` ActiveUsers int `yaml:"active_users"` DailyActiveUsers int `yaml:"daily_active_users"` MonthlyActiveUsers int `yaml:"monthly_active_users"` InactiveUserCount int `yaml:"inactive_user_count"` TotalPosts int `yaml:"total_posts"` TotalChannels int `yaml:"total_channels"` TotalTeams int `yaml:"total_teams"` DataRetentionJobs []*Job `yaml:"data_retention_jobs"` MessageExportJobs []*Job `yaml:"message_export_jobs"` ElasticPostIndexingJobs []*Job `yaml:"elastic_post_indexing_jobs"` ElasticPostAggregationJobs []*Job `yaml:"elastic_post_aggregation_jobs"` BlevePostIndexingJobs []*Job `yaml:"bleve_post_indexin_jobs"` LdapSyncJobs []*Job `yaml:"ldap_sync_jobs"` MigrationJobs []*Job `yaml:"migration_jobs"` }
type SupportPacketOptions ¶ added in v0.0.18
type SupportPacketOptions struct { IncludeLogs bool `json:"include_logs"` // IncludeLogs is the option to include server logs PluginPackets []string `json:"plugin_packets"` // PluginPackets is a list of pluginids to call hooks }
func SupportPacketOptionsFromReader ¶ added in v0.0.18
func SupportPacketOptionsFromReader(reader io.Reader) (*SupportPacketOptions, error)
SupportPacketOptionsFromReader decodes a json-encoded request from the given io.Reader.
type SupportSettings ¶
type SupportSettings struct { TermsOfServiceLink *string `access:"site_customization,write_restrictable,cloud_restrictable"` PrivacyPolicyLink *string `access:"site_customization,write_restrictable,cloud_restrictable"` AboutLink *string `access:"site_customization,write_restrictable,cloud_restrictable"` HelpLink *string `access:"site_customization"` ReportAProblemLink *string `access:"site_customization,write_restrictable,cloud_restrictable"` ForgotPasswordLink *string `access:"site_customization,write_restrictable,cloud_restrictable"` SupportEmail *string `access:"site_notifications"` CustomTermsOfServiceEnabled *bool `access:"compliance_custom_terms_of_service"` CustomTermsOfServiceReAcceptancePeriod *int `access:"compliance_custom_terms_of_service"` EnableAskCommunityLink *bool `access:"site_customization"` }
func (*SupportSettings) SetDefaults ¶
func (s *SupportSettings) SetDefaults()
type SwitchRequest ¶
type SwitchRequest struct { CurrentService string `json:"current_service"` NewService string `json:"new_service"` Email string `json:"email"` Password string `json:"password"` NewPassword string `json:"new_password"` MfaCode string `json:"mfa_code"` LdapLoginId string `json:"ldap_id"` }
func (*SwitchRequest) Auditable ¶
func (o *SwitchRequest) Auditable() map[string]interface{}
func (*SwitchRequest) EmailToLdap ¶
func (o *SwitchRequest) EmailToLdap() bool
func (*SwitchRequest) EmailToOAuth ¶
func (o *SwitchRequest) EmailToOAuth() bool
func (*SwitchRequest) LdapToEmail ¶
func (o *SwitchRequest) LdapToEmail() bool
func (*SwitchRequest) OAuthToEmail ¶
func (o *SwitchRequest) OAuthToEmail() bool
type SyncMsg ¶ added in v0.0.12
type SyncMsg struct { Id string `json:"id"` ChannelId string `json:"channel_id"` Users map[string]*User `json:"users,omitempty"` Posts []*Post `json:"posts,omitempty"` Reactions []*Reaction `json:"reactions,omitempty"` Statuses []*Status `json:"statuses,omitempty"` }
SyncMsg represents a change in content (post add/edit/delete, reaction add/remove, users). It is sent to remote clusters as the payload of a `RemoteClusterMsg`.
func NewSyncMsg ¶ added in v0.0.12
type SyncResponse ¶ added in v0.0.12
type SyncResponse struct { UsersLastUpdateAt int64 `json:"users_last_update_at"` UserErrors []string `json:"user_errors"` UsersSyncd []string `json:"users_syncd"` PostsLastUpdateAt int64 `json:"posts_last_update_at"` PostErrors []string `json:"post_errors"` ReactionsLastUpdateAt int64 `json:"reactions_last_update_at"` ReactionErrors []string `json:"reaction_errors"` StatusErrors []string `json:"status_errors"` // user IDs for which the status sync failed }
SyncResponse represents the response to a synchronization event
type SystemAsymmetricSigningKey ¶
type SystemAsymmetricSigningKey struct {
ECDSAKey *SystemECDSAKey `json:"ecdsa_key,omitempty"`
}
type SystemECDSAKey ¶
type SystemPingOptions ¶ added in v0.0.15
type SystemPingOptions struct { // FullStatus allows server to set the detailed information about // the system status. FullStatus bool // RestSemantics allows server to return 200 code even if the server // status is unhealthy. RESTSemantics bool }
SystemPingOptions is the options for setting contents of the system ping response.
type SystemPostActionCookieSecret ¶
type SystemPostActionCookieSecret struct {
Secret []byte `json:"key,omitempty"`
}
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"` Description string `json:"description"` 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"` LastTeamIconUpdate int64 `json:"last_team_icon_update,omitempty"` SchemeId *string `json:"scheme_id"` GroupConstrained *bool `json:"group_constrained"` PolicyID *string `json:"policy_id"` CloudLimitsArchived bool `json:"cloud_limits_archived"` }
func (*Team) IsGroupConstrained ¶
func (*Team) ShallowCopy ¶
ShallowCopy returns a shallow copy of team.
type TeamForExport ¶
type TeamInviteReminderData ¶
type TeamInviteReminderData struct {
Interval string
}
type TeamMember ¶
type TeamMember struct { TeamId string `json:"team_id"` UserId string `json:"user_id"` Roles string `json:"roles"` DeleteAt int64 `json:"delete_at"` SchemeGuest bool `json:"scheme_guest"` SchemeUser bool `json:"scheme_user"` SchemeAdmin bool `json:"scheme_admin"` ExplicitRoles string `json:"explicit_roles"` CreateAt int64 `json:"-"` }
This struct's serializer methods are auto-generated. If a new field is added/removed, please run make gen-serialized.
func TeamMembersWithErrorToTeamMembers ¶
func TeamMembersWithErrorToTeamMembers(o []*TeamMemberWithError) []*TeamMember
func (*TeamMember) Auditable ¶
func (o *TeamMember) Auditable() map[string]interface{}
func (*TeamMember) DecodeMsg ¶
func (z *TeamMember) DecodeMsg(dc *msgp.Reader) (err error)
DecodeMsg implements msgp.Decodable
func (*TeamMember) EncodeMsg ¶
func (z *TeamMember) EncodeMsg(en *msgp.Writer) (err error)
EncodeMsg implements msgp.Encodable
func (*TeamMember) GetRoles ¶
func (o *TeamMember) GetRoles() []string
func (*TeamMember) IsValid ¶
func (o *TeamMember) IsValid() *AppError
func (*TeamMember) MarshalMsg ¶
func (z *TeamMember) MarshalMsg(b []byte) (o []byte, err error)
MarshalMsg implements msgp.Marshaler
func (*TeamMember) Msgsize ¶
func (z *TeamMember) Msgsize() (s int)
Msgsize returns an upper bound estimate of the number of bytes occupied by the serialized message
func (*TeamMember) PreUpdate ¶
func (o *TeamMember) PreUpdate()
func (*TeamMember) UnmarshalMsg ¶
func (z *TeamMember) UnmarshalMsg(bts []byte) (o []byte, err error)
UnmarshalMsg implements msgp.Unmarshaler
type TeamMemberForExport ¶
type TeamMemberForExport struct { TeamMember TeamName string }
type TeamMemberWithError ¶
type TeamMemberWithError struct { UserId string `json:"user_id"` Member *TeamMember `json:"member"` Error *AppError `json:"error"` }
type TeamMembersGetOptions ¶
type TeamMembersGetOptions struct { // Sort the team members. Accepts "Username", but defaults to "Id". Sort string // If true, exclude team members whose corresponding user is deleted. ExcludeDeletedUsers bool // Restrict to search in a list of teams and channels ViewRestrictions *ViewUsersRestrictions }
type TeamPatch ¶
type TeamPatch struct { DisplayName *string `json:"display_name"` Description *string `json:"description"` CompanyName *string `json:"company_name"` AllowedDomains *string `json:"allowed_domains"` AllowOpenInvite *bool `json:"allow_open_invite"` GroupConstrained *bool `json:"group_constrained"` CloudLimitsArchived *bool `json:"cloud_limits_archived"` }
type TeamSearch ¶
type TeamSearch struct { Term string `json:"term"` Page *int `json:"page,omitempty"` PerPage *int `json:"per_page,omitempty"` AllowOpenInvite *bool `json:"allow_open_invite,omitempty"` GroupConstrained *bool `json:"group_constrained,omitempty"` IncludeGroupConstrained *bool `json:"include_group_constrained,omitempty"` PolicyID *string `json:"policy_id,omitempty"` ExcludePolicyConstrained *bool `json:"exclude_policy_constrained,omitempty"` IncludePolicyID *bool `json:"-"` IncludeDeleted *bool `json:"-"` TeamType *string `json:"-"` }
func (*TeamSearch) IsPaginated ¶
func (t *TeamSearch) IsPaginated() bool
type TeamSettings ¶
type TeamSettings struct { SiteName *string `access:"site_customization"` MaxUsersPerTeam *int `access:"site_users_and_teams"` EnableJoinLeaveMessageByDefault *bool `access:"site_users_and_teams"` EnableUserCreation *bool `access:"authentication_signup"` EnableOpenServer *bool `access:"authentication_signup"` EnableUserDeactivation *bool `access:"experimental_features"` RestrictCreationToDomains *string `access:"authentication_signup"` // telemetry: none EnableCustomUserStatuses *bool `access:"site_users_and_teams"` EnableCustomBrand *bool `access:"site_customization"` CustomBrandText *string `access:"site_customization"` CustomDescriptionText *string `access:"site_customization"` RestrictDirectMessage *string `access:"site_users_and_teams"` EnableLastActiveTime *bool `access:"site_users_and_teams"` // In seconds. UserStatusAwayTimeout *int64 `access:"experimental_features"` MaxChannelsPerTeam *int64 `access:"site_users_and_teams"` MaxNotificationsPerChannel *int64 `access:"environment_push_notification_server"` EnableConfirmNotificationsToChannel *bool `access:"site_notifications"` TeammateNameDisplay *string `access:"site_users_and_teams"` ExperimentalViewArchivedChannels *bool `access:"experimental_features,site_users_and_teams"` ExperimentalEnableAutomaticReplies *bool `access:"experimental_features"` LockTeammateNameDisplay *bool `access:"site_users_and_teams"` ExperimentalPrimaryTeam *string `access:"experimental_features"` ExperimentalDefaultChannels []string `access:"experimental_features"` }
func (*TeamSettings) SetDefaults ¶
func (s *TeamSettings) SetDefaults()
type TeamUnread ¶
type TeamUnread struct { TeamId string `json:"team_id"` MsgCount int64 `json:"msg_count"` MentionCount int64 `json:"mention_count"` MentionCountRoot int64 `json:"mention_count_root"` MsgCountRoot int64 `json:"msg_count_root"` ThreadCount int64 `json:"thread_count"` ThreadMentionCount int64 `json:"thread_mention_count"` ThreadUrgentMentionCount int64 `json:"thread_urgent_mention_count"` }
type TeamsLimits ¶
type TeamsLimits struct {
Active *int `json:"active"`
}
type TeamsUsage ¶
type TeamsWithCount ¶
type TermsOfService ¶
type TermsOfService struct { Id string `json:"id"` CreateAt int64 `json:"create_at"` UserId string `json:"user_id"` Text string `json:"text"` }
func (*TermsOfService) IsValid ¶
func (t *TermsOfService) IsValid() *AppError
func (*TermsOfService) PreSave ¶
func (t *TermsOfService) PreSave()
type ThemeSettings ¶
type ThemeSettings struct { EnableThemeSelection *bool `access:"experimental_features"` DefaultTheme *string `access:"experimental_features"` AllowCustomThemes *bool `access:"experimental_features"` AllowedThemes []string }
func (*ThemeSettings) SetDefaults ¶
func (s *ThemeSettings) SetDefaults()
type Thread ¶
type Thread struct { // PostId is the root post of the thread. PostId string `json:"id"` // ChannelId is the channel in which the thread was posted. ChannelId string `json:"channel_id"` // ReplyCount is the number of replies to the thread (excluding deleted posts). ReplyCount int64 `json:"reply_count"` // LastReplyAt is the timestamp of the most recent post to the thread. LastReplyAt int64 `json:"last_reply_at"` // Participants is a list of user ids that have replied to the thread, sorted by the oldest // to newest. Note that the root post author is not included in this list until they reply. Participants StringArray `json:"participants"` // DeleteAt is a denormalized copy of the root posts's DeleteAt. In the database, it's // named ThreadDeleteAt to avoid introducing a query conflict with older server versions. DeleteAt int64 `json:"delete_at"` // TeamId is a denormalized copy of the Channel's teamId. In the database, it's // named ThreadTeamId to avoid introducing a query conflict with older server versions. TeamId string `json:"team_id"` }
Thread tracks the metadata associated with a root post and its reply posts.
Note that Thread metadata does not exist until the first reply to a root post.
type ThreadMembership ¶
type ThreadMembership struct { // PostId is the root post id of the thread in question. PostId string `json:"post_id"` // UserId is the user whose membership in the thread is being tracked. UserId string `json:"user_id"` // Following tracks whether the user is following the given thread. This defaults to true // when a ThreadMembership record is created (a record doesn't exist until the user first // starts following the thread), but the user can stop following or resume following at // will. Following bool `json:"following"` // LastUpdated is either the creation time of the membership record, or the last time the // membership record was changed (e.g. started/stopped following, viewed thread, mention // count change). // // This field is used to constrain queries of thread memberships to those updated after // a given timestamp (e.g. on websocket reconnect). It's also used as the time column for // deletion decisions during any configured retention policy. LastUpdated int64 `json:"last_update_at"` // LastViewed is the last time the user viewed this thread. It is the thread analogue to // the ChannelMembership's LastViewedAt and is used to decide when there are new replies // for the user and where the user should start reading. LastViewed int64 `json:"last_view_at"` // UnreadMentions is the number of unseen at-mentions for the user in the given thread. It // is the thread analogue to the ChannelMembership's MentionCount, and is used to highlight // threads with the mention count. UnreadMentions int64 `json:"unread_mentions"` }
ThreadMembership models the relationship between a user and a thread of posts, with a similar data structure as ChannelMembership.
func (*ThreadMembership) IsValid ¶ added in v0.1.7
func (o *ThreadMembership) IsValid() *AppError
type ThreadMembershipForExport ¶ added in v0.1.7
type ThreadResponse ¶
type ThreadResponse struct { PostId string `json:"id"` ReplyCount int64 `json:"reply_count"` LastReplyAt int64 `json:"last_reply_at"` LastViewedAt int64 `json:"last_viewed_at"` Participants []*User `json:"participants"` Post *Post `json:"post"` UnreadReplies int64 `json:"unread_replies"` UnreadMentions int64 `json:"unread_mentions"` IsUrgent bool `json:"is_urgent"` DeleteAt int64 `json:"delete_at"` }
type Threads ¶
type Threads struct { Total int64 `json:"total"` TotalUnreadThreads int64 `json:"total_unread_threads"` TotalUnreadMentions int64 `json:"total_unread_mentions"` TotalUnreadUrgentMentions int64 `json:"total_unread_urgent_mentions"` Threads []*ThreadResponse `json:"threads"` }
type TrialLicenseRequest ¶
type TrialLicenseRequest struct { ServerID string `json:"server_id"` Email string `json:"email"` Name string `json:"name"` SiteURL string `json:"site_url"` SiteName string `json:"site_name"` Users int `json:"users"` TermsAccepted bool `json:"terms_accepted"` ReceiveEmailsAccepted bool `json:"receive_emails_accepted"` ContactName string `json:"contact_name"` ContactEmail string `json:"contact_email"` CompanyName string `json:"company_name"` CompanyCountry string `json:"company_country"` CompanySize string `json:"company_size"` }
func (*TrialLicenseRequest) IsLegacy ¶
func (tlr *TrialLicenseRequest) IsLegacy() bool
If any of the below fields are set, this is not a legacy request, and all fields should be validated
func (*TrialLicenseRequest) IsValid ¶
func (tlr *TrialLicenseRequest) IsValid() bool
type TypingRequest ¶
type UpdateChannelBookmarkResponse ¶ added in v0.0.17
type UpdateChannelBookmarkResponse struct { Updated *ChannelBookmarkWithFileInfo `json:"updated,omitempty"` Deleted *ChannelBookmarkWithFileInfo `json:"deleted,omitempty"` }
func (*UpdateChannelBookmarkResponse) Auditable ¶ added in v0.0.17
func (o *UpdateChannelBookmarkResponse) Auditable() map[string]any
type UploadSession ¶
type UploadSession struct { // The unique identifier for the session. Id string `json:"id"` // The type of the upload. Type UploadType `json:"type"` // The timestamp of creation. CreateAt int64 `json:"create_at"` // The id of the user performing the upload. UserId string `json:"user_id"` // The id of the channel to upload to. ChannelId string `json:"channel_id,omitempty"` // The name of the file to upload. Filename string `json:"filename"` // The path where the file is stored. Path string `json:"-"` // The size of the file to upload. FileSize int64 `json:"file_size"` // The amount of received data in bytes. If equal to FileSize it means the // upload has finished. FileOffset int64 `json:"file_offset"` // Id of remote cluster if uploading for shared channel RemoteId string `json:"remote_id"` // Requested file id if uploading for shared channel ReqFileId string `json:"req_file_id"` }
UploadSession contains information used to keep track of a file upload.
func (*UploadSession) Auditable ¶
func (us *UploadSession) Auditable() map[string]interface{}
func (*UploadSession) IsValid ¶
func (us *UploadSession) IsValid() *AppError
IsValid validates an UploadSession. It returns an error in case of failure.
func (*UploadSession) PreSave ¶
func (us *UploadSession) PreSave()
PreSave is a utility function used to fill required information.
type UploadType ¶
type UploadType string
UploadType defines the type of an upload.
const ( UploadTypeAttachment UploadType = "attachment" UploadTypeImport UploadType = "import" IncompleteUploadSuffix = ".tmp" )
func (UploadType) IsValid ¶
func (t UploadType) IsValid() error
IsValid validates an UploadType. It returns an error in case of failure.
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"` Position string `json:"position"` 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"` Timezone StringMap `json:"timezone"` MfaActive bool `json:"mfa_active,omitempty"` MfaSecret string `json:"mfa_secret,omitempty"` RemoteId *string `json:"remote_id,omitempty"` LastActivityAt int64 `json:"last_activity_at,omitempty"` IsBot bool `json:"is_bot,omitempty"` BotDescription string `json:"bot_description,omitempty"` BotLastIconUpdate int64 `json:"bot_last_icon_update,omitempty"` TermsOfServiceId string `json:"terms_of_service_id,omitempty"` TermsOfServiceCreateAt int64 `json:"terms_of_service_create_at,omitempty"` DisableWelcomeEmail bool `json:"disable_welcome_email"` LastLogin int64 `json:"last_login,omitempty"` MfaUsedTimestamps StringArray `json:"mfa_used_timestamps,omitempty"` }
User contains the details about the user. This struct's serializer methods are auto-generated. If a new field is added/removed, please run make gen-serialized.
func UserFromBot ¶
UserFromBot returns a user model describing the bot fields stored in the User store.
func (*User) AddNotifyProp ¶
func (*User) ClearCustomStatus ¶
func (u *User) ClearCustomStatus()
func (*User) ClearNonProfileFields ¶
func (*User) CustomStatus ¶
func (u *User) CustomStatus() *CustomStatus
func (*User) EmailDomain ¶ added in v0.0.12
func (*User) GetAuthData ¶ added in v0.1.6
func (*User) GetCustomStatus ¶
func (u *User) GetCustomStatus() *CustomStatus
func (*User) GetDisplayName ¶
func (*User) GetDisplayNameWithPrefix ¶
func (*User) GetFullName ¶
func (*User) GetMentionKeys ¶
func (*User) GetPreferredTimezone ¶
func (*User) GetRawRoles ¶
func (*User) GetRemoteID ¶
GetRemoteID returns the remote id for this user or "" if not a remote user.
func (*User) GetTimezoneLocation ¶
func (*User) IsGuest ¶
Make sure you actually 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) IsInRole ¶
Make sure you actually 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) IsRemote ¶
IsRemote returns true if the user belongs to a remote cluster (has RemoteId).
func (*User) IsSAMLUser ¶
func (*User) IsSystemAdmin ¶
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) MarshalMsg ¶
MarshalMsg implements msgp.Marshaler
func (*User) Msgsize ¶
Msgsize returns an upper bound estimate of the number of bytes occupied by the serialized message
func (*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) SanitizeInput ¶
Remove any input data from the user object that is not user controlled
func (*User) SanitizeProfile ¶
func (*User) SetCustomStatus ¶
func (u *User) SetCustomStatus(cs *CustomStatus) error
func (*User) SetDefaultNotifications ¶
func (u *User) SetDefaultNotifications()
func (*User) UnmarshalMsg ¶
UnmarshalMsg implements msgp.Unmarshaler
func (*User) UpdateMentionKeysFromUsername ¶
func (*User) ValidateCustomStatus ¶ added in v0.0.17
type UserAccessToken ¶
type UserAccessToken struct { Id string `json:"id"` Token string `json:"token,omitempty"` UserId string `json:"user_id"` Description string `json:"description"` IsActive bool `json:"is_active"` }
func (*UserAccessToken) IsValid ¶
func (t *UserAccessToken) IsValid() *AppError
func (*UserAccessToken) PreSave ¶
func (t *UserAccessToken) PreSave()
type UserAccessTokenSearch ¶
type UserAccessTokenSearch struct {
Term string `json:"term"`
}
type UserAuth ¶
type UserAutocomplete ¶
type UserAutocompleteInTeam ¶
type UserAutocompleteInTeam struct {
InTeam []*User `json:"in_team"`
}
type UserChannelIDPair ¶
type UserCountOptions ¶
type UserCountOptions struct { // Should include users that are bots IncludeBotAccounts bool // Should include deleted users (of any type) IncludeDeleted bool // Include remote users IncludeRemoteUsers bool // Exclude regular users ExcludeRegularUsers bool // Only include users on a specific team. "" for any team. TeamId string // Only include users on a specific channel. "" for any channel. ChannelId string // Restrict to search in a list of teams and channels ViewRestrictions *ViewUsersRestrictions // Only include users matching any of the given system wide roles. Roles []string // Only include users matching any of the given channel roles, must be used with ChannelId. ChannelRoles []string // Only include users matching any of the given team roles, must be used with TeamId. TeamRoles []string }
Options for counting users
type UserFacingProduct ¶
type UserForIndexing ¶
type UserForIndexing struct { Id string `json:"id"` Username string `json:"username"` Nickname string `json:"nickname"` FirstName string `json:"first_name"` LastName string `json:"last_name"` Roles string `json:"roles"` CreateAt int64 `json:"create_at"` DeleteAt int64 `json:"delete_at"` TeamsIds []string `json:"team_id"` ChannelsIds []string `json:"channel_id"` }
type UserGetByIdsOptions ¶
type UserGetByIdsOptions struct { // Since filters the users based on their UpdateAt timestamp. Since int64 }
type UserGetOptions ¶
type UserGetOptions struct { // Filters the users in the team InTeamId string // Filters the users not in the team NotInTeamId string // Filters the users in the channel InChannelId string // Filters the users not in the channel NotInChannelId string // Filters the users in the group InGroupId string // Filters the users not in the group NotInGroupId string // Filters the users group constrained GroupConstrained bool // Filters the users without a team WithoutTeam bool // Filters the inactive users Inactive bool // Filters the active users Active bool // Filters for the given role Role string // Filters for users matching any of the given system wide roles Roles []string // Filters for users matching any of the given channel roles, must be used with InChannelId ChannelRoles []string // Filters for users matching any of the given team roles, must be used with InTeamId TeamRoles []string // Sorting option Sort string // Restrict to search in a list of teams and channels ViewRestrictions *ViewUsersRestrictions // Page Page int // Page size PerPage int }
type UserMap ¶
UserMap is a map from a userId to a user object. It is used to generate methods which can be used for fast serialization/de-serialization.
func (UserMap) MarshalMsg ¶
MarshalMsg implements msgp.Marshaler
type UserMentionMap ¶
func UserMentionMapFromURLValues ¶
func UserMentionMapFromURLValues(values url.Values) (UserMentionMap, error)
func (UserMentionMap) ToURLValues ¶
func (m UserMentionMap) ToURLValues() url.Values
type UserPatch ¶
type UserPatch struct { Username *string `json:"username"` Password *string `json:"password,omitempty"` Nickname *string `json:"nickname"` FirstName *string `json:"first_name"` LastName *string `json:"last_name"` Position *string `json:"position"` Email *string `json:"email"` Props StringMap `json:"props,omitempty"` NotifyProps StringMap `json:"notify_props,omitempty"` Locale *string `json:"locale"` Timezone StringMap `json:"timezone"` RemoteId *string `json:"remote_id"` }
type UserPostStats ¶ added in v0.0.12
type UserPostStats struct { LastStatusAt *int64 `json:"last_status_at,omitempty"` LastPostDate *int64 `json:"last_post_date,omitempty"` DaysActive *int `json:"days_active,omitempty"` TotalPosts *int `json:"total_posts,omitempty"` }
func (*UserPostStats) DecodeMsg ¶ added in v0.0.12
func (z *UserPostStats) DecodeMsg(dc *msgp.Reader) (err error)
DecodeMsg implements msgp.Decodable
func (*UserPostStats) EncodeMsg ¶ added in v0.0.12
func (z *UserPostStats) EncodeMsg(en *msgp.Writer) (err error)
EncodeMsg implements msgp.Encodable
func (*UserPostStats) MarshalMsg ¶ added in v0.0.12
func (z *UserPostStats) MarshalMsg(b []byte) (o []byte, err error)
MarshalMsg implements msgp.Marshaler
func (*UserPostStats) Msgsize ¶ added in v0.0.12
func (z *UserPostStats) Msgsize() (s int)
Msgsize returns an upper bound estimate of the number of bytes occupied by the serialized message
func (*UserPostStats) UnmarshalMsg ¶ added in v0.0.12
func (z *UserPostStats) UnmarshalMsg(bts []byte) (o []byte, err error)
UnmarshalMsg implements msgp.Unmarshaler
type UserReport ¶ added in v0.0.12
type UserReport struct { User UserPostStats }
func (*UserReport) ToReport ¶ added in v0.0.14
func (u *UserReport) ToReport() []string
type UserReportOptions ¶ added in v0.0.12
type UserReportOptions struct { ReportingBaseOptions Role string Team string HasNoTeam bool HideActive bool HideInactive bool SearchTerm string }
func (*UserReportOptions) IsValid ¶ added in v0.0.12
func (u *UserReportOptions) IsValid() *AppError
type UserReportQuery ¶ added in v0.0.12
type UserReportQuery struct { User UserPostStats }
func (*UserReportQuery) ToReport ¶ added in v0.0.12
func (u *UserReportQuery) ToReport() *UserReport
type UserSearch ¶
type UserSearch struct { Term string `json:"term"` TeamId string `json:"team_id"` NotInTeamId string `json:"not_in_team_id"` InChannelId string `json:"in_channel_id"` NotInChannelId string `json:"not_in_channel_id"` InGroupId string `json:"in_group_id"` GroupConstrained bool `json:"group_constrained"` AllowInactive bool `json:"allow_inactive"` WithoutTeam bool `json:"without_team"` Limit int `json:"limit"` Role string `json:"role"` Roles []string `json:"roles"` ChannelRoles []string `json:"channel_roles"` TeamRoles []string `json:"team_roles"` NotInGroupId string `json:"not_in_group_id"` }
UserSearch captures the parameters provided by a client for initiating a user search.
type UserSearchOptions ¶
type UserSearchOptions struct { // IsAdmin tracks whether or not the search is being conducted by an administrator. IsAdmin bool // AllowEmails allows search to examine the emails of users. AllowEmails bool // AllowFullNames allows search to examine the full names of users, vs. just usernames and nicknames. AllowFullNames bool // AllowInactive configures whether or not to return inactive users in the search results. AllowInactive bool // Narrows the search to the group constrained users GroupConstrained bool // Limit limits the total number of results returned. Limit int // Filters for the given role Role string // Filters for users that have any of the given system roles Roles []string // Filters for users that have the given channel roles to be used when searching in a channel ChannelRoles []string // Filters for users that have the given team roles to be used when searching in a team TeamRoles []string // Restrict to search in a list of teams and channels ViewRestrictions *ViewUsersRestrictions // List of allowed channels ListOfAllowedChannels []string }
UserSearchOptions captures internal parameters derived from the user's permissions and a UserSearch request.
type UserSlice ¶
type UserSlice []*User
func (UserSlice) FilterByActive ¶
func (UserSlice) FilterByID ¶
func (UserSlice) FilterWithoutBots ¶
func (UserSlice) FilterWithoutID ¶
type UserTeamIDPair ¶
type UserTermsOfService ¶
type UserTermsOfService struct { UserId string `json:"user_id"` TermsOfServiceId string `json:"terms_of_service_id"` CreateAt int64 `json:"create_at"` }
func (*UserTermsOfService) IsValid ¶
func (ut *UserTermsOfService) IsValid() *AppError
func (*UserTermsOfService) PreSave ¶
func (ut *UserTermsOfService) PreSave()
type UserUpdate ¶
type UserWithGroups ¶
type UserWithGroups struct { User GroupIDs *string `json:"-"` Groups []*Group `json:"groups"` SchemeGuest bool `json:"scheme_guest"` SchemeUser bool `json:"scheme_user"` SchemeAdmin bool `json:"scheme_admin"` }
func (*UserWithGroups) GetGroupIDs ¶
func (u *UserWithGroups) GetGroupIDs() []string
type UsersStats ¶
type UsersStats struct {
TotalUsersCount int64 `json:"total_users_count"`
}
type UsersWithGroupsAndCount ¶
type UsersWithGroupsAndCount struct { Users []*UserWithGroups `json:"users"` Count int64 `json:"total_count"` }
type ValidateBusinessEmailRequest ¶
type ValidateBusinessEmailRequest struct {
Email string `json:"email"`
}
type ValidateBusinessEmailResponse ¶
type ValidateBusinessEmailResponse struct {
IsValid bool `json:"is_valid"`
}
type ViewUsersRestrictions ¶
func (*ViewUsersRestrictions) Hash ¶
func (r *ViewUsersRestrictions) Hash() string
type WebSocketClient ¶
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" ConnectURL string // The WebSocket URL to connect to like "ws://localhost:8065/api/v3/path/to/websocket" Conn *websocket.Conn // The WebSocket connection AuthToken string // The token used to open the WebSocket connection Sequence int64 // The ever-incrementing sequence attached to each WebSocket action PingTimeoutChannel chan bool // The channel used to signal ping timeouts EventChannel chan *WebSocketEvent // The channel used to receive various events pushed from the server. For example: typing, posted ResponseChannel chan *WebSocketResponse // The channel used to receive responses for requests made to the server ListenError *AppError // A field that is set if there was an abnormal closure of the WebSocket connection // contains filtered or unexported fields }
WebSocketClient stores the necessary information required to communicate with a WebSocket endpoint. A client must read from PingTimeoutChannel, EventChannel and ResponseChannel to prevent deadlocks from occurring in the program.
func NewWebSocketClient ¶
func NewWebSocketClient(url, authToken string) (*WebSocketClient, error)
NewWebSocketClient constructs a new WebSocket client with convenience methods for talking to the server.
func NewWebSocketClient4 ¶
func NewWebSocketClient4(url, authToken string) (*WebSocketClient, error)
NewWebSocketClient4 constructs a new WebSocket client with convenience methods for talking to the server. Uses the v4 endpoint.
func NewWebSocketClient4WithDialer ¶
func NewWebSocketClient4WithDialer(dialer *websocket.Dialer, url, authToken string) (*WebSocketClient, error)
NewWebSocketClient4WithDialer constructs a new WebSocket client with convenience methods for talking to the server using a custom dialer. Uses the v4 endpoint.
func NewWebSocketClientWithDialer ¶
func NewWebSocketClientWithDialer(dialer *websocket.Dialer, url, authToken string) (*WebSocketClient, error)
NewWebSocketClientWithDialer constructs a new WebSocket client with convenience methods for talking to the server using a custom dialer.
func (*WebSocketClient) Close ¶
func (wsc *WebSocketClient) Close()
Close closes the websocket client. It is recommended that a closed client should not be reused again. Rather a new client should be created anew.
func (*WebSocketClient) Connect ¶
func (wsc *WebSocketClient) Connect() *AppError
Connect creates a websocket connection with the given ConnectURL. This is racy and error-prone should not be used. Use any of the New* functions to create a websocket.
func (*WebSocketClient) ConnectWithDialer ¶
func (wsc *WebSocketClient) ConnectWithDialer(dialer *websocket.Dialer) *AppError
ConnectWithDialer creates a websocket connection with the given ConnectURL using the dialer. This is racy and error-prone and should not be used. Use any of the New* functions to create a websocket.
func (*WebSocketClient) GetStatuses ¶
func (wsc *WebSocketClient) GetStatuses()
GetStatuses will return a map of string statuses using user id as the key
func (*WebSocketClient) GetStatusesByIds ¶
func (wsc *WebSocketClient) GetStatusesByIds(userIds []string)
GetStatusesByIds will fetch certain user statuses based on ids and return a map of string statuses using user id as the key
func (*WebSocketClient) Listen ¶
func (wsc *WebSocketClient) Listen()
Listen starts the read loop of the websocket client.
func (*WebSocketClient) SendBinaryMessage ¶
func (wsc *WebSocketClient) SendBinaryMessage(action string, data map[string]any) error
func (*WebSocketClient) SendMessage ¶
func (wsc *WebSocketClient) SendMessage(action string, data map[string]any)
func (*WebSocketClient) UpdateActiveChannel ¶ added in v0.0.12
func (wsc *WebSocketClient) UpdateActiveChannel(channelID string)
UpdateActiveChannel sets the current channel that the user is viewing.
func (*WebSocketClient) UpdateActiveTeam ¶ added in v0.0.12
func (wsc *WebSocketClient) UpdateActiveTeam(teamID string)
UpdateActiveTeam sets the current team that the user is in.
func (*WebSocketClient) UpdateActiveThread ¶ added in v0.0.12
func (wsc *WebSocketClient) UpdateActiveThread(isThreadView bool, channelID string)
UpdateActiveThread sets the channel id of the current thread that the user is in.
func (*WebSocketClient) UserTyping ¶
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 ¶
type WebSocketEvent struct {
// contains filtered or unexported fields
}
func NewWebSocketEvent ¶
func NewWebSocketEvent(event WebsocketEventType, teamId, channelId, userId string, omitUsers map[string]bool, omitConnectionId string) *WebSocketEvent
func WebSocketEventFromJSON ¶
func WebSocketEventFromJSON(data io.Reader) (*WebSocketEvent, error)
func (*WebSocketEvent) Add ¶
func (ev *WebSocketEvent) Add(key string, value any)
func (*WebSocketEvent) Copy ¶
func (ev *WebSocketEvent) Copy() *WebSocketEvent
func (*WebSocketEvent) DeepCopy ¶
func (ev *WebSocketEvent) DeepCopy() *WebSocketEvent
func (*WebSocketEvent) EventType ¶
func (ev *WebSocketEvent) EventType() WebsocketEventType
func (*WebSocketEvent) GetBroadcast ¶
func (ev *WebSocketEvent) GetBroadcast() *WebsocketBroadcast
func (*WebSocketEvent) GetData ¶
func (ev *WebSocketEvent) GetData() map[string]any
func (*WebSocketEvent) GetSequence ¶
func (ev *WebSocketEvent) GetSequence() int64
func (*WebSocketEvent) IsValid ¶
func (ev *WebSocketEvent) IsValid() bool
func (*WebSocketEvent) PrecomputeJSON ¶
func (ev *WebSocketEvent) PrecomputeJSON() *WebSocketEvent
PrecomputeJSON precomputes and stores the serialized JSON for all fields other than Sequence. This makes ToJSON much more efficient when sending the same event to multiple connections.
func (*WebSocketEvent) RemovePrecomputedJSON ¶ added in v0.0.7
func (ev *WebSocketEvent) RemovePrecomputedJSON() *WebSocketEvent
func (*WebSocketEvent) SetBroadcast ¶
func (ev *WebSocketEvent) SetBroadcast(broadcast *WebsocketBroadcast) *WebSocketEvent
func (*WebSocketEvent) SetData ¶
func (ev *WebSocketEvent) SetData(data map[string]any) *WebSocketEvent
func (*WebSocketEvent) SetEvent ¶
func (ev *WebSocketEvent) SetEvent(event WebsocketEventType) *WebSocketEvent
func (*WebSocketEvent) SetSequence ¶
func (ev *WebSocketEvent) SetSequence(seq int64) *WebSocketEvent
func (*WebSocketEvent) ToJSON ¶
func (ev *WebSocketEvent) ToJSON() ([]byte, error)
func (*WebSocketEvent) WithoutBroadcastHooks ¶ added in v0.0.10
func (ev *WebSocketEvent) WithoutBroadcastHooks() (*WebSocketEvent, []string, []map[string]any)
WithoutBroadcastHooks gets the broadcast hook information from a WebSocketEvent and returns the event without that. If the event has broadcast hooks, a copy of the event is returned. Otherwise, the original event is returned. This is intended to be called before the event is sent to the client.
type WebSocketMessage ¶
type WebSocketMessage interface { ToJSON() ([]byte, error) IsValid() bool EventType() WebsocketEventType }
type WebSocketRequest ¶
type WebSocketRequest struct { // Client-provided fields Seq int64 `json:"seq" msgpack:"seq"` // A counter which is incremented for every request made. Action string `json:"action" msgpack:"action"` // The action to perform for a request. For example: get_statuses, user_typing. Data map[string]any `json:"data" msgpack:"data"` // The metadata for an action. // Server-provided fields Session Session `json:"-" msgpack:"-"` T i18n.TranslateFunc `json:"-" msgpack:"-"` Locale string `json:"-" msgpack:"-"` }
WebSocketRequest represents a request made to the server through a websocket.
func (*WebSocketRequest) Clone ¶
func (o *WebSocketRequest) Clone() (*WebSocketRequest, error)
type WebSocketResponse ¶
type WebSocketResponse struct { Status string `json:"status"` // The status of the response. For example: OK, FAIL. SeqReply int64 `json:"seq_reply,omitempty"` // A counter which is incremented for every response sent. Data map[string]any `json:"data,omitempty"` // The data contained in the response. Error *AppError `json:"error,omitempty"` // A field that is set if any error has occurred. }
WebSocketResponse represents a response received through the WebSocket for a request made to the server. This is available through the ResponseChannel channel in WebSocketClient.
func NewWebSocketError ¶
func NewWebSocketError(seqReply int64, err *AppError) *WebSocketResponse
func NewWebSocketResponse ¶
func NewWebSocketResponse(status string, seqReply int64, data map[string]any) *WebSocketResponse
func WebSocketResponseFromJSON ¶
func WebSocketResponseFromJSON(data io.Reader) (*WebSocketResponse, error)
func (*WebSocketResponse) Add ¶
func (m *WebSocketResponse) Add(key string, value any)
func (*WebSocketResponse) EventType ¶
func (m *WebSocketResponse) EventType() WebsocketEventType
func (*WebSocketResponse) IsValid ¶
func (m *WebSocketResponse) IsValid() bool
func (*WebSocketResponse) ToJSON ¶
func (m *WebSocketResponse) ToJSON() ([]byte, error)
type WebsocketBroadcast ¶
type WebsocketBroadcast struct { OmitUsers map[string]bool `json:"omit_users"` // broadcast is omitted for users listed here UserId string `json:"user_id"` // broadcast only occurs for this user ChannelId string `json:"channel_id"` // broadcast only occurs for users in this channel TeamId string `json:"team_id"` // broadcast only occurs for users in this team ConnectionId string `json:"connection_id"` // broadcast only occurs for this connection OmitConnectionId string `json:"omit_connection_id"` // broadcast is omitted for this connection ContainsSanitizedData bool `json:"contains_sanitized_data,omitempty"` // broadcast only occurs for non-sysadmins ContainsSensitiveData bool `json:"contains_sensitive_data,omitempty"` // broadcast only occurs for sysadmins // ReliableClusterSend indicates whether or not the message should // be sent through the cluster using the reliable, TCP backed channel. ReliableClusterSend bool `json:"-"` // BroadcastHooks is a slice of hooks IDs used to process events before sending them on individual connections. The // IDs should be understood by the WebSocket code. // // This field should never be sent to the client. BroadcastHooks []string `json:"broadcast_hooks,omitempty"` // BroadcastHookArgs is a slice of named arguments for each hook invocation. The index of each entry corresponds to // the index of a hook ID in BroadcastHooks // // This field should never be sent to the client. BroadcastHookArgs []map[string]any `json:"broadcast_hook_args,omitempty"` }
type WebsocketEventType ¶ added in v0.0.11
type WebsocketEventType string
const ( WebsocketEventTyping WebsocketEventType = "typing" WebsocketEventPosted WebsocketEventType = "posted" WebsocketEventPostEdited WebsocketEventType = "post_edited" WebsocketEventPostDeleted WebsocketEventType = "post_deleted" WebsocketEventPostUnread WebsocketEventType = "post_unread" WebsocketEventChannelConverted WebsocketEventType = "channel_converted" WebsocketEventChannelCreated WebsocketEventType = "channel_created" WebsocketEventChannelDeleted WebsocketEventType = "channel_deleted" WebsocketEventChannelRestored WebsocketEventType = "channel_restored" WebsocketEventChannelUpdated WebsocketEventType = "channel_updated" WebsocketEventChannelMemberUpdated WebsocketEventType = "channel_member_updated" WebsocketEventChannelSchemeUpdated WebsocketEventType = "channel_scheme_updated" WebsocketEventDirectAdded WebsocketEventType = "direct_added" WebsocketEventGroupAdded WebsocketEventType = "group_added" WebsocketEventNewUser WebsocketEventType = "new_user" WebsocketEventAddedToTeam WebsocketEventType = "added_to_team" WebsocketEventLeaveTeam WebsocketEventType = "leave_team" WebsocketEventUpdateTeam WebsocketEventType = "update_team" WebsocketEventDeleteTeam WebsocketEventType = "delete_team" WebsocketEventRestoreTeam WebsocketEventType = "restore_team" WebsocketEventUpdateTeamScheme WebsocketEventType = "update_team_scheme" WebsocketEventUserAdded WebsocketEventType = "user_added" WebsocketEventUserUpdated WebsocketEventType = "user_updated" WebsocketEventUserRoleUpdated WebsocketEventType = "user_role_updated" WebsocketEventMemberroleUpdated WebsocketEventType = "memberrole_updated" WebsocketEventUserRemoved WebsocketEventType = "user_removed" WebsocketEventPreferenceChanged WebsocketEventType = "preference_changed" WebsocketEventPreferencesChanged WebsocketEventType = "preferences_changed" WebsocketEventPreferencesDeleted WebsocketEventType = "preferences_deleted" WebsocketEventEphemeralMessage WebsocketEventType = "ephemeral_message" WebsocketEventStatusChange WebsocketEventType = "status_change" WebsocketEventHello WebsocketEventType = "hello" WebsocketAuthenticationChallenge WebsocketEventType = "authentication_challenge" WebsocketEventReactionAdded WebsocketEventType = "reaction_added" WebsocketEventReactionRemoved WebsocketEventType = "reaction_removed" WebsocketEventResponse WebsocketEventType = "response" WebsocketEventEmojiAdded WebsocketEventType = "emoji_added" WebsocketEventChannelViewed WebsocketEventType = "channel_viewed" WebsocketEventMultipleChannelsViewed WebsocketEventType = "multiple_channels_viewed" WebsocketEventPluginStatusesChanged WebsocketEventType = "plugin_statuses_changed" WebsocketEventPluginEnabled WebsocketEventType = "plugin_enabled" WebsocketEventPluginDisabled WebsocketEventType = "plugin_disabled" WebsocketEventRoleUpdated WebsocketEventType = "role_updated" WebsocketEventLicenseChanged WebsocketEventType = "license_changed" WebsocketEventConfigChanged WebsocketEventType = "config_changed" WebsocketEventOpenDialog WebsocketEventType = "open_dialog" WebsocketEventGuestsDeactivated WebsocketEventType = "guests_deactivated" WebsocketEventUserActivationStatusChange WebsocketEventType = "user_activation_status_change" WebsocketEventReceivedGroup WebsocketEventType = "received_group" WebsocketEventReceivedGroupAssociatedToTeam WebsocketEventType = "received_group_associated_to_team" WebsocketEventReceivedGroupNotAssociatedToTeam WebsocketEventType = "received_group_not_associated_to_team" WebsocketEventReceivedGroupAssociatedToChannel WebsocketEventType = "received_group_associated_to_channel" WebsocketEventReceivedGroupNotAssociatedToChannel WebsocketEventType = "received_group_not_associated_to_channel" WebsocketEventGroupMemberDelete WebsocketEventType = "group_member_deleted" WebsocketEventGroupMemberAdd WebsocketEventType = "group_member_add" WebsocketEventSidebarCategoryCreated WebsocketEventType = "sidebar_category_created" WebsocketEventSidebarCategoryUpdated WebsocketEventType = "sidebar_category_updated" WebsocketEventSidebarCategoryDeleted WebsocketEventType = "sidebar_category_deleted" WebsocketEventSidebarCategoryOrderUpdated WebsocketEventType = "sidebar_category_order_updated" WebsocketEventCloudPaymentStatusUpdated WebsocketEventType = "cloud_payment_status_updated" WebsocketEventCloudSubscriptionChanged WebsocketEventType = "cloud_subscription_changed" WebsocketEventThreadUpdated WebsocketEventType = "thread_updated" WebsocketEventThreadFollowChanged WebsocketEventType = "thread_follow_changed" WebsocketEventThreadReadChanged WebsocketEventType = "thread_read_changed" WebsocketFirstAdminVisitMarketplaceStatusReceived WebsocketEventType = "first_admin_visit_marketplace_status_received" WebsocketEventDraftCreated WebsocketEventType = "draft_created" WebsocketEventDraftUpdated WebsocketEventType = "draft_updated" WebsocketEventDraftDeleted WebsocketEventType = "draft_deleted" WebsocketEventAcknowledgementAdded WebsocketEventType = "post_acknowledgement_added" WebsocketEventAcknowledgementRemoved WebsocketEventType = "post_acknowledgement_removed" WebsocketEventPersistentNotificationTriggered WebsocketEventType = "persistent_notification_triggered" WebsocketEventHostedCustomerSignupProgressUpdated WebsocketEventType = "hosted_customer_signup_progress_updated" WebsocketEventChannelBookmarkCreated WebsocketEventType = "channel_bookmark_created" WebsocketEventChannelBookmarkUpdated WebsocketEventType = "channel_bookmark_updated" WebsocketEventChannelBookmarkDeleted WebsocketEventType = "channel_bookmark_deleted" WebsocketEventChannelBookmarkSorted WebsocketEventType = "channel_bookmark_sorted" WebsocketPresenceIndicator WebsocketEventType = "presence" WebsocketPostedNotifyAck WebsocketEventType = "posted_notify_ack" WebsocketScheduledPostCreated WebsocketEventType = "scheduled_post_created" WebsocketScheduledPostUpdated WebsocketEventType = "scheduled_post_updated" WebsocketScheduledPostDeleted WebsocketEventType = "scheduled_post_deleted" )
type WranglerPostList ¶ added in v0.0.12
type WranglerPostList struct { Posts []*Post ThreadUserIDs []string EarlistPostTimestamp int64 LatestPostTimestamp int64 FileAttachmentCount int64 }
WranglerPostList provides a list of posts along with metadata about those posts.
func (*WranglerPostList) ContainsFileAttachments ¶ added in v0.0.12
func (wpl *WranglerPostList) ContainsFileAttachments() bool
ContainsFileAttachments returns if the post list contains any file attachments.
func (*WranglerPostList) NumPosts ¶ added in v0.0.12
func (wpl *WranglerPostList) NumPosts() int
NumPosts returns the number of posts in a post list.
func (*WranglerPostList) RootPost ¶ added in v0.0.12
func (wpl *WranglerPostList) RootPost() *Post
RootPost returns the root post in a post list.
type WranglerSettings ¶ added in v0.0.12
type WranglerSettings struct { PermittedWranglerRoles []string AllowedEmailDomain []string MoveThreadMaxCount *int64 MoveThreadToAnotherTeamEnable *bool MoveThreadFromPrivateChannelEnable *bool MoveThreadFromDirectMessageChannelEnable *bool MoveThreadFromGroupMessageChannelEnable *bool }
func (*WranglerSettings) IsValid ¶ added in v0.0.12
func (w *WranglerSettings) IsValid() *AppError
func (*WranglerSettings) SetDefaults ¶ added in v0.0.12
func (w *WranglerSettings) SetDefaults()
type X509Certificate ¶
type X509Data ¶
type X509Data struct { XMLName xml.Name X509Certificate X509Certificate `xml:"X509Certificate"` }
Source Files
¶
- access.go
- analytics_row.go
- audit.go
- auditconv.go
- audits.go
- authorize.go
- bot.go
- builtin.go
- bulk_export.go
- bundle_info.go
- channel.go
- channel_bookmark.go
- channel_count.go
- channel_data.go
- channel_list.go
- channel_member.go
- channel_member_history.go
- channel_member_history_result.go
- channel_mentions.go
- channel_search.go
- channel_sidebar.go
- channel_stats.go
- channel_view.go
- client4.go
- cloud.go
- cluster_discovery.go
- cluster_info.go
- cluster_message.go
- cluster_stats.go
- command.go
- command_args.go
- command_autocomplete.go
- command_request.go
- command_response.go
- command_webhook.go
- compliance.go
- compliance_post.go
- config.go
- custom_status.go
- data_retention_policy.go
- draft.go
- emoji.go
- emoji_data.go
- emoji_search.go
- feature_flags.go
- file.go
- file_info.go
- file_info_list.go
- file_info_search_results.go
- github_release.go
- gitlab.go
- group.go
- group_member.go
- group_syncable.go
- guest_invite.go
- hosted_customer.go
- incoming_webhook.go
- initial_load.go
- integration_action.go
- integrity.go
- ip_filtering.go
- job.go
- ldap.go
- license.go
- limits.go
- link_metadata.go
- manifest.go
- marketplace_plugin.go
- member_invite.go
- mention_map.go
- message_export.go
- metrics.go
- mfa_secret.go
- migration.go
- notification.go
- notify_admin.go
- oauth.go
- onboarding.go
- outgoing_oauth_connection.go
- outgoing_webhook.go
- packet_metadata.go
- permalink.go
- permission.go
- plugin_cluster_event.go
- plugin_constants.go
- plugin_event_data.go
- plugin_key_value.go
- plugin_kvset_options.go
- plugin_on_install_event.go
- plugin_reattach.go
- plugin_status.go
- plugin_valid.go
- plugins_response.go
- post.go
- post_acknowledgement.go
- post_embed.go
- post_info.go
- post_list.go
- post_metadata.go
- post_search_results.go
- preference.go
- product_notices.go
- push_notification.go
- push_response.go
- reaction.go
- remote_cluster.go
- report.go
- role.go
- saml.go
- scheduled_post.go
- scheduled_task.go
- scheme.go
- search_params.go
- security_bulletin.go
- service_environment.go
- service_environment_dev_default.go
- session.go
- session_serial_gen.go
- shared_channel.go
- slack_attachment.go
- slack_compatibility.go
- status.go
- suggest_command.go
- support_packet.go
- switch_request.go
- system.go
- team.go
- team_member.go
- team_member_serial_gen.go
- team_search.go
- team_stats.go
- terms_of_service.go
- thread.go
- token.go
- typing_request.go
- upload_session.go
- usage.go
- user.go
- user_access_token.go
- user_access_token_search.go
- user_autocomplete.go
- user_count.go
- user_get.go
- user_search.go
- user_serial_gen.go
- user_terms_of_service.go
- users_stats.go
- utils.go
- utils_serial_gen.go
- version.go
- websocket_client.go
- websocket_message.go
- websocket_request.go
- wrangler.go