Moving store layers into independent packages (#15004)

Этот коммит содержится в:
Jesús Espino
2020-07-27 15:14:16 +02:00
коммит произвёл GitHub
родитель 935ddaa251
Коммит 2de5f75f47
7 изменённых файлов: 229 добавлений и 218 удалений

Просмотреть файл

@@ -48,6 +48,7 @@ import (
"github.com/mattermost/mattermost-server/v5/store/localcachelayer" "github.com/mattermost/mattermost-server/v5/store/localcachelayer"
"github.com/mattermost/mattermost-server/v5/store/searchlayer" "github.com/mattermost/mattermost-server/v5/store/searchlayer"
"github.com/mattermost/mattermost-server/v5/store/sqlstore" "github.com/mattermost/mattermost-server/v5/store/sqlstore"
"github.com/mattermost/mattermost-server/v5/store/timerlayer"
"github.com/mattermost/mattermost-server/v5/utils" "github.com/mattermost/mattermost-server/v5/utils"
) )
@@ -310,7 +311,7 @@ func NewServer(options ...Option) (*Server, error) {
s.sqlStore.UpdateLicense(newLicense) s.sqlStore.UpdateLicense(newLicense)
}) })
return store.NewTimerLayer( return timerlayer.New(
searchStore, searchStore,
s.Metrics, s.Metrics,
) )

Просмотреть файл

@@ -47,7 +47,7 @@ func buildTimerLayer() error {
return err return err
} }
return ioutil.WriteFile(path.Join("timer_layer.go"), formatedCode, 0644) return ioutil.WriteFile(path.Join("timerlayer", "timerlayer.go"), formatedCode, 0644)
} }
func buildOpenTracingLayer() error { func buildOpenTracingLayer() error {
@@ -60,7 +60,7 @@ func buildOpenTracingLayer() error {
return err return err
} }
return ioutil.WriteFile(path.Join("opentracing_layer.go"), formatedCode, 0644) return ioutil.WriteFile(path.Join("opentracinglayer", "opentracinglayer.go"), formatedCode, 0644)
} }
type methodParam struct { type methodParam struct {
@@ -252,8 +252,14 @@ func generateLayer(name, templateFile string) ([]byte, error) {
"joinParamsWithType": func(params []methodParam) string { "joinParamsWithType": func(params []methodParam) string {
paramsWithType := []string{} paramsWithType := []string{}
for _, param := range params { for _, param := range params {
if param.Type == "ChannelSearchOpts" || param.Type == "UserGetByIdsOpts" {
paramsWithType = append(paramsWithType, fmt.Sprintf("%s store.%s", param.Name, param.Type))
} else if param.Type == "*UserGetByIdsOpts" {
paramsWithType = append(paramsWithType, fmt.Sprintf("%s *store.UserGetByIdsOpts", param.Name))
} else {
paramsWithType = append(paramsWithType, fmt.Sprintf("%s %s", param.Name, param.Type)) paramsWithType = append(paramsWithType, fmt.Sprintf("%s %s", param.Name, param.Type))
} }
}
return strings.Join(paramsWithType, ", ") return strings.Join(paramsWithType, ", ")
}, },
} }

Просмотреть файл

@@ -4,31 +4,32 @@
// Code generated by "make store-layers" // Code generated by "make store-layers"
// DO NOT EDIT // DO NOT EDIT
package store package opentracinglayer
import ( import (
"context" "context"
"github.com/mattermost/mattermost-server/v5/model" "github.com/mattermost/mattermost-server/v5/model"
"github.com/mattermost/mattermost-server/v5/services/tracing" "github.com/mattermost/mattermost-server/v5/services/tracing"
"github.com/mattermost/mattermost-server/v5/store"
"github.com/opentracing/opentracing-go/ext" "github.com/opentracing/opentracing-go/ext"
spanlog "github.com/opentracing/opentracing-go/log" spanlog "github.com/opentracing/opentracing-go/log"
) )
type {{.Name}} struct { type {{.Name}} struct {
Store store.Store
{{range $index, $element := .SubStores}} {{$index}}Store {{$index}}Store {{range $index, $element := .SubStores}} {{$index}}Store store.{{$index}}Store
{{end}} {{end}}
} }
{{range $index, $element := .SubStores}}func (s *{{$.Name}}) {{$index}}() {{$index}}Store { {{range $index, $element := .SubStores}}func (s *{{$.Name}}) {{$index}}() store.{{$index}}Store {
return s.{{$index}}Store return s.{{$index}}Store
} }
{{end}} {{end}}
{{range $index, $element := .SubStores}}type {{$.Name}}{{$index}}Store struct { {{range $index, $element := .SubStores}}type {{$.Name}}{{$index}}Store struct {
{{$index}}Store store.{{$index}}Store
Root *{{$.Name}} Root *{{$.Name}}
} }
@@ -72,7 +73,7 @@ func (s *{{$.Name}}) {{$index}}({{$element.Params | joinParamsWithType}}) {{$ele
{{end}}} {{end}}}
{{end}} {{end}}
func New{{.Name}}(childStore Store, ctx context.Context) *{{.Name}} { func New(childStore store.Store, ctx context.Context) *{{.Name}} {
newStore := {{.Name}}{ newStore := {{.Name}}{
Store: childStore, Store: childStore,
} }

Просмотреть файл

@@ -4,7 +4,7 @@
// Code generated by "make store-layers" // Code generated by "make store-layers"
// DO NOT EDIT // DO NOT EDIT
package store package timerlayer
import ( import (
"context" "context"
@@ -12,23 +12,24 @@ import (
"github.com/mattermost/mattermost-server/v5/einterfaces" "github.com/mattermost/mattermost-server/v5/einterfaces"
"github.com/mattermost/mattermost-server/v5/model" "github.com/mattermost/mattermost-server/v5/model"
"github.com/mattermost/mattermost-server/v5/store"
) )
type {{.Name}} struct { type {{.Name}} struct {
Store store.Store
Metrics einterfaces.MetricsInterface Metrics einterfaces.MetricsInterface
{{range $index, $element := .SubStores}} {{$index}}Store {{$index}}Store {{range $index, $element := .SubStores}} {{$index}}Store store.{{$index}}Store
{{end}} {{end}}
} }
{{range $index, $element := .SubStores}}func (s *{{$.Name}}) {{$index}}() {{$index}}Store { {{range $index, $element := .SubStores}}func (s *{{$.Name}}) {{$index}}() store.{{$index}}Store {
return s.{{$index}}Store return s.{{$index}}Store
} }
{{end}} {{end}}
{{range $index, $element := .SubStores}}type {{$.Name}}{{$index}}Store struct { {{range $index, $element := .SubStores}}type {{$.Name}}{{$index}}Store struct {
{{$index}}Store store.{{$index}}Store
Root *{{$.Name}} Root *{{$.Name}}
} }
@@ -67,7 +68,7 @@ func (s *{{$.Name}}) {{$index}}({{$element.Params | joinParamsWithType}}) {{$ele
{{end}}} {{end}}}
{{end}} {{end}}
func New{{.Name}}(childStore Store, metrics einterfaces.MetricsInterface) *{{.Name}} { func New(childStore store.Store, metrics einterfaces.MetricsInterface) *{{.Name}} {
newStore := {{.Name}}{ newStore := {{.Name}}{
Store: childStore, Store: childStore,
Metrics: metrics, Metrics: metrics,

Просмотреть файл

@@ -4,328 +4,329 @@
// Code generated by "make store-layers" // Code generated by "make store-layers"
// DO NOT EDIT // DO NOT EDIT
package store package opentracinglayer
import ( import (
"context" "context"
"github.com/mattermost/mattermost-server/v5/model" "github.com/mattermost/mattermost-server/v5/model"
"github.com/mattermost/mattermost-server/v5/services/tracing" "github.com/mattermost/mattermost-server/v5/services/tracing"
"github.com/mattermost/mattermost-server/v5/store"
"github.com/opentracing/opentracing-go/ext" "github.com/opentracing/opentracing-go/ext"
spanlog "github.com/opentracing/opentracing-go/log" spanlog "github.com/opentracing/opentracing-go/log"
) )
type OpenTracingLayer struct { type OpenTracingLayer struct {
Store store.Store
AuditStore AuditStore AuditStore store.AuditStore
BotStore BotStore BotStore store.BotStore
ChannelStore ChannelStore ChannelStore store.ChannelStore
ChannelMemberHistoryStore ChannelMemberHistoryStore ChannelMemberHistoryStore store.ChannelMemberHistoryStore
ClusterDiscoveryStore ClusterDiscoveryStore ClusterDiscoveryStore store.ClusterDiscoveryStore
CommandStore CommandStore CommandStore store.CommandStore
CommandWebhookStore CommandWebhookStore CommandWebhookStore store.CommandWebhookStore
ComplianceStore ComplianceStore ComplianceStore store.ComplianceStore
EmojiStore EmojiStore EmojiStore store.EmojiStore
FileInfoStore FileInfoStore FileInfoStore store.FileInfoStore
GroupStore GroupStore GroupStore store.GroupStore
JobStore JobStore JobStore store.JobStore
LicenseStore LicenseStore LicenseStore store.LicenseStore
LinkMetadataStore LinkMetadataStore LinkMetadataStore store.LinkMetadataStore
OAuthStore OAuthStore OAuthStore store.OAuthStore
PluginStore PluginStore PluginStore store.PluginStore
PostStore PostStore PostStore store.PostStore
PreferenceStore PreferenceStore PreferenceStore store.PreferenceStore
ReactionStore ReactionStore ReactionStore store.ReactionStore
RoleStore RoleStore RoleStore store.RoleStore
SchemeStore SchemeStore SchemeStore store.SchemeStore
SessionStore SessionStore SessionStore store.SessionStore
StatusStore StatusStore StatusStore store.StatusStore
SystemStore SystemStore SystemStore store.SystemStore
TeamStore TeamStore TeamStore store.TeamStore
TermsOfServiceStore TermsOfServiceStore TermsOfServiceStore store.TermsOfServiceStore
TokenStore TokenStore TokenStore store.TokenStore
UserStore UserStore UserStore store.UserStore
UserAccessTokenStore UserAccessTokenStore UserAccessTokenStore store.UserAccessTokenStore
UserTermsOfServiceStore UserTermsOfServiceStore UserTermsOfServiceStore store.UserTermsOfServiceStore
WebhookStore WebhookStore WebhookStore store.WebhookStore
} }
func (s *OpenTracingLayer) Audit() AuditStore { func (s *OpenTracingLayer) Audit() store.AuditStore {
return s.AuditStore return s.AuditStore
} }
func (s *OpenTracingLayer) Bot() BotStore { func (s *OpenTracingLayer) Bot() store.BotStore {
return s.BotStore return s.BotStore
} }
func (s *OpenTracingLayer) Channel() ChannelStore { func (s *OpenTracingLayer) Channel() store.ChannelStore {
return s.ChannelStore return s.ChannelStore
} }
func (s *OpenTracingLayer) ChannelMemberHistory() ChannelMemberHistoryStore { func (s *OpenTracingLayer) ChannelMemberHistory() store.ChannelMemberHistoryStore {
return s.ChannelMemberHistoryStore return s.ChannelMemberHistoryStore
} }
func (s *OpenTracingLayer) ClusterDiscovery() ClusterDiscoveryStore { func (s *OpenTracingLayer) ClusterDiscovery() store.ClusterDiscoveryStore {
return s.ClusterDiscoveryStore return s.ClusterDiscoveryStore
} }
func (s *OpenTracingLayer) Command() CommandStore { func (s *OpenTracingLayer) Command() store.CommandStore {
return s.CommandStore return s.CommandStore
} }
func (s *OpenTracingLayer) CommandWebhook() CommandWebhookStore { func (s *OpenTracingLayer) CommandWebhook() store.CommandWebhookStore {
return s.CommandWebhookStore return s.CommandWebhookStore
} }
func (s *OpenTracingLayer) Compliance() ComplianceStore { func (s *OpenTracingLayer) Compliance() store.ComplianceStore {
return s.ComplianceStore return s.ComplianceStore
} }
func (s *OpenTracingLayer) Emoji() EmojiStore { func (s *OpenTracingLayer) Emoji() store.EmojiStore {
return s.EmojiStore return s.EmojiStore
} }
func (s *OpenTracingLayer) FileInfo() FileInfoStore { func (s *OpenTracingLayer) FileInfo() store.FileInfoStore {
return s.FileInfoStore return s.FileInfoStore
} }
func (s *OpenTracingLayer) Group() GroupStore { func (s *OpenTracingLayer) Group() store.GroupStore {
return s.GroupStore return s.GroupStore
} }
func (s *OpenTracingLayer) Job() JobStore { func (s *OpenTracingLayer) Job() store.JobStore {
return s.JobStore return s.JobStore
} }
func (s *OpenTracingLayer) License() LicenseStore { func (s *OpenTracingLayer) License() store.LicenseStore {
return s.LicenseStore return s.LicenseStore
} }
func (s *OpenTracingLayer) LinkMetadata() LinkMetadataStore { func (s *OpenTracingLayer) LinkMetadata() store.LinkMetadataStore {
return s.LinkMetadataStore return s.LinkMetadataStore
} }
func (s *OpenTracingLayer) OAuth() OAuthStore { func (s *OpenTracingLayer) OAuth() store.OAuthStore {
return s.OAuthStore return s.OAuthStore
} }
func (s *OpenTracingLayer) Plugin() PluginStore { func (s *OpenTracingLayer) Plugin() store.PluginStore {
return s.PluginStore return s.PluginStore
} }
func (s *OpenTracingLayer) Post() PostStore { func (s *OpenTracingLayer) Post() store.PostStore {
return s.PostStore return s.PostStore
} }
func (s *OpenTracingLayer) Preference() PreferenceStore { func (s *OpenTracingLayer) Preference() store.PreferenceStore {
return s.PreferenceStore return s.PreferenceStore
} }
func (s *OpenTracingLayer) Reaction() ReactionStore { func (s *OpenTracingLayer) Reaction() store.ReactionStore {
return s.ReactionStore return s.ReactionStore
} }
func (s *OpenTracingLayer) Role() RoleStore { func (s *OpenTracingLayer) Role() store.RoleStore {
return s.RoleStore return s.RoleStore
} }
func (s *OpenTracingLayer) Scheme() SchemeStore { func (s *OpenTracingLayer) Scheme() store.SchemeStore {
return s.SchemeStore return s.SchemeStore
} }
func (s *OpenTracingLayer) Session() SessionStore { func (s *OpenTracingLayer) Session() store.SessionStore {
return s.SessionStore return s.SessionStore
} }
func (s *OpenTracingLayer) Status() StatusStore { func (s *OpenTracingLayer) Status() store.StatusStore {
return s.StatusStore return s.StatusStore
} }
func (s *OpenTracingLayer) System() SystemStore { func (s *OpenTracingLayer) System() store.SystemStore {
return s.SystemStore return s.SystemStore
} }
func (s *OpenTracingLayer) Team() TeamStore { func (s *OpenTracingLayer) Team() store.TeamStore {
return s.TeamStore return s.TeamStore
} }
func (s *OpenTracingLayer) TermsOfService() TermsOfServiceStore { func (s *OpenTracingLayer) TermsOfService() store.TermsOfServiceStore {
return s.TermsOfServiceStore return s.TermsOfServiceStore
} }
func (s *OpenTracingLayer) Token() TokenStore { func (s *OpenTracingLayer) Token() store.TokenStore {
return s.TokenStore return s.TokenStore
} }
func (s *OpenTracingLayer) User() UserStore { func (s *OpenTracingLayer) User() store.UserStore {
return s.UserStore return s.UserStore
} }
func (s *OpenTracingLayer) UserAccessToken() UserAccessTokenStore { func (s *OpenTracingLayer) UserAccessToken() store.UserAccessTokenStore {
return s.UserAccessTokenStore return s.UserAccessTokenStore
} }
func (s *OpenTracingLayer) UserTermsOfService() UserTermsOfServiceStore { func (s *OpenTracingLayer) UserTermsOfService() store.UserTermsOfServiceStore {
return s.UserTermsOfServiceStore return s.UserTermsOfServiceStore
} }
func (s *OpenTracingLayer) Webhook() WebhookStore { func (s *OpenTracingLayer) Webhook() store.WebhookStore {
return s.WebhookStore return s.WebhookStore
} }
type OpenTracingLayerAuditStore struct { type OpenTracingLayerAuditStore struct {
AuditStore store.AuditStore
Root *OpenTracingLayer Root *OpenTracingLayer
} }
type OpenTracingLayerBotStore struct { type OpenTracingLayerBotStore struct {
BotStore store.BotStore
Root *OpenTracingLayer Root *OpenTracingLayer
} }
type OpenTracingLayerChannelStore struct { type OpenTracingLayerChannelStore struct {
ChannelStore store.ChannelStore
Root *OpenTracingLayer Root *OpenTracingLayer
} }
type OpenTracingLayerChannelMemberHistoryStore struct { type OpenTracingLayerChannelMemberHistoryStore struct {
ChannelMemberHistoryStore store.ChannelMemberHistoryStore
Root *OpenTracingLayer Root *OpenTracingLayer
} }
type OpenTracingLayerClusterDiscoveryStore struct { type OpenTracingLayerClusterDiscoveryStore struct {
ClusterDiscoveryStore store.ClusterDiscoveryStore
Root *OpenTracingLayer Root *OpenTracingLayer
} }
type OpenTracingLayerCommandStore struct { type OpenTracingLayerCommandStore struct {
CommandStore store.CommandStore
Root *OpenTracingLayer Root *OpenTracingLayer
} }
type OpenTracingLayerCommandWebhookStore struct { type OpenTracingLayerCommandWebhookStore struct {
CommandWebhookStore store.CommandWebhookStore
Root *OpenTracingLayer Root *OpenTracingLayer
} }
type OpenTracingLayerComplianceStore struct { type OpenTracingLayerComplianceStore struct {
ComplianceStore store.ComplianceStore
Root *OpenTracingLayer Root *OpenTracingLayer
} }
type OpenTracingLayerEmojiStore struct { type OpenTracingLayerEmojiStore struct {
EmojiStore store.EmojiStore
Root *OpenTracingLayer Root *OpenTracingLayer
} }
type OpenTracingLayerFileInfoStore struct { type OpenTracingLayerFileInfoStore struct {
FileInfoStore store.FileInfoStore
Root *OpenTracingLayer Root *OpenTracingLayer
} }
type OpenTracingLayerGroupStore struct { type OpenTracingLayerGroupStore struct {
GroupStore store.GroupStore
Root *OpenTracingLayer Root *OpenTracingLayer
} }
type OpenTracingLayerJobStore struct { type OpenTracingLayerJobStore struct {
JobStore store.JobStore
Root *OpenTracingLayer Root *OpenTracingLayer
} }
type OpenTracingLayerLicenseStore struct { type OpenTracingLayerLicenseStore struct {
LicenseStore store.LicenseStore
Root *OpenTracingLayer Root *OpenTracingLayer
} }
type OpenTracingLayerLinkMetadataStore struct { type OpenTracingLayerLinkMetadataStore struct {
LinkMetadataStore store.LinkMetadataStore
Root *OpenTracingLayer Root *OpenTracingLayer
} }
type OpenTracingLayerOAuthStore struct { type OpenTracingLayerOAuthStore struct {
OAuthStore store.OAuthStore
Root *OpenTracingLayer Root *OpenTracingLayer
} }
type OpenTracingLayerPluginStore struct { type OpenTracingLayerPluginStore struct {
PluginStore store.PluginStore
Root *OpenTracingLayer Root *OpenTracingLayer
} }
type OpenTracingLayerPostStore struct { type OpenTracingLayerPostStore struct {
PostStore store.PostStore
Root *OpenTracingLayer Root *OpenTracingLayer
} }
type OpenTracingLayerPreferenceStore struct { type OpenTracingLayerPreferenceStore struct {
PreferenceStore store.PreferenceStore
Root *OpenTracingLayer Root *OpenTracingLayer
} }
type OpenTracingLayerReactionStore struct { type OpenTracingLayerReactionStore struct {
ReactionStore store.ReactionStore
Root *OpenTracingLayer Root *OpenTracingLayer
} }
type OpenTracingLayerRoleStore struct { type OpenTracingLayerRoleStore struct {
RoleStore store.RoleStore
Root *OpenTracingLayer Root *OpenTracingLayer
} }
type OpenTracingLayerSchemeStore struct { type OpenTracingLayerSchemeStore struct {
SchemeStore store.SchemeStore
Root *OpenTracingLayer Root *OpenTracingLayer
} }
type OpenTracingLayerSessionStore struct { type OpenTracingLayerSessionStore struct {
SessionStore store.SessionStore
Root *OpenTracingLayer Root *OpenTracingLayer
} }
type OpenTracingLayerStatusStore struct { type OpenTracingLayerStatusStore struct {
StatusStore store.StatusStore
Root *OpenTracingLayer Root *OpenTracingLayer
} }
type OpenTracingLayerSystemStore struct { type OpenTracingLayerSystemStore struct {
SystemStore store.SystemStore
Root *OpenTracingLayer Root *OpenTracingLayer
} }
type OpenTracingLayerTeamStore struct { type OpenTracingLayerTeamStore struct {
TeamStore store.TeamStore
Root *OpenTracingLayer Root *OpenTracingLayer
} }
type OpenTracingLayerTermsOfServiceStore struct { type OpenTracingLayerTermsOfServiceStore struct {
TermsOfServiceStore store.TermsOfServiceStore
Root *OpenTracingLayer Root *OpenTracingLayer
} }
type OpenTracingLayerTokenStore struct { type OpenTracingLayerTokenStore struct {
TokenStore store.TokenStore
Root *OpenTracingLayer Root *OpenTracingLayer
} }
type OpenTracingLayerUserStore struct { type OpenTracingLayerUserStore struct {
UserStore store.UserStore
Root *OpenTracingLayer Root *OpenTracingLayer
} }
type OpenTracingLayerUserAccessTokenStore struct { type OpenTracingLayerUserAccessTokenStore struct {
UserAccessTokenStore store.UserAccessTokenStore
Root *OpenTracingLayer Root *OpenTracingLayer
} }
type OpenTracingLayerUserTermsOfServiceStore struct { type OpenTracingLayerUserTermsOfServiceStore struct {
UserTermsOfServiceStore store.UserTermsOfServiceStore
Root *OpenTracingLayer Root *OpenTracingLayer
} }
type OpenTracingLayerWebhookStore struct { type OpenTracingLayerWebhookStore struct {
WebhookStore store.WebhookStore
Root *OpenTracingLayer Root *OpenTracingLayer
} }
@@ -792,7 +793,7 @@ func (s *OpenTracingLayerChannelStore) GetAllChannelMembersNotifyPropsForChannel
return resultVar0, resultVar1 return resultVar0, resultVar1
} }
func (s *OpenTracingLayerChannelStore) GetAllChannels(page int, perPage int, opts ChannelSearchOpts) (*model.ChannelListWithTeamData, error) { func (s *OpenTracingLayerChannelStore) GetAllChannels(page int, perPage int, opts store.ChannelSearchOpts) (*model.ChannelListWithTeamData, error) {
origCtx := s.Root.Store.Context() origCtx := s.Root.Store.Context()
span, newCtx := tracing.StartSpanWithParentByContext(s.Root.Store.Context(), "ChannelStore.GetAllChannels") span, newCtx := tracing.StartSpanWithParentByContext(s.Root.Store.Context(), "ChannelStore.GetAllChannels")
s.Root.Store.SetContext(newCtx) s.Root.Store.SetContext(newCtx)
@@ -810,7 +811,7 @@ func (s *OpenTracingLayerChannelStore) GetAllChannels(page int, perPage int, opt
return resultVar0, resultVar1 return resultVar0, resultVar1
} }
func (s *OpenTracingLayerChannelStore) GetAllChannelsCount(opts ChannelSearchOpts) (int64, error) { func (s *OpenTracingLayerChannelStore) GetAllChannelsCount(opts store.ChannelSearchOpts) (int64, error) {
origCtx := s.Root.Store.Context() origCtx := s.Root.Store.Context()
span, newCtx := tracing.StartSpanWithParentByContext(s.Root.Store.Context(), "ChannelStore.GetAllChannelsCount") span, newCtx := tracing.StartSpanWithParentByContext(s.Root.Store.Context(), "ChannelStore.GetAllChannelsCount")
s.Root.Store.SetContext(newCtx) s.Root.Store.SetContext(newCtx)
@@ -1899,7 +1900,7 @@ func (s *OpenTracingLayerChannelStore) SaveMultipleMembers(members []*model.Chan
return resultVar0, resultVar1 return resultVar0, resultVar1
} }
func (s *OpenTracingLayerChannelStore) SearchAllChannels(term string, opts ChannelSearchOpts) (*model.ChannelListWithTeamData, int64, *model.AppError) { func (s *OpenTracingLayerChannelStore) SearchAllChannels(term string, opts store.ChannelSearchOpts) (*model.ChannelListWithTeamData, int64, *model.AppError) {
origCtx := s.Root.Store.Context() origCtx := s.Root.Store.Context()
span, newCtx := tracing.StartSpanWithParentByContext(s.Root.Store.Context(), "ChannelStore.SearchAllChannels") span, newCtx := tracing.StartSpanWithParentByContext(s.Root.Store.Context(), "ChannelStore.SearchAllChannels")
s.Root.Store.SetContext(newCtx) s.Root.Store.SetContext(newCtx)
@@ -8042,7 +8043,7 @@ func (s *OpenTracingLayerUserStore) GetProfileByGroupChannelIdsForUser(userId st
return resultVar0, resultVar1 return resultVar0, resultVar1
} }
func (s *OpenTracingLayerUserStore) GetProfileByIds(userIds []string, options *UserGetByIdsOpts, allowFromCache bool) ([]*model.User, *model.AppError) { func (s *OpenTracingLayerUserStore) GetProfileByIds(userIds []string, options *store.UserGetByIdsOpts, allowFromCache bool) ([]*model.User, *model.AppError) {
origCtx := s.Root.Store.Context() origCtx := s.Root.Store.Context()
span, newCtx := tracing.StartSpanWithParentByContext(s.Root.Store.Context(), "UserStore.GetProfileByIds") span, newCtx := tracing.StartSpanWithParentByContext(s.Root.Store.Context(), "UserStore.GetProfileByIds")
s.Root.Store.SetContext(newCtx) s.Root.Store.SetContext(newCtx)
@@ -9443,7 +9444,7 @@ func (s *OpenTracingLayer) UnlockFromMaster() {
s.Store.UnlockFromMaster() s.Store.UnlockFromMaster()
} }
func NewOpenTracingLayer(childStore Store, ctx context.Context) *OpenTracingLayer { func New(childStore store.Store, ctx context.Context) *OpenTracingLayer {
newStore := OpenTracingLayer{ newStore := OpenTracingLayer{
Store: childStore, Store: childStore,
} }

Просмотреть файл

@@ -4,7 +4,7 @@
// Code generated by "make store-layers" // Code generated by "make store-layers"
// DO NOT EDIT // DO NOT EDIT
package store package timerlayer
import ( import (
"context" "context"
@@ -12,320 +12,321 @@ import (
"github.com/mattermost/mattermost-server/v5/einterfaces" "github.com/mattermost/mattermost-server/v5/einterfaces"
"github.com/mattermost/mattermost-server/v5/model" "github.com/mattermost/mattermost-server/v5/model"
"github.com/mattermost/mattermost-server/v5/store"
) )
type TimerLayer struct { type TimerLayer struct {
Store store.Store
Metrics einterfaces.MetricsInterface Metrics einterfaces.MetricsInterface
AuditStore AuditStore AuditStore store.AuditStore
BotStore BotStore BotStore store.BotStore
ChannelStore ChannelStore ChannelStore store.ChannelStore
ChannelMemberHistoryStore ChannelMemberHistoryStore ChannelMemberHistoryStore store.ChannelMemberHistoryStore
ClusterDiscoveryStore ClusterDiscoveryStore ClusterDiscoveryStore store.ClusterDiscoveryStore
CommandStore CommandStore CommandStore store.CommandStore
CommandWebhookStore CommandWebhookStore CommandWebhookStore store.CommandWebhookStore
ComplianceStore ComplianceStore ComplianceStore store.ComplianceStore
EmojiStore EmojiStore EmojiStore store.EmojiStore
FileInfoStore FileInfoStore FileInfoStore store.FileInfoStore
GroupStore GroupStore GroupStore store.GroupStore
JobStore JobStore JobStore store.JobStore
LicenseStore LicenseStore LicenseStore store.LicenseStore
LinkMetadataStore LinkMetadataStore LinkMetadataStore store.LinkMetadataStore
OAuthStore OAuthStore OAuthStore store.OAuthStore
PluginStore PluginStore PluginStore store.PluginStore
PostStore PostStore PostStore store.PostStore
PreferenceStore PreferenceStore PreferenceStore store.PreferenceStore
ReactionStore ReactionStore ReactionStore store.ReactionStore
RoleStore RoleStore RoleStore store.RoleStore
SchemeStore SchemeStore SchemeStore store.SchemeStore
SessionStore SessionStore SessionStore store.SessionStore
StatusStore StatusStore StatusStore store.StatusStore
SystemStore SystemStore SystemStore store.SystemStore
TeamStore TeamStore TeamStore store.TeamStore
TermsOfServiceStore TermsOfServiceStore TermsOfServiceStore store.TermsOfServiceStore
TokenStore TokenStore TokenStore store.TokenStore
UserStore UserStore UserStore store.UserStore
UserAccessTokenStore UserAccessTokenStore UserAccessTokenStore store.UserAccessTokenStore
UserTermsOfServiceStore UserTermsOfServiceStore UserTermsOfServiceStore store.UserTermsOfServiceStore
WebhookStore WebhookStore WebhookStore store.WebhookStore
} }
func (s *TimerLayer) Audit() AuditStore { func (s *TimerLayer) Audit() store.AuditStore {
return s.AuditStore return s.AuditStore
} }
func (s *TimerLayer) Bot() BotStore { func (s *TimerLayer) Bot() store.BotStore {
return s.BotStore return s.BotStore
} }
func (s *TimerLayer) Channel() ChannelStore { func (s *TimerLayer) Channel() store.ChannelStore {
return s.ChannelStore return s.ChannelStore
} }
func (s *TimerLayer) ChannelMemberHistory() ChannelMemberHistoryStore { func (s *TimerLayer) ChannelMemberHistory() store.ChannelMemberHistoryStore {
return s.ChannelMemberHistoryStore return s.ChannelMemberHistoryStore
} }
func (s *TimerLayer) ClusterDiscovery() ClusterDiscoveryStore { func (s *TimerLayer) ClusterDiscovery() store.ClusterDiscoveryStore {
return s.ClusterDiscoveryStore return s.ClusterDiscoveryStore
} }
func (s *TimerLayer) Command() CommandStore { func (s *TimerLayer) Command() store.CommandStore {
return s.CommandStore return s.CommandStore
} }
func (s *TimerLayer) CommandWebhook() CommandWebhookStore { func (s *TimerLayer) CommandWebhook() store.CommandWebhookStore {
return s.CommandWebhookStore return s.CommandWebhookStore
} }
func (s *TimerLayer) Compliance() ComplianceStore { func (s *TimerLayer) Compliance() store.ComplianceStore {
return s.ComplianceStore return s.ComplianceStore
} }
func (s *TimerLayer) Emoji() EmojiStore { func (s *TimerLayer) Emoji() store.EmojiStore {
return s.EmojiStore return s.EmojiStore
} }
func (s *TimerLayer) FileInfo() FileInfoStore { func (s *TimerLayer) FileInfo() store.FileInfoStore {
return s.FileInfoStore return s.FileInfoStore
} }
func (s *TimerLayer) Group() GroupStore { func (s *TimerLayer) Group() store.GroupStore {
return s.GroupStore return s.GroupStore
} }
func (s *TimerLayer) Job() JobStore { func (s *TimerLayer) Job() store.JobStore {
return s.JobStore return s.JobStore
} }
func (s *TimerLayer) License() LicenseStore { func (s *TimerLayer) License() store.LicenseStore {
return s.LicenseStore return s.LicenseStore
} }
func (s *TimerLayer) LinkMetadata() LinkMetadataStore { func (s *TimerLayer) LinkMetadata() store.LinkMetadataStore {
return s.LinkMetadataStore return s.LinkMetadataStore
} }
func (s *TimerLayer) OAuth() OAuthStore { func (s *TimerLayer) OAuth() store.OAuthStore {
return s.OAuthStore return s.OAuthStore
} }
func (s *TimerLayer) Plugin() PluginStore { func (s *TimerLayer) Plugin() store.PluginStore {
return s.PluginStore return s.PluginStore
} }
func (s *TimerLayer) Post() PostStore { func (s *TimerLayer) Post() store.PostStore {
return s.PostStore return s.PostStore
} }
func (s *TimerLayer) Preference() PreferenceStore { func (s *TimerLayer) Preference() store.PreferenceStore {
return s.PreferenceStore return s.PreferenceStore
} }
func (s *TimerLayer) Reaction() ReactionStore { func (s *TimerLayer) Reaction() store.ReactionStore {
return s.ReactionStore return s.ReactionStore
} }
func (s *TimerLayer) Role() RoleStore { func (s *TimerLayer) Role() store.RoleStore {
return s.RoleStore return s.RoleStore
} }
func (s *TimerLayer) Scheme() SchemeStore { func (s *TimerLayer) Scheme() store.SchemeStore {
return s.SchemeStore return s.SchemeStore
} }
func (s *TimerLayer) Session() SessionStore { func (s *TimerLayer) Session() store.SessionStore {
return s.SessionStore return s.SessionStore
} }
func (s *TimerLayer) Status() StatusStore { func (s *TimerLayer) Status() store.StatusStore {
return s.StatusStore return s.StatusStore
} }
func (s *TimerLayer) System() SystemStore { func (s *TimerLayer) System() store.SystemStore {
return s.SystemStore return s.SystemStore
} }
func (s *TimerLayer) Team() TeamStore { func (s *TimerLayer) Team() store.TeamStore {
return s.TeamStore return s.TeamStore
} }
func (s *TimerLayer) TermsOfService() TermsOfServiceStore { func (s *TimerLayer) TermsOfService() store.TermsOfServiceStore {
return s.TermsOfServiceStore return s.TermsOfServiceStore
} }
func (s *TimerLayer) Token() TokenStore { func (s *TimerLayer) Token() store.TokenStore {
return s.TokenStore return s.TokenStore
} }
func (s *TimerLayer) User() UserStore { func (s *TimerLayer) User() store.UserStore {
return s.UserStore return s.UserStore
} }
func (s *TimerLayer) UserAccessToken() UserAccessTokenStore { func (s *TimerLayer) UserAccessToken() store.UserAccessTokenStore {
return s.UserAccessTokenStore return s.UserAccessTokenStore
} }
func (s *TimerLayer) UserTermsOfService() UserTermsOfServiceStore { func (s *TimerLayer) UserTermsOfService() store.UserTermsOfServiceStore {
return s.UserTermsOfServiceStore return s.UserTermsOfServiceStore
} }
func (s *TimerLayer) Webhook() WebhookStore { func (s *TimerLayer) Webhook() store.WebhookStore {
return s.WebhookStore return s.WebhookStore
} }
type TimerLayerAuditStore struct { type TimerLayerAuditStore struct {
AuditStore store.AuditStore
Root *TimerLayer Root *TimerLayer
} }
type TimerLayerBotStore struct { type TimerLayerBotStore struct {
BotStore store.BotStore
Root *TimerLayer Root *TimerLayer
} }
type TimerLayerChannelStore struct { type TimerLayerChannelStore struct {
ChannelStore store.ChannelStore
Root *TimerLayer Root *TimerLayer
} }
type TimerLayerChannelMemberHistoryStore struct { type TimerLayerChannelMemberHistoryStore struct {
ChannelMemberHistoryStore store.ChannelMemberHistoryStore
Root *TimerLayer Root *TimerLayer
} }
type TimerLayerClusterDiscoveryStore struct { type TimerLayerClusterDiscoveryStore struct {
ClusterDiscoveryStore store.ClusterDiscoveryStore
Root *TimerLayer Root *TimerLayer
} }
type TimerLayerCommandStore struct { type TimerLayerCommandStore struct {
CommandStore store.CommandStore
Root *TimerLayer Root *TimerLayer
} }
type TimerLayerCommandWebhookStore struct { type TimerLayerCommandWebhookStore struct {
CommandWebhookStore store.CommandWebhookStore
Root *TimerLayer Root *TimerLayer
} }
type TimerLayerComplianceStore struct { type TimerLayerComplianceStore struct {
ComplianceStore store.ComplianceStore
Root *TimerLayer Root *TimerLayer
} }
type TimerLayerEmojiStore struct { type TimerLayerEmojiStore struct {
EmojiStore store.EmojiStore
Root *TimerLayer Root *TimerLayer
} }
type TimerLayerFileInfoStore struct { type TimerLayerFileInfoStore struct {
FileInfoStore store.FileInfoStore
Root *TimerLayer Root *TimerLayer
} }
type TimerLayerGroupStore struct { type TimerLayerGroupStore struct {
GroupStore store.GroupStore
Root *TimerLayer Root *TimerLayer
} }
type TimerLayerJobStore struct { type TimerLayerJobStore struct {
JobStore store.JobStore
Root *TimerLayer Root *TimerLayer
} }
type TimerLayerLicenseStore struct { type TimerLayerLicenseStore struct {
LicenseStore store.LicenseStore
Root *TimerLayer Root *TimerLayer
} }
type TimerLayerLinkMetadataStore struct { type TimerLayerLinkMetadataStore struct {
LinkMetadataStore store.LinkMetadataStore
Root *TimerLayer Root *TimerLayer
} }
type TimerLayerOAuthStore struct { type TimerLayerOAuthStore struct {
OAuthStore store.OAuthStore
Root *TimerLayer Root *TimerLayer
} }
type TimerLayerPluginStore struct { type TimerLayerPluginStore struct {
PluginStore store.PluginStore
Root *TimerLayer Root *TimerLayer
} }
type TimerLayerPostStore struct { type TimerLayerPostStore struct {
PostStore store.PostStore
Root *TimerLayer Root *TimerLayer
} }
type TimerLayerPreferenceStore struct { type TimerLayerPreferenceStore struct {
PreferenceStore store.PreferenceStore
Root *TimerLayer Root *TimerLayer
} }
type TimerLayerReactionStore struct { type TimerLayerReactionStore struct {
ReactionStore store.ReactionStore
Root *TimerLayer Root *TimerLayer
} }
type TimerLayerRoleStore struct { type TimerLayerRoleStore struct {
RoleStore store.RoleStore
Root *TimerLayer Root *TimerLayer
} }
type TimerLayerSchemeStore struct { type TimerLayerSchemeStore struct {
SchemeStore store.SchemeStore
Root *TimerLayer Root *TimerLayer
} }
type TimerLayerSessionStore struct { type TimerLayerSessionStore struct {
SessionStore store.SessionStore
Root *TimerLayer Root *TimerLayer
} }
type TimerLayerStatusStore struct { type TimerLayerStatusStore struct {
StatusStore store.StatusStore
Root *TimerLayer Root *TimerLayer
} }
type TimerLayerSystemStore struct { type TimerLayerSystemStore struct {
SystemStore store.SystemStore
Root *TimerLayer Root *TimerLayer
} }
type TimerLayerTeamStore struct { type TimerLayerTeamStore struct {
TeamStore store.TeamStore
Root *TimerLayer Root *TimerLayer
} }
type TimerLayerTermsOfServiceStore struct { type TimerLayerTermsOfServiceStore struct {
TermsOfServiceStore store.TermsOfServiceStore
Root *TimerLayer Root *TimerLayer
} }
type TimerLayerTokenStore struct { type TimerLayerTokenStore struct {
TokenStore store.TokenStore
Root *TimerLayer Root *TimerLayer
} }
type TimerLayerUserStore struct { type TimerLayerUserStore struct {
UserStore store.UserStore
Root *TimerLayer Root *TimerLayer
} }
type TimerLayerUserAccessTokenStore struct { type TimerLayerUserAccessTokenStore struct {
UserAccessTokenStore store.UserAccessTokenStore
Root *TimerLayer Root *TimerLayer
} }
type TimerLayerUserTermsOfServiceStore struct { type TimerLayerUserTermsOfServiceStore struct {
UserTermsOfServiceStore store.UserTermsOfServiceStore
Root *TimerLayer Root *TimerLayer
} }
type TimerLayerWebhookStore struct { type TimerLayerWebhookStore struct {
WebhookStore store.WebhookStore
Root *TimerLayer Root *TimerLayer
} }
@@ -744,7 +745,7 @@ func (s *TimerLayerChannelStore) GetAllChannelMembersNotifyPropsForChannel(chann
return resultVar0, resultVar1 return resultVar0, resultVar1
} }
func (s *TimerLayerChannelStore) GetAllChannels(page int, perPage int, opts ChannelSearchOpts) (*model.ChannelListWithTeamData, error) { func (s *TimerLayerChannelStore) GetAllChannels(page int, perPage int, opts store.ChannelSearchOpts) (*model.ChannelListWithTeamData, error) {
start := timemodule.Now() start := timemodule.Now()
resultVar0, resultVar1 := s.ChannelStore.GetAllChannels(page, perPage, opts) resultVar0, resultVar1 := s.ChannelStore.GetAllChannels(page, perPage, opts)
@@ -760,7 +761,7 @@ func (s *TimerLayerChannelStore) GetAllChannels(page int, perPage int, opts Chan
return resultVar0, resultVar1 return resultVar0, resultVar1
} }
func (s *TimerLayerChannelStore) GetAllChannelsCount(opts ChannelSearchOpts) (int64, error) { func (s *TimerLayerChannelStore) GetAllChannelsCount(opts store.ChannelSearchOpts) (int64, error) {
start := timemodule.Now() start := timemodule.Now()
resultVar0, resultVar1 := s.ChannelStore.GetAllChannelsCount(opts) resultVar0, resultVar1 := s.ChannelStore.GetAllChannelsCount(opts)
@@ -1761,7 +1762,7 @@ func (s *TimerLayerChannelStore) SaveMultipleMembers(members []*model.ChannelMem
return resultVar0, resultVar1 return resultVar0, resultVar1
} }
func (s *TimerLayerChannelStore) SearchAllChannels(term string, opts ChannelSearchOpts) (*model.ChannelListWithTeamData, int64, *model.AppError) { func (s *TimerLayerChannelStore) SearchAllChannels(term string, opts store.ChannelSearchOpts) (*model.ChannelListWithTeamData, int64, *model.AppError) {
start := timemodule.Now() start := timemodule.Now()
resultVar0, resultVar1, resultVar2 := s.ChannelStore.SearchAllChannels(term, opts) resultVar0, resultVar1, resultVar2 := s.ChannelStore.SearchAllChannels(term, opts)
@@ -7271,7 +7272,7 @@ func (s *TimerLayerUserStore) GetProfileByGroupChannelIdsForUser(userId string,
return resultVar0, resultVar1 return resultVar0, resultVar1
} }
func (s *TimerLayerUserStore) GetProfileByIds(userIds []string, options *UserGetByIdsOpts, allowFromCache bool) ([]*model.User, *model.AppError) { func (s *TimerLayerUserStore) GetProfileByIds(userIds []string, options *store.UserGetByIdsOpts, allowFromCache bool) ([]*model.User, *model.AppError) {
start := timemodule.Now() start := timemodule.Now()
resultVar0, resultVar1 := s.UserStore.GetProfileByIds(userIds, options, allowFromCache) resultVar0, resultVar1 := s.UserStore.GetProfileByIds(userIds, options, allowFromCache)
@@ -8538,7 +8539,7 @@ func (s *TimerLayer) UnlockFromMaster() {
s.Store.UnlockFromMaster() s.Store.UnlockFromMaster()
} }
func NewTimerLayer(childStore Store, metrics einterfaces.MetricsInterface) *TimerLayer { func New(childStore store.Store, metrics einterfaces.MetricsInterface) *TimerLayer {
newStore := TimerLayer{ newStore := TimerLayer{
Store: childStore, Store: childStore,
Metrics: metrics, Metrics: metrics,

Просмотреть файл

@@ -20,7 +20,7 @@ import (
"github.com/mattermost/mattermost-server/v5/mlog" "github.com/mattermost/mattermost-server/v5/mlog"
"github.com/mattermost/mattermost-server/v5/model" "github.com/mattermost/mattermost-server/v5/model"
"github.com/mattermost/mattermost-server/v5/services/tracing" "github.com/mattermost/mattermost-server/v5/services/tracing"
"github.com/mattermost/mattermost-server/v5/store" "github.com/mattermost/mattermost-server/v5/store/opentracinglayer"
"github.com/mattermost/mattermost-server/v5/utils" "github.com/mattermost/mattermost-server/v5/utils"
"github.com/opentracing/opentracing-go" "github.com/opentracing/opentracing-go"
"github.com/opentracing/opentracing-go/ext" "github.com/opentracing/opentracing-go/ext"
@@ -138,7 +138,7 @@ func (h Handler) ServeHTTP(w http.ResponseWriter, r *http.Request) {
tmpSrv := app.Server{} tmpSrv := app.Server{}
tmpSrv = *c.App.Srv() tmpSrv = *c.App.Srv()
tmpSrv.Store = store.NewOpenTracingLayer(c.App.Srv().Store, ctx) tmpSrv.Store = opentracinglayer.New(c.App.Srv().Store, ctx)
c.App.SetServer(&tmpSrv) c.App.SetServer(&tmpSrv)
c.App = app_opentracing.NewOpenTracingAppLayer(c.App, ctx) c.App = app_opentracing.NewOpenTracingAppLayer(c.App, ctx)
} }