diff options
Diffstat (limited to 'jobs/server.go')
-rw-r--r-- | jobs/server.go | 32 |
1 files changed, 25 insertions, 7 deletions
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 { |