From bca90199f199769fab71abc3dca0664ce4f48e0d Mon Sep 17 00:00:00 2001 From: devlikepro Date: Mon, 13 Apr 2026 13:38:42 +0700 Subject: [PATCH] [core] Apps - allow app to be disabled when app disabled in runtime --- src/apps/app_sdk/services/AppsEnabledService.ts | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/apps/app_sdk/services/AppsEnabledService.ts b/src/apps/app_sdk/services/AppsEnabledService.ts index d1322239..06359d29 100644 --- a/src/apps/app_sdk/services/AppsEnabledService.ts +++ b/src/apps/app_sdk/services/AppsEnabledService.ts @@ -90,10 +90,10 @@ export class AppsEnabledService implements IAppsService { } const service = this.getAppService(app); - if (!service && !AppRuntimeConfig.HasApp(app.app)) { + if (app.enabled && !service && !AppRuntimeConfig.HasApp(app.app)) { throw new AppDisableError(app.app); } - service.validate(app); + service?.validate(app); // Only run beforeCreated when app is enabled (default true if omitted) if (app.enabled !== false) { await service.beforeCreated(app); @@ -147,21 +147,21 @@ export class AppsEnabledService implements IAppsService { } const service = this.getAppService(app); - if (!service && !AppRuntimeConfig.HasApp(app.app)) { + if (app.enabled && !service && !AppRuntimeConfig.HasApp(app.app)) { throw new AppDisableError(app.app); } - service.validate(app); + service?.validate(app); const hasEnabledChange = savedApp.enabled !== app.enabled; if (hasEnabledChange) { if (app.enabled) { - await service.beforeEnabled(savedApp, app); + await service?.beforeEnabled(savedApp, app); } else { - await service.beforeDisabled(savedApp, app); + await service?.beforeDisabled(savedApp, app); } } else { - await service.beforeUpdated(savedApp, app); + await service?.beforeUpdated(savedApp, app); } await repo.update(app.id, app); const updated = await repo.getById(app.id);