diff --git a/pkg/provision/apps.go b/pkg/provision/apps.go new file mode 100644 index 000000000..3e9ee677e --- /dev/null +++ b/pkg/provision/apps.go @@ -0,0 +1,30 @@ +package provision + +import ( + "context" + "time" + + "github.com/cortezaproject/corteza-server/store" + "github.com/cortezaproject/corteza-server/system/types" +) + +func apps(ctx context.Context, s store.Storer) error { + var ( + v202103 = time.Date(2021, 4, 31, 0, 0, 0, 0, time.UTC) + ) + + set, _, err := store.SearchApplications(ctx, s, types.ApplicationFilter{}) + if err != nil { + return err + } + + return set.Walk(func(app *types.Application) (err error) { + if app.Unify.Url == "/messaging" && (app.UpdatedAt == nil || app.UpdatedAt.Before(v202103)) { + // Disable messaging app but only if it was not updated after 21.3 release date + app.Enabled = false + err = store.UpdateApplication(ctx, s, app) + } + + return err + }) +} diff --git a/pkg/provision/provision.go b/pkg/provision/provision.go index 2d3a3bdaa..ddd7f534e 100644 --- a/pkg/provision/provision.go +++ b/pkg/provision/provision.go @@ -18,6 +18,7 @@ import ( func Run(ctx context.Context, log *zap.Logger, s store.Storer, provisionOpt options.ProvisionOpt, authOpt options.AuthOpt) error { ffn := []func() error{ func() error { return roles(ctx, s) }, + func() error { return apps(ctx, s) }, func() error { return importConfig(ctx, log, s, provisionOpt.Path) }, func() error { return authSettingsAutoDiscovery(ctx, log, service.DefaultSettings) }, func() error { return authAddExternals(ctx, log) },