diff --git a/webapp/packages/core-app/src/shared/NodesManager/ConnectionDialogsService.ts b/webapp/packages/core-app/src/shared/NodesManager/ConnectionDialogsService.ts index 4aa637ab9f..7304623f6b 100644 --- a/webapp/packages/core-app/src/shared/NodesManager/ConnectionDialogsService.ts +++ b/webapp/packages/core-app/src/shared/NodesManager/ConnectionDialogsService.ts @@ -73,7 +73,7 @@ export class ConnectionDialogsService { const connection = this.connectionInfoResource.get(connectionId); return !context.data.objectFeatures.includes(EObjectFeature.dataSource) || - !connection?.features.includes(EConnectionFeature.temporary); + !connection?.features.includes(EConnectionFeature.manageable); }, title: 'ui_delete', onClick: (context: IMenuContext) => { diff --git a/webapp/packages/core-connections/src/ConnectionsManagerService.ts b/webapp/packages/core-connections/src/ConnectionsManagerService.ts index 48184d2187..98d66fef81 100644 --- a/webapp/packages/core-connections/src/ConnectionsManagerService.ts +++ b/webapp/packages/core-connections/src/ConnectionsManagerService.ts @@ -73,9 +73,9 @@ export class ConnectionsManagerService { } async deleteConnection(id: string) { - const connection = this.connectionInfo.get(id); + const connection = await this.connectionInfo.load(id); - if (!connection?.features.includes(EConnectionFeature.temporary)) { + if (!connection.features.includes(EConnectionFeature.manageable)) { return; } diff --git a/webapp/packages/core-connections/src/EConnectionFeature.ts b/webapp/packages/core-connections/src/EConnectionFeature.ts index 0d30c55f25..a0654dba4b 100644 --- a/webapp/packages/core-connections/src/EConnectionFeature.ts +++ b/webapp/packages/core-connections/src/EConnectionFeature.ts @@ -11,5 +11,6 @@ export enum EConnectionFeature { virtual = 'virtual', temporary = 'temporary', readOnly = 'readOnly', - provided = 'provided' + provided = 'provided', + manageable = 'manageable' }