diff --git a/app/migrations.go b/app/migrations.go index 70c11b75fc..88e3810154 100644 --- a/app/migrations.go +++ b/app/migrations.go @@ -20,6 +20,7 @@ const ContentExtractionConfigDefaultTrueMigrationKey = "ContentExtractionConfigD const PlaybookRolesCreationMigrationKey = "PlaybookRolesCreationMigrationComplete" const FirstAdminSetupCompleteKey = model.SystemFirstAdminSetupComplete const remainingSchemaMigrationsKey = "RemainingSchemaMigrations" +const postPriorityConfigDefaultTrueMigrationKey = "PostPriorityConfigDefaultTrueMigrationComplete" // This function migrates the default built in roles from code/config to the database. func (a *App) DoAdvancedPermissionsMigration() { @@ -538,6 +539,26 @@ func (s *Server) doRemainingSchemaMigrations() { } } +func (s *Server) doPostPriorityConfigDefaultTrueMigration() { + // If the migration is already marked as completed, don't do it again. + if _, err := s.Store().System().GetByName(postPriorityConfigDefaultTrueMigrationKey); err == nil { + return + } + + s.platform.UpdateConfig(func(config *model.Config) { + config.ServiceSettings.PostPriority = model.NewBool(true) + }) + + system := model.System{ + Name: postPriorityConfigDefaultTrueMigrationKey, + Value: "true", + } + + if err := s.Store().System().SaveOrUpdate(&system); err != nil { + mlog.Fatal("Failed to mark post priority config migration as completed.", mlog.Err(err)) + } +} + func (a *App) DoAppMigrations() { a.Srv().doAppMigrations() } @@ -558,4 +579,5 @@ func (s *Server) doAppMigrations() { s.doPlaybooksRolesCreationMigration() s.doFirstAdminSetupCompleteMigration() s.doRemainingSchemaMigrations() + s.doPostPriorityConfigDefaultTrueMigration() } diff --git a/testlib/store.go b/testlib/store.go index 9f70dfa8cd..5454945bc1 100644 --- a/testlib/store.go +++ b/testlib/store.go @@ -38,6 +38,7 @@ func GetMockStoreForSetupFunctions() *mocks.Store { systemStore.On("GetByName", "GuestRolesCreationMigrationComplete").Return(&model.System{Name: "GuestRolesCreationMigrationComplete", Value: "true"}, nil) systemStore.On("GetByName", "SystemConsoleRolesCreationMigrationComplete").Return(&model.System{Name: "SystemConsoleRolesCreationMigrationComplete", Value: "true"}, nil) systemStore.On("GetByName", "PlaybookRolesCreationMigrationComplete").Return(&model.System{Name: "PlaybookRolesCreationMigrationComplete", Value: "true"}, nil) + systemStore.On("GetByName", "PostPriorityConfigDefaultTrueMigrationComplete").Return(&model.System{Name: "PostPriorityConfigDefaultTrueMigrationComplete", Value: "true"}, nil) systemStore.On("GetByName", model.MigrationKeyEmojiPermissionsSplit).Return(&model.System{Name: model.MigrationKeyEmojiPermissionsSplit, Value: "true"}, nil) systemStore.On("GetByName", model.MigrationKeyWebhookPermissionsSplit).Return(&model.System{Name: model.MigrationKeyWebhookPermissionsSplit, Value: "true"}, nil) systemStore.On("GetByName", model.MigrationKeyListJoinPublicPrivateTeams).Return(&model.System{Name: model.MigrationKeyListJoinPublicPrivateTeams, Value: "true"}, nil)