store

package
v5.3.0-rc1+incompatible Latest Latest
Warning

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

Go to latest
Published: Sep 4, 2018 License: AGPL-3.0, Apache-2.0 Imports: 10 Imported by: 0

Documentation

Index

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"

	FEATURE_TOGGLE_PREFIX = "feature_enabled_"
)
View Source
const (
	REACTION_CACHE_SIZE = 20000
	REACTION_CACHE_SEC  = 30 * 60

	ROLE_CACHE_SIZE = 20000
	ROLE_CACHE_SEC  = 30 * 60

	SCHEME_CACHE_SIZE = 20000
	SCHEME_CACHE_SEC  = 30 * 60

	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 DecodeBytes(input []byte, thing interface{}) error

func GetBytes

func GetBytes(key interface{}) ([]byte, error)

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 ChannelMemberHistoryStore

type ChannelMemberHistoryStore interface {
	LogJoinEvent(userId string, channelId string, joinTime int64) StoreChannel
	LogLeaveEvent(userId string, channelId string, leaveTime int64) StoreChannel
	GetUsersInChannelDuring(startTime int64, endTime int64, channelId string) StoreChannel
	PermanentDeleteBatch(endTime int64, limit int64) StoreChannel
}

type ChannelStore

type ChannelStore interface {
	Save(channel *model.Channel, maxChannelsPerTeam int64) 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
	GetByNames(team_id string, names []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, includeDeleted bool) 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, includeDeleted 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
	GetMembersForUser(teamId string, userId string) StoreChannel
	AutocompleteInTeam(teamId string, term string, includeDeleted bool) StoreChannel
	SearchInTeam(teamId string, term string, includeDeleted bool) 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
	ClearCaches()
	GetChannelsByScheme(schemeId string, offset int, limit int) StoreChannel
	MigrateChannelMembers(fromChannelId string, fromUserId string) StoreChannel
	ResetAllChannelSchemes() StoreChannel
	ClearAllCustomRoleAssignments() StoreChannel
	ResetLastPostAt() 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
	MessageExport(after int64, limit int) 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, sort string) StoreChannel
	Delete(id string, time int64) StoreChannel
	Search(name string, prefixOnly bool, limit int) 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
	GetForUser(userId string) StoreChannel
	InvalidateFileInfosForPostCache(postId string)
	AttachToPost(fileId string, postId string) StoreChannel
	DeleteForPost(postId string) StoreChannel
	PermanentDelete(fileId string) StoreChannel
	PermanentDeleteBatch(endTime int64, limit int64) StoreChannel
	PermanentDeleteByUser(userId string) StoreChannel
	ClearCaches()
}

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 LayeredRoleStore

type LayeredRoleStore struct {
	*LayeredStore
}

func (*LayeredRoleStore) Delete

func (s *LayeredRoleStore) Delete(roldId string) StoreChannel

func (*LayeredRoleStore) Get

func (s *LayeredRoleStore) Get(roleId string) StoreChannel

func (*LayeredRoleStore) GetByName

func (s *LayeredRoleStore) GetByName(name string) StoreChannel

func (*LayeredRoleStore) GetByNames

func (s *LayeredRoleStore) GetByNames(names []string) StoreChannel

func (*LayeredRoleStore) PermanentDeleteAll

func (s *LayeredRoleStore) PermanentDeleteAll() StoreChannel

func (*LayeredRoleStore) Save

func (s *LayeredRoleStore) Save(role *model.Role) StoreChannel

type LayeredSchemeStore

type LayeredSchemeStore struct {
	*LayeredStore
}

func (*LayeredSchemeStore) Delete

func (s *LayeredSchemeStore) Delete(schemeId string) StoreChannel

func (*LayeredSchemeStore) Get

func (s *LayeredSchemeStore) Get(schemeId string) StoreChannel

func (*LayeredSchemeStore) GetAllPage

func (s *LayeredSchemeStore) GetAllPage(scope string, offset int, limit int) StoreChannel

func (*LayeredSchemeStore) GetByName

func (s *LayeredSchemeStore) GetByName(schemeName string) StoreChannel

func (*LayeredSchemeStore) PermanentDeleteAll

func (s *LayeredSchemeStore) PermanentDeleteAll() StoreChannel

func (*LayeredSchemeStore) Save

func (s *LayeredSchemeStore) Save(scheme *model.Scheme) StoreChannel

type LayeredStore

type LayeredStore struct {
	TmpContext      context.Context
	ReactionStore   ReactionStore
	RoleStore       RoleStore
	SchemeStore     SchemeStore
	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) ChannelMemberHistory

func (s *LayeredStore) ChannelMemberHistory() ChannelMemberHistoryStore

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) LockToMaster

func (s *LayeredStore) LockToMaster()

func (*LayeredStore) MarkSystemRanUnitTests

func (s *LayeredStore) MarkSystemRanUnitTests()

func (*LayeredStore) OAuth

func (s *LayeredStore) OAuth() OAuthStore

func (*LayeredStore) Plugin

func (s *LayeredStore) Plugin() PluginStore

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) Role

func (s *LayeredStore) Role() RoleStore

func (*LayeredStore) RunQuery

func (s *LayeredStore) RunQuery(queryFunction QueryFunction) StoreChannel

func (*LayeredStore) Scheme

func (s *LayeredStore) Scheme() SchemeStore

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) UnlockFromMaster

func (s *LayeredStore) UnlockFromMaster()

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

	// Roles
	RoleSave(ctx context.Context, role *model.Role, hints ...LayeredStoreHint) *LayeredStoreSupplierResult
	RoleGet(ctx context.Context, roleId string, hints ...LayeredStoreHint) *LayeredStoreSupplierResult
	RoleGetByName(ctx context.Context, name string, hints ...LayeredStoreHint) *LayeredStoreSupplierResult
	RoleGetByNames(ctx context.Context, names []string, hints ...LayeredStoreHint) *LayeredStoreSupplierResult
	RoleDelete(ctx context.Context, roldId string, hints ...LayeredStoreHint) *LayeredStoreSupplierResult
	RolePermanentDeleteAll(ctx context.Context, hints ...LayeredStoreHint) *LayeredStoreSupplierResult

	// Schemes
	SchemeSave(ctx context.Context, scheme *model.Scheme, hints ...LayeredStoreHint) *LayeredStoreSupplierResult
	SchemeGet(ctx context.Context, schemeId string, hints ...LayeredStoreHint) *LayeredStoreSupplierResult
	SchemeGetByName(ctx context.Context, schemeName string, hints ...LayeredStoreHint) *LayeredStoreSupplierResult
	SchemeDelete(ctx context.Context, schemeId string, hints ...LayeredStoreHint) *LayeredStoreSupplierResult
	SchemeGetAllPage(ctx context.Context, scope string, offset int, limit int, hints ...LayeredStoreHint) *LayeredStoreSupplierResult
	SchemePermanentDeleteAll(ctx context.Context, 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 (*LocalCacheSupplier) Next

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) RoleDelete

func (*LocalCacheSupplier) RoleGet

func (*LocalCacheSupplier) RoleGetByName

func (*LocalCacheSupplier) RoleGetByNames

func (s *LocalCacheSupplier) RoleGetByNames(ctx context.Context, roleNames []string, hints ...LayeredStoreHint) *LayeredStoreSupplierResult

func (*LocalCacheSupplier) RolePermanentDeleteAll

func (s *LocalCacheSupplier) RolePermanentDeleteAll(ctx context.Context, hints ...LayeredStoreHint) *LayeredStoreSupplierResult

func (*LocalCacheSupplier) RoleSave

func (*LocalCacheSupplier) SchemeDelete

func (s *LocalCacheSupplier) SchemeDelete(ctx context.Context, schemeId string, hints ...LayeredStoreHint) *LayeredStoreSupplierResult

func (*LocalCacheSupplier) SchemeGet

func (*LocalCacheSupplier) SchemeGetAllPage

func (s *LocalCacheSupplier) SchemeGetAllPage(ctx context.Context, scope string, offset int, limit int, hints ...LayeredStoreHint) *LayeredStoreSupplierResult

func (*LocalCacheSupplier) SchemeGetByName

func (s *LocalCacheSupplier) SchemeGetByName(ctx context.Context, schemeName string, hints ...LayeredStoreHint) *LayeredStoreSupplierResult

func (*LocalCacheSupplier) SchemePermanentDeleteAll

func (s *LocalCacheSupplier) SchemePermanentDeleteAll(ctx context.Context, hints ...LayeredStoreHint) *LayeredStoreSupplierResult

func (*LocalCacheSupplier) SchemeSave

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 PluginStore

type PluginStore interface {
	SaveOrUpdate(keyVal *model.PluginKeyValue) StoreChannel
	Get(pluginId, key string) StoreChannel
	Delete(pluginId, key 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, deleteByID string) 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
	ClearCaches()
	InvalidateLastPostTimeCache(channelId string)
	GetPostsCreatedAt(channelId string, time int64) StoreChannel
	Overwrite(post *model.Post) StoreChannel
	GetPostsByIds(postIds []string) StoreChannel
	GetPostsBatchForIndexing(startTime int64, endTime int64, limit int) StoreChannel
	PermanentDeleteBatch(endTime int64, limit int64) StoreChannel
	GetOldest() StoreChannel
	GetMaxPostSize() 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 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 (*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) RoleDelete

func (s *RedisSupplier) RoleDelete(ctx context.Context, roleId string, hints ...LayeredStoreHint) *LayeredStoreSupplierResult

func (*RedisSupplier) RoleGet

func (*RedisSupplier) RoleGetByName

func (s *RedisSupplier) RoleGetByName(ctx context.Context, name string, hints ...LayeredStoreHint) *LayeredStoreSupplierResult

func (*RedisSupplier) RoleGetByNames

func (s *RedisSupplier) RoleGetByNames(ctx context.Context, roleNames []string, hints ...LayeredStoreHint) *LayeredStoreSupplierResult

func (*RedisSupplier) RolePermanentDeleteAll

func (s *RedisSupplier) RolePermanentDeleteAll(ctx context.Context, hints ...LayeredStoreHint) *LayeredStoreSupplierResult

func (*RedisSupplier) RoleSave

func (*RedisSupplier) SchemeDelete

func (s *RedisSupplier) SchemeDelete(ctx context.Context, schemeId string, hints ...LayeredStoreHint) *LayeredStoreSupplierResult

func (*RedisSupplier) SchemeGet

func (s *RedisSupplier) SchemeGet(ctx context.Context, schemeId string, hints ...LayeredStoreHint) *LayeredStoreSupplierResult

func (*RedisSupplier) SchemeGetAllPage

func (s *RedisSupplier) SchemeGetAllPage(ctx context.Context, scope string, offset int, limit int, hints ...LayeredStoreHint) *LayeredStoreSupplierResult

func (*RedisSupplier) SchemeGetByName

func (s *RedisSupplier) SchemeGetByName(ctx context.Context, schemeName string, hints ...LayeredStoreHint) *LayeredStoreSupplierResult

func (*RedisSupplier) SchemePermanentDeleteAll

func (s *RedisSupplier) SchemePermanentDeleteAll(ctx context.Context, hints ...LayeredStoreHint) *LayeredStoreSupplierResult

func (*RedisSupplier) SchemeSave

func (s *RedisSupplier) SchemeSave(ctx context.Context, scheme *model.Scheme, hints ...LayeredStoreHint) *LayeredStoreSupplierResult

func (*RedisSupplier) SetChainNext

func (s *RedisSupplier) SetChainNext(next LayeredStoreSupplier)

type RoleStore

type RoleStore interface {
	Save(role *model.Role) StoreChannel
	Get(roleId string) StoreChannel
	GetByName(name string) StoreChannel
	GetByNames(names []string) StoreChannel
	Delete(roldId string) StoreChannel
	PermanentDeleteAll() StoreChannel
}

type SchemeStore

type SchemeStore interface {
	Save(scheme *model.Scheme) StoreChannel
	Get(schemeId string) StoreChannel
	GetByName(schemeName string) StoreChannel
	GetAllPage(scope string, offset int, limit int) StoreChannel
	Delete(schemeId string) StoreChannel
	PermanentDeleteAll() StoreChannel
}

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
	Cleanup(expiryTime int64, batchSize int64)
}

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
	Role() RoleStore
	Scheme() SchemeStore
	Job() JobStore
	UserAccessToken() UserAccessTokenStore
	ChannelMemberHistory() ChannelMemberHistoryStore
	Plugin() PluginStore
	MarkSystemRanUnitTests()
	Close()
	LockToMaster()
	UnlockFromMaster()
	DropAllTables()
	TotalMasterDbConnections() int
	TotalReadDbConnections() int
	TotalSearchDbConnections() int
}

type StoreChannel

type StoreChannel chan StoreResult

func Do

func Do(f func(result *StoreResult)) StoreChannel

type StoreResult

type StoreResult struct {
	Data interface{}
	Err  *model.AppError
}

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
	PermanentDeleteByName(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, maxUsersPerTeam int) 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
	UpdateLastTeamIconUpdate(teamId string, curTime int64) StoreChannel
	GetTeamsByScheme(schemeId string, offset int, limit int) StoreChannel
	MigrateTeamMembers(fromTeamId string, fromUserId string) StoreChannel
	ResetAllTeamSchemes() StoreChannel
	ClearAllCustomRoleAssignments() StoreChannel
	AnalyticsGetTeamCountForScheme(schemeId 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
	GetAll(offset int, limit int) StoreChannel
	GetByToken(tokenString string) StoreChannel
	GetByUser(userId string, page, perPage int) StoreChannel
	Search(term string) StoreChannel
	UpdateTokenEnable(tokenId string) StoreChannel
	UpdateTokenDisable(tokenId string) 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
	ClearCaches()
	InvalidateProfilesInChannelCacheByUser(userId string)
	InvalidateProfilesInChannelCache(channelId string)
	GetProfilesInChannel(channelId string, offset int, limit int) StoreChannel
	GetProfilesInChannelByStatus(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 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
	ClearAllCustomRoleAssignments() StoreChannel
	InferSystemInstallDate() 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)
	ClearCaches()
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL