From 7e5ce976681e99be6b26d428935ba1106d530efa Mon Sep 17 00:00:00 2001 From: Chris Date: Fri, 12 Jan 2018 08:02:11 -0600 Subject: Remove global cfg vars (#8099) * remove global cfg vars * enterprise update --- jobs/server.go | 32 +++++++++++++++++++++++++------- 1 file changed, 25 insertions(+), 7 deletions(-) (limited to 'jobs/server.go') diff --git a/jobs/server.go b/jobs/server.go index 777b02a26..9a59fad3f 100644 --- a/jobs/server.go +++ b/jobs/server.go @@ -12,11 +12,25 @@ import ( "github.com/mattermost/mattermost-server/utils" ) +type ConfigService interface { + Config() *model.Config + AddConfigListener(func(old, current *model.Config)) string + RemoveConfigListener(string) +} + +type StaticConfigService struct { + Cfg *model.Config +} + +func (s StaticConfigService) Config() *model.Config { return s.Cfg } +func (StaticConfigService) AddConfigListener(func(old, current *model.Config)) string { return "" } +func (StaticConfigService) RemoveConfigListener(string) {} + type JobServer struct { - Config model.ConfigFunc - Store store.Store - Workers *Workers - Schedulers *Schedulers + ConfigService ConfigService + Store store.Store + Workers *Workers + Schedulers *Schedulers DataRetentionJob ejobs.DataRetentionJobInterface MessageExportJob ejobs.MessageExportJobInterface @@ -25,13 +39,17 @@ type JobServer struct { LdapSync ejobs.LdapSyncInterface } -func NewJobServer(config model.ConfigFunc, store store.Store) *JobServer { +func NewJobServer(configService ConfigService, store store.Store) *JobServer { return &JobServer{ - Config: config, - Store: store, + ConfigService: configService, + Store: store, } } +func (srv *JobServer) Config() *model.Config { + return srv.ConfigService.Config() +} + func (srv *JobServer) LoadLicense() { licenseId := "" if result := <-srv.Store.System().Get(); result.Err == nil { -- cgit v1.2.3-1-g7c22