Documentation ¶
Index ¶
- Constants
- func DecodeBytes(input []byte, thing interface{}) error
- func GetBytes(key interface{}) ([]byte, error)
- func Must(sc StoreChannel) interface{}
- type AuditStore
- type ChannelStore
- type ClusterDiscoveryStore
- type CommandStore
- type CommandWebhookStore
- type ComplianceStore
- type EmojiStore
- type FileInfoStore
- type JobStore
- type LayeredReactionStore
- func (s *LayeredReactionStore) Delete(reaction *model.Reaction) StoreChannel
- func (s *LayeredReactionStore) DeleteAllWithEmojiName(emojiName string) StoreChannel
- func (s *LayeredReactionStore) GetForPost(postId string, allowFromCache bool) StoreChannel
- func (s *LayeredReactionStore) PermanentDeleteBatch(endTime int64, limit int64) StoreChannel
- func (s *LayeredReactionStore) Save(reaction *model.Reaction) StoreChannel
- type LayeredStore
- func (s *LayeredStore) Audit() AuditStore
- func (s *LayeredStore) Channel() ChannelStore
- func (s *LayeredStore) Close()
- func (s *LayeredStore) ClusterDiscovery() ClusterDiscoveryStore
- func (s *LayeredStore) Command() CommandStore
- func (s *LayeredStore) CommandWebhook() CommandWebhookStore
- func (s *LayeredStore) Compliance() ComplianceStore
- func (s *LayeredStore) DropAllTables()
- func (s *LayeredStore) Emoji() EmojiStore
- func (s *LayeredStore) FileInfo() FileInfoStore
- func (s *LayeredStore) Job() JobStore
- func (s *LayeredStore) License() LicenseStore
- func (s *LayeredStore) MarkSystemRanUnitTests()
- func (s *LayeredStore) OAuth() OAuthStore
- func (s *LayeredStore) Post() PostStore
- func (s *LayeredStore) Preference() PreferenceStore
- func (s *LayeredStore) Reaction() ReactionStore
- func (s *LayeredStore) RunQuery(queryFunction QueryFunction) StoreChannel
- func (s *LayeredStore) Session() SessionStore
- func (s *LayeredStore) Status() StatusStore
- func (s *LayeredStore) System() SystemStore
- func (s *LayeredStore) Team() TeamStore
- func (s *LayeredStore) Token() TokenStore
- func (s *LayeredStore) TotalMasterDbConnections() int
- func (s *LayeredStore) TotalReadDbConnections() int
- func (s *LayeredStore) TotalSearchDbConnections() int
- func (s *LayeredStore) User() UserStore
- func (s *LayeredStore) UserAccessToken() UserAccessTokenStore
- func (s *LayeredStore) Webhook() WebhookStore
- type LayeredStoreDatabaseLayer
- type LayeredStoreHint
- type LayeredStoreSupplier
- type LayeredStoreSupplierResult
- type LicenseStore
- type LocalCacheSupplier
- func (s *LocalCacheSupplier) Next() LayeredStoreSupplier
- func (s *LocalCacheSupplier) ReactionDelete(ctx context.Context, reaction *model.Reaction, hints ...LayeredStoreHint) *LayeredStoreSupplierResult
- func (s *LocalCacheSupplier) ReactionDeleteAllWithEmojiName(ctx context.Context, emojiName string, hints ...LayeredStoreHint) *LayeredStoreSupplierResult
- func (s *LocalCacheSupplier) ReactionGetForPost(ctx context.Context, postId string, hints ...LayeredStoreHint) *LayeredStoreSupplierResult
- func (s *LocalCacheSupplier) ReactionPermanentDeleteBatch(ctx context.Context, endTime int64, limit int64, hints ...LayeredStoreHint) *LayeredStoreSupplierResult
- func (s *LocalCacheSupplier) ReactionSave(ctx context.Context, reaction *model.Reaction, hints ...LayeredStoreHint) *LayeredStoreSupplierResult
- func (s *LocalCacheSupplier) SetChainNext(next LayeredStoreSupplier)
- type OAuthStore
- type PostStore
- type PreferenceStore
- type QueryFunction
- type ReactionStore
- type RedisSupplier
- func (s *RedisSupplier) Next() LayeredStoreSupplier
- func (s *RedisSupplier) ReactionDelete(ctx context.Context, reaction *model.Reaction, hints ...LayeredStoreHint) *LayeredStoreSupplierResult
- func (s *RedisSupplier) ReactionDeleteAllWithEmojiName(ctx context.Context, emojiName string, hints ...LayeredStoreHint) *LayeredStoreSupplierResult
- func (s *RedisSupplier) ReactionGetForPost(ctx context.Context, postId string, hints ...LayeredStoreHint) *LayeredStoreSupplierResult
- func (s *RedisSupplier) ReactionPermanentDeleteBatch(ctx context.Context, endTime int64, limit int64, hints ...LayeredStoreHint) *LayeredStoreSupplierResult
- func (s *RedisSupplier) ReactionSave(ctx context.Context, reaction *model.Reaction, hints ...LayeredStoreHint) *LayeredStoreSupplierResult
- func (s *RedisSupplier) SetChainNext(next LayeredStoreSupplier)
- type ResultHandler
- type SessionStore
- type StatusStore
- type Store
- type StoreChannel
- type StoreResult
- type SystemStore
- type TeamStore
- type TokenStore
- type UserAccessTokenStore
- type UserStore
- type WebhookStore
Constants ¶
View Source
const ( MISSING_CHANNEL_ERROR = "store.sql_channel.get_by_name.missing.app_error" MISSING_CHANNEL_MEMBER_ERROR = "store.sql_channel.get_member.missing.app_error" CHANNEL_EXISTS_ERROR = "store.sql_channel.save_channel.exists.app_error" MISSING_ACCOUNT_ERROR = "store.sql_user.missing_account.const" MISSING_AUTH_ACCOUNT_ERROR = "store.sql_user.get_by_auth.missing_account.app_error" USER_SEARCH_OPTION_NAMES_ONLY = "names_only" USER_SEARCH_OPTION_NAMES_ONLY_NO_FULL_NAME = "names_only_no_full_name" USER_SEARCH_OPTION_ALL_NO_FULL_NAME = "all_no_full_name" USER_SEARCH_OPTION_ALLOW_INACTIVE = "allow_inactive" )
View Source
const ( REACTION_CACHE_SIZE = 20000 REACTION_CACHE_SEC = 1800 // 30 minutes CLEAR_CACHE_MESSAGE_DATA = "" )
View Source
const (
ENABLE_EXPERIMENTAL_REDIS = false
)
View Source
const REDIS_EXPIRY_TIME = 30 * time.Minute
Variables ¶
This section is empty.
Functions ¶
func DecodeBytes ¶
func Must ¶
func Must(sc StoreChannel) interface{}
Types ¶
type AuditStore ¶
type AuditStore interface { Save(audit *model.Audit) StoreChannel Get(user_id string, offset int, limit int) StoreChannel PermanentDeleteByUser(userId string) StoreChannel PermanentDeleteBatch(endTime int64, limit int64) StoreChannel }
type ChannelStore ¶
type ChannelStore interface { Save(channel *model.Channel) StoreChannel CreateDirectChannel(userId string, otherUserId string) StoreChannel SaveDirectChannel(channel *model.Channel, member1 *model.ChannelMember, member2 *model.ChannelMember) StoreChannel Update(channel *model.Channel) StoreChannel Get(id string, allowFromCache bool) StoreChannel InvalidateChannel(id string) InvalidateChannelByName(teamId, name string) GetFromMaster(id string) StoreChannel Delete(channelId string, time int64) StoreChannel Restore(channelId string, time int64) StoreChannel SetDeleteAt(channelId string, deleteAt int64, updateAt int64) StoreChannel PermanentDeleteByTeam(teamId string) StoreChannel PermanentDelete(channelId string) StoreChannel GetByName(team_id string, name string, allowFromCache bool) StoreChannel GetByNameIncludeDeleted(team_id string, name string, allowFromCache bool) StoreChannel GetDeletedByName(team_id string, name string) StoreChannel GetDeleted(team_id string, offset int, limit int) StoreChannel GetChannels(teamId string, userId string) StoreChannel GetMoreChannels(teamId string, userId string, offset int, limit int) StoreChannel GetPublicChannelsForTeam(teamId string, offset int, limit int) StoreChannel GetPublicChannelsByIdsForTeam(teamId string, channelIds []string) StoreChannel GetChannelCounts(teamId string, userId string) StoreChannel GetTeamChannels(teamId string) StoreChannel GetAll(teamId string) StoreChannel GetForPost(postId string) StoreChannel SaveMember(member *model.ChannelMember) StoreChannel UpdateMember(member *model.ChannelMember) StoreChannel GetMembers(channelId string, offset, limit int) StoreChannel GetMember(channelId string, userId string) StoreChannel GetAllChannelMembersForUser(userId string, allowFromCache bool) StoreChannel InvalidateAllChannelMembersForUser(userId string) IsUserInChannelUseCache(userId string, channelId string) bool GetAllChannelMembersNotifyPropsForChannel(channelId string, allowFromCache bool) StoreChannel InvalidateCacheForChannelMembersNotifyProps(channelId string) GetMemberForPost(postId string, userId string) StoreChannel InvalidateMemberCount(channelId string) GetMemberCountFromCache(channelId string) int64 GetMemberCount(channelId string, allowFromCache bool) StoreChannel GetPinnedPosts(channelId string) StoreChannel RemoveMember(channelId string, userId string) StoreChannel PermanentDeleteMembersByUser(userId string) StoreChannel PermanentDeleteMembersByChannel(channelId string) StoreChannel UpdateLastViewedAt(channelIds []string, userId string) StoreChannel IncrementMentionCount(channelId string, userId string) StoreChannel AnalyticsTypeCount(teamId string, channelType string) StoreChannel ExtraUpdateByUser(userId string, time int64) StoreChannel GetMembersForUser(teamId string, userId string) StoreChannel SearchInTeam(teamId string, term string) StoreChannel SearchMore(userId string, teamId string, term string) StoreChannel GetMembersByIds(channelId string, userIds []string) StoreChannel AnalyticsDeletedTypeCount(teamId string, channelType string) StoreChannel GetChannelUnread(channelId, userId string) StoreChannel }
type ClusterDiscoveryStore ¶
type ClusterDiscoveryStore interface { Save(discovery *model.ClusterDiscovery) StoreChannel Delete(discovery *model.ClusterDiscovery) StoreChannel Exists(discovery *model.ClusterDiscovery) StoreChannel GetAll(discoveryType, clusterName string) StoreChannel SetLastPingAt(discovery *model.ClusterDiscovery) StoreChannel Cleanup() StoreChannel }
type CommandStore ¶
type CommandStore interface { Save(webhook *model.Command) StoreChannel Get(id string) StoreChannel GetByTeam(teamId string) StoreChannel GetByTrigger(teamId string, trigger string) StoreChannel Delete(commandId string, time int64) StoreChannel PermanentDeleteByTeam(teamId string) StoreChannel PermanentDeleteByUser(userId string) StoreChannel Update(hook *model.Command) StoreChannel AnalyticsCommandCount(teamId string) StoreChannel }
type CommandWebhookStore ¶
type CommandWebhookStore interface { Save(webhook *model.CommandWebhook) StoreChannel Get(id string) StoreChannel TryUse(id string, limit int) StoreChannel Cleanup() }
type ComplianceStore ¶
type ComplianceStore interface { Save(compliance *model.Compliance) StoreChannel Update(compliance *model.Compliance) StoreChannel Get(id string) StoreChannel GetAll(offset, limit int) StoreChannel ComplianceExport(compliance *model.Compliance) StoreChannel }
type EmojiStore ¶
type EmojiStore interface { Save(emoji *model.Emoji) StoreChannel Get(id string, allowFromCache bool) StoreChannel GetByName(name string) StoreChannel GetList(offset, limit int) StoreChannel Delete(id string, time int64) StoreChannel }
type FileInfoStore ¶
type FileInfoStore interface { Save(info *model.FileInfo) StoreChannel Get(id string) StoreChannel GetByPath(path string) StoreChannel GetForPost(postId string, readFromMaster bool, allowFromCache bool) StoreChannel InvalidateFileInfosForPostCache(postId string) AttachToPost(fileId string, postId string) StoreChannel DeleteForPost(postId string) StoreChannel PermanentDelete(fileId string) StoreChannel PermanentDeleteBatch(endTime int64, limit int64) StoreChannel }
type JobStore ¶
type JobStore interface { Save(job *model.Job) StoreChannel UpdateOptimistically(job *model.Job, currentStatus string) StoreChannel UpdateStatus(id string, status string) StoreChannel UpdateStatusOptimistically(id string, currentStatus string, newStatus string) StoreChannel Get(id string) StoreChannel GetAllPage(offset int, limit int) StoreChannel GetAllByType(jobType string) StoreChannel GetAllByTypePage(jobType string, offset int, limit int) StoreChannel GetAllByStatus(status string) StoreChannel GetNewestJobByStatusAndType(status string, jobType string) StoreChannel GetCountByStatusAndType(status string, jobType string) StoreChannel Delete(id string) StoreChannel }
type LayeredReactionStore ¶
type LayeredReactionStore struct {
*LayeredStore
}
func (*LayeredReactionStore) Delete ¶
func (s *LayeredReactionStore) Delete(reaction *model.Reaction) StoreChannel
func (*LayeredReactionStore) DeleteAllWithEmojiName ¶
func (s *LayeredReactionStore) DeleteAllWithEmojiName(emojiName string) StoreChannel
func (*LayeredReactionStore) GetForPost ¶
func (s *LayeredReactionStore) GetForPost(postId string, allowFromCache bool) StoreChannel
func (*LayeredReactionStore) PermanentDeleteBatch ¶
func (s *LayeredReactionStore) PermanentDeleteBatch(endTime int64, limit int64) StoreChannel
func (*LayeredReactionStore) Save ¶
func (s *LayeredReactionStore) Save(reaction *model.Reaction) StoreChannel
type LayeredStore ¶
type LayeredStore struct { TmpContext context.Context ReactionStore ReactionStore DatabaseLayer LayeredStoreDatabaseLayer LocalCacheLayer *LocalCacheSupplier RedisLayer *RedisSupplier LayerChainHead LayeredStoreSupplier }
func (*LayeredStore) Audit ¶
func (s *LayeredStore) Audit() AuditStore
func (*LayeredStore) Channel ¶
func (s *LayeredStore) Channel() ChannelStore
func (*LayeredStore) Close ¶
func (s *LayeredStore) Close()
func (*LayeredStore) ClusterDiscovery ¶
func (s *LayeredStore) ClusterDiscovery() ClusterDiscoveryStore
func (*LayeredStore) Command ¶
func (s *LayeredStore) Command() CommandStore
func (*LayeredStore) CommandWebhook ¶
func (s *LayeredStore) CommandWebhook() CommandWebhookStore
func (*LayeredStore) Compliance ¶
func (s *LayeredStore) Compliance() ComplianceStore
func (*LayeredStore) DropAllTables ¶
func (s *LayeredStore) DropAllTables()
func (*LayeredStore) Emoji ¶
func (s *LayeredStore) Emoji() EmojiStore
func (*LayeredStore) FileInfo ¶
func (s *LayeredStore) FileInfo() FileInfoStore
func (*LayeredStore) Job ¶
func (s *LayeredStore) Job() JobStore
func (*LayeredStore) License ¶
func (s *LayeredStore) License() LicenseStore
func (*LayeredStore) MarkSystemRanUnitTests ¶
func (s *LayeredStore) MarkSystemRanUnitTests()
func (*LayeredStore) OAuth ¶
func (s *LayeredStore) OAuth() OAuthStore
func (*LayeredStore) Post ¶
func (s *LayeredStore) Post() PostStore
func (*LayeredStore) Preference ¶
func (s *LayeredStore) Preference() PreferenceStore
func (*LayeredStore) Reaction ¶
func (s *LayeredStore) Reaction() ReactionStore
func (*LayeredStore) RunQuery ¶
func (s *LayeredStore) RunQuery(queryFunction QueryFunction) StoreChannel
func (*LayeredStore) Session ¶
func (s *LayeredStore) Session() SessionStore
func (*LayeredStore) Status ¶
func (s *LayeredStore) Status() StatusStore
func (*LayeredStore) System ¶
func (s *LayeredStore) System() SystemStore
func (*LayeredStore) Team ¶
func (s *LayeredStore) Team() TeamStore
func (*LayeredStore) Token ¶
func (s *LayeredStore) Token() TokenStore
func (*LayeredStore) TotalMasterDbConnections ¶
func (s *LayeredStore) TotalMasterDbConnections() int
func (*LayeredStore) TotalReadDbConnections ¶
func (s *LayeredStore) TotalReadDbConnections() int
func (*LayeredStore) TotalSearchDbConnections ¶
func (s *LayeredStore) TotalSearchDbConnections() int
func (*LayeredStore) User ¶
func (s *LayeredStore) User() UserStore
func (*LayeredStore) UserAccessToken ¶
func (s *LayeredStore) UserAccessToken() UserAccessTokenStore
func (*LayeredStore) Webhook ¶
func (s *LayeredStore) Webhook() WebhookStore
type LayeredStoreDatabaseLayer ¶
type LayeredStoreDatabaseLayer interface { LayeredStoreSupplier Store }
type LayeredStoreHint ¶
type LayeredStoreHint int
const ( LSH_NO_CACHE LayeredStoreHint = iota LSH_MASTER_ONLY )
type LayeredStoreSupplier ¶
type LayeredStoreSupplier interface { // // Control // SetChainNext(LayeredStoreSupplier) Next() LayeredStoreSupplier // // Reactions //), hints ...LayeredStoreHint) ReactionSave(ctx context.Context, reaction *model.Reaction, hints ...LayeredStoreHint) *LayeredStoreSupplierResult ReactionDelete(ctx context.Context, reaction *model.Reaction, hints ...LayeredStoreHint) *LayeredStoreSupplierResult ReactionGetForPost(ctx context.Context, postId string, hints ...LayeredStoreHint) *LayeredStoreSupplierResult ReactionDeleteAllWithEmojiName(ctx context.Context, emojiName string, hints ...LayeredStoreHint) *LayeredStoreSupplierResult ReactionPermanentDeleteBatch(ctx context.Context, endTime int64, limit int64, hints ...LayeredStoreHint) *LayeredStoreSupplierResult }
type LayeredStoreSupplierResult ¶
type LayeredStoreSupplierResult struct {
StoreResult
}
func NewSupplierResult ¶
func NewSupplierResult() *LayeredStoreSupplierResult
type LicenseStore ¶
type LicenseStore interface { Save(license *model.LicenseRecord) StoreChannel Get(id string) StoreChannel }
type LocalCacheSupplier ¶
type LocalCacheSupplier struct {
// contains filtered or unexported fields
}
func NewLocalCacheSupplier ¶
func NewLocalCacheSupplier(metrics einterfaces.MetricsInterface, cluster einterfaces.ClusterInterface) *LocalCacheSupplier
func (*LocalCacheSupplier) Next ¶
func (s *LocalCacheSupplier) Next() LayeredStoreSupplier
func (*LocalCacheSupplier) ReactionDelete ¶
func (s *LocalCacheSupplier) ReactionDelete(ctx context.Context, reaction *model.Reaction, hints ...LayeredStoreHint) *LayeredStoreSupplierResult
func (*LocalCacheSupplier) ReactionDeleteAllWithEmojiName ¶
func (s *LocalCacheSupplier) ReactionDeleteAllWithEmojiName(ctx context.Context, emojiName string, hints ...LayeredStoreHint) *LayeredStoreSupplierResult
func (*LocalCacheSupplier) ReactionGetForPost ¶
func (s *LocalCacheSupplier) ReactionGetForPost(ctx context.Context, postId string, hints ...LayeredStoreHint) *LayeredStoreSupplierResult
func (*LocalCacheSupplier) ReactionPermanentDeleteBatch ¶
func (s *LocalCacheSupplier) ReactionPermanentDeleteBatch(ctx context.Context, endTime int64, limit int64, hints ...LayeredStoreHint) *LayeredStoreSupplierResult
func (*LocalCacheSupplier) ReactionSave ¶
func (s *LocalCacheSupplier) ReactionSave(ctx context.Context, reaction *model.Reaction, hints ...LayeredStoreHint) *LayeredStoreSupplierResult
func (*LocalCacheSupplier) SetChainNext ¶
func (s *LocalCacheSupplier) SetChainNext(next LayeredStoreSupplier)
type OAuthStore ¶
type OAuthStore interface { SaveApp(app *model.OAuthApp) StoreChannel UpdateApp(app *model.OAuthApp) StoreChannel GetApp(id string) StoreChannel GetAppByUser(userId string, offset, limit int) StoreChannel GetApps(offset, limit int) StoreChannel GetAuthorizedApps(userId string, offset, limit int) StoreChannel DeleteApp(id string) StoreChannel SaveAuthData(authData *model.AuthData) StoreChannel GetAuthData(code string) StoreChannel RemoveAuthData(code string) StoreChannel PermanentDeleteAuthDataByUser(userId string) StoreChannel SaveAccessData(accessData *model.AccessData) StoreChannel UpdateAccessData(accessData *model.AccessData) StoreChannel GetAccessData(token string) StoreChannel GetAccessDataByUserForApp(userId, clientId string) StoreChannel GetAccessDataByRefreshToken(token string) StoreChannel GetPreviousAccessData(userId, clientId string) StoreChannel RemoveAccessData(token string) StoreChannel }
type PostStore ¶
type PostStore interface { Save(post *model.Post) StoreChannel Update(newPost *model.Post, oldPost *model.Post) StoreChannel Get(id string) StoreChannel GetSingle(id string) StoreChannel Delete(postId string, time int64) StoreChannel PermanentDeleteByUser(userId string) StoreChannel PermanentDeleteByChannel(channelId string) StoreChannel GetPosts(channelId string, offset int, limit int, allowFromCache bool) StoreChannel GetFlaggedPosts(userId string, offset int, limit int) StoreChannel GetFlaggedPostsForTeam(userId, teamId string, offset int, limit int) StoreChannel GetFlaggedPostsForChannel(userId, channelId string, offset int, limit int) StoreChannel GetPostsBefore(channelId string, postId string, numPosts int, offset int) StoreChannel GetPostsAfter(channelId string, postId string, numPosts int, offset int) StoreChannel GetPostsSince(channelId string, time int64, allowFromCache bool) StoreChannel GetEtag(channelId string, allowFromCache bool) StoreChannel Search(teamId string, userId string, params *model.SearchParams) StoreChannel AnalyticsUserCountsWithPostsByDay(teamId string) StoreChannel AnalyticsPostCountsByDay(teamId string) StoreChannel AnalyticsPostCount(teamId string, mustHaveFile bool, mustHaveHashtag bool) StoreChannel InvalidateLastPostTimeCache(channelId string) GetPostsCreatedAt(channelId string, time int64) StoreChannel Overwrite(post *model.Post) StoreChannel GetPostsByIds(postIds []string) StoreChannel GetPostsBatchForIndexing(startTime int64, limit int) StoreChannel PermanentDeleteBatch(endTime int64, limit int64) StoreChannel }
type PreferenceStore ¶ added in v1.2.1
type PreferenceStore interface { Save(preferences *model.Preferences) StoreChannel Get(userId string, category string, name string) StoreChannel GetCategory(userId string, category string) StoreChannel GetAll(userId string) StoreChannel Delete(userId, category, name string) StoreChannel DeleteCategory(userId string, category string) StoreChannel DeleteCategoryAndName(category string, name string) StoreChannel PermanentDeleteByUser(userId string) StoreChannel IsFeatureEnabled(feature, userId string) StoreChannel CleanupFlagsBatch(limit int64) StoreChannel }
type QueryFunction ¶
type QueryFunction func(LayeredStoreSupplier) *LayeredStoreSupplierResult
type ReactionStore ¶
type ReactionStore interface { Save(reaction *model.Reaction) StoreChannel Delete(reaction *model.Reaction) StoreChannel GetForPost(postId string, allowFromCache bool) StoreChannel DeleteAllWithEmojiName(emojiName string) StoreChannel PermanentDeleteBatch(endTime int64, limit int64) StoreChannel }
type RedisSupplier ¶
type RedisSupplier struct {
// contains filtered or unexported fields
}
func NewRedisSupplier ¶
func NewRedisSupplier() *RedisSupplier
func (*RedisSupplier) Next ¶
func (s *RedisSupplier) Next() LayeredStoreSupplier
func (*RedisSupplier) ReactionDelete ¶
func (s *RedisSupplier) ReactionDelete(ctx context.Context, reaction *model.Reaction, hints ...LayeredStoreHint) *LayeredStoreSupplierResult
func (*RedisSupplier) ReactionDeleteAllWithEmojiName ¶
func (s *RedisSupplier) ReactionDeleteAllWithEmojiName(ctx context.Context, emojiName string, hints ...LayeredStoreHint) *LayeredStoreSupplierResult
func (*RedisSupplier) ReactionGetForPost ¶
func (s *RedisSupplier) ReactionGetForPost(ctx context.Context, postId string, hints ...LayeredStoreHint) *LayeredStoreSupplierResult
func (*RedisSupplier) ReactionPermanentDeleteBatch ¶
func (s *RedisSupplier) ReactionPermanentDeleteBatch(ctx context.Context, endTime int64, limit int64, hints ...LayeredStoreHint) *LayeredStoreSupplierResult
func (*RedisSupplier) ReactionSave ¶
func (s *RedisSupplier) ReactionSave(ctx context.Context, reaction *model.Reaction, hints ...LayeredStoreHint) *LayeredStoreSupplierResult
func (*RedisSupplier) SetChainNext ¶
func (s *RedisSupplier) SetChainNext(next LayeredStoreSupplier)
type ResultHandler ¶
type ResultHandler func(*StoreResult)
type SessionStore ¶
type SessionStore interface { Save(session *model.Session) StoreChannel Get(sessionIdOrToken string) StoreChannel GetSessions(userId string) StoreChannel GetSessionsWithActiveDeviceIds(userId string) StoreChannel Remove(sessionIdOrToken string) StoreChannel RemoveAllSessions() StoreChannel PermanentDeleteSessionsByUser(teamId string) StoreChannel UpdateLastActivityAt(sessionId string, time int64) StoreChannel UpdateRoles(userId string, roles string) StoreChannel UpdateDeviceId(id string, deviceId string, expiresAt int64) StoreChannel AnalyticsSessionCount() StoreChannel }
type StatusStore ¶
type StatusStore interface { SaveOrUpdate(status *model.Status) StoreChannel Get(userId string) StoreChannel GetByIds(userIds []string) StoreChannel GetOnlineAway() StoreChannel GetOnline() StoreChannel GetAllFromTeam(teamId string) StoreChannel ResetAll() StoreChannel GetTotalActiveUsersCount() StoreChannel UpdateLastActivityAt(userId string, lastActivityAt int64) StoreChannel }
type Store ¶
type Store interface { Team() TeamStore Channel() ChannelStore Post() PostStore User() UserStore Audit() AuditStore ClusterDiscovery() ClusterDiscoveryStore Compliance() ComplianceStore Session() SessionStore OAuth() OAuthStore System() SystemStore Webhook() WebhookStore Command() CommandStore CommandWebhook() CommandWebhookStore Preference() PreferenceStore License() LicenseStore Token() TokenStore Emoji() EmojiStore Status() StatusStore FileInfo() FileInfoStore Reaction() ReactionStore Job() JobStore UserAccessToken() UserAccessTokenStore MarkSystemRanUnitTests() Close() DropAllTables() TotalMasterDbConnections() int TotalReadDbConnections() int TotalSearchDbConnections() int }
func NewLayeredStore ¶
func NewLayeredStore(db LayeredStoreDatabaseLayer, metrics einterfaces.MetricsInterface, cluster einterfaces.ClusterInterface) Store
type StoreChannel ¶
type StoreChannel chan StoreResult
func Do ¶
func Do(f func(result *StoreResult)) StoreChannel
type StoreResult ¶
type SystemStore ¶
type SystemStore interface { Save(system *model.System) StoreChannel SaveOrUpdate(system *model.System) StoreChannel Update(system *model.System) StoreChannel Get() StoreChannel GetByName(name string) StoreChannel }
type TeamStore ¶
type TeamStore interface { Save(team *model.Team) StoreChannel Update(team *model.Team) StoreChannel UpdateDisplayName(name string, teamId string) StoreChannel Get(id string) StoreChannel GetByName(name string) StoreChannel SearchByName(name string) StoreChannel SearchAll(term string) StoreChannel SearchOpen(term string) StoreChannel GetAll() StoreChannel GetAllPage(offset int, limit int) StoreChannel GetAllTeamListing() StoreChannel GetAllTeamPageListing(offset int, limit int) StoreChannel GetTeamsByUserId(userId string) StoreChannel GetByInviteId(inviteId string) StoreChannel PermanentDelete(teamId string) StoreChannel AnalyticsTeamCount() StoreChannel SaveMember(member *model.TeamMember) StoreChannel UpdateMember(member *model.TeamMember) StoreChannel GetMember(teamId string, userId string) StoreChannel GetMembers(teamId string, offset int, limit int) StoreChannel GetMembersByIds(teamId string, userIds []string) StoreChannel GetTotalMemberCount(teamId string) StoreChannel GetActiveMemberCount(teamId string) StoreChannel GetTeamsForUser(userId string) StoreChannel GetChannelUnreadsForAllTeams(excludeTeamId, userId string) StoreChannel GetChannelUnreadsForTeam(teamId, userId string) StoreChannel RemoveMember(teamId string, userId string) StoreChannel RemoveAllMembersByTeam(teamId string) StoreChannel RemoveAllMembersByUser(userId string) StoreChannel }
type TokenStore ¶
type TokenStore interface { Save(recovery *model.Token) StoreChannel Delete(token string) StoreChannel GetByToken(token string) StoreChannel Cleanup() }
type UserAccessTokenStore ¶
type UserAccessTokenStore interface { Save(token *model.UserAccessToken) StoreChannel Delete(tokenId string) StoreChannel DeleteAllForUser(userId string) StoreChannel Get(tokenId string) StoreChannel GetByToken(tokenString string) StoreChannel GetByUser(userId string, page, perPage int) StoreChannel }
type UserStore ¶
type UserStore interface { Save(user *model.User) StoreChannel Update(user *model.User, allowRoleUpdate bool) StoreChannel UpdateLastPictureUpdate(userId string) StoreChannel UpdateUpdateAt(userId string) StoreChannel UpdatePassword(userId, newPassword string) StoreChannel UpdateAuthData(userId string, service string, authData *string, email string, resetMfa bool) StoreChannel UpdateMfaSecret(userId, secret string) StoreChannel UpdateMfaActive(userId string, active bool) StoreChannel Get(id string) StoreChannel GetAll() StoreChannel InvalidateProfilesInChannelCacheByUser(userId string) InvalidateProfilesInChannelCache(channelId string) GetProfilesInChannel(channelId string, offset int, limit int) StoreChannel GetAllProfilesInChannel(channelId string, allowFromCache bool) StoreChannel GetProfilesNotInChannel(teamId string, channelId string, offset int, limit int) StoreChannel GetProfilesWithoutTeam(offset int, limit int) StoreChannel GetProfilesByUsernames(usernames []string, teamId string) StoreChannel GetAllProfiles(offset int, limit int) StoreChannel GetProfiles(teamId string, offset int, limit int) StoreChannel GetProfileByIds(userId []string, allowFromCache bool) StoreChannel InvalidatProfileCacheForUser(userId string) GetByEmail(email string) StoreChannel GetByAuth(authData *string, authService string) StoreChannel GetAllUsingAuthService(authService string) StoreChannel GetByUsername(username string) StoreChannel GetForLogin(loginId string, allowSignInWithUsername, allowSignInWithEmail, ldapEnabled bool) StoreChannel VerifyEmail(userId string) StoreChannel GetEtagForAllProfiles() StoreChannel GetEtagForProfiles(teamId string) StoreChannel UpdateFailedPasswordAttempts(userId string, attempts int) StoreChannel GetTotalUsersCount() StoreChannel GetSystemAdminProfiles() StoreChannel PermanentDelete(userId string) StoreChannel AnalyticsUniqueUserCount(teamId string) StoreChannel AnalyticsActiveCount(time int64) StoreChannel GetUnreadCount(userId string) StoreChannel GetUnreadCountForChannel(userId string, channelId string) StoreChannel GetRecentlyActiveUsersForTeam(teamId string, offset, limit int) StoreChannel GetNewUsersForTeam(teamId string, offset, limit int) StoreChannel Search(teamId string, term string, options map[string]bool) StoreChannel SearchNotInTeam(notInTeamId string, term string, options map[string]bool) StoreChannel SearchInChannel(channelId string, term string, options map[string]bool) StoreChannel SearchNotInChannel(teamId string, channelId string, term string, options map[string]bool) StoreChannel SearchWithoutTeam(term string, options map[string]bool) StoreChannel AnalyticsGetInactiveUsersCount() StoreChannel AnalyticsGetSystemAdminCount() StoreChannel GetProfilesNotInTeam(teamId string, offset int, limit int) StoreChannel GetEtagForProfilesNotInTeam(teamId string) StoreChannel }
type WebhookStore ¶
type WebhookStore interface { SaveIncoming(webhook *model.IncomingWebhook) StoreChannel GetIncoming(id string, allowFromCache bool) StoreChannel GetIncomingList(offset, limit int) StoreChannel GetIncomingByTeam(teamId string, offset, limit int) StoreChannel UpdateIncoming(webhook *model.IncomingWebhook) StoreChannel GetIncomingByChannel(channelId string) StoreChannel DeleteIncoming(webhookId string, time int64) StoreChannel PermanentDeleteIncomingByChannel(channelId string) StoreChannel PermanentDeleteIncomingByUser(userId string) StoreChannel SaveOutgoing(webhook *model.OutgoingWebhook) StoreChannel GetOutgoing(id string) StoreChannel GetOutgoingList(offset, limit int) StoreChannel GetOutgoingByChannel(channelId string, offset, limit int) StoreChannel GetOutgoingByTeam(teamId string, offset, limit int) StoreChannel DeleteOutgoing(webhookId string, time int64) StoreChannel PermanentDeleteOutgoingByChannel(channelId string) StoreChannel PermanentDeleteOutgoingByUser(userId string) StoreChannel UpdateOutgoing(hook *model.OutgoingWebhook) StoreChannel AnalyticsIncomingCount(teamId string) StoreChannel AnalyticsOutgoingCount(teamId string) StoreChannel InvalidateWebhookCache(webhook string) }
Source Files ¶
Click to show internal directories.
Click to hide internal directories.