From d24670e14eef7391ed264a707ba84c3bbbb66c1e Mon Sep 17 00:00:00 2001 From: "SPRINX0\\prochazka" Date: Fri, 25 Jul 2025 08:22:30 +0200 Subject: [PATCH] SYNC: chat & chart permission --- packages/web/src/appobj/DatabaseAppObject.svelte | 3 ++- packages/web/src/commands/stdCommands.ts | 3 ++- packages/web/src/datagrid/DataGridCore.svelte | 2 ++ packages/web/src/tabs/QueryTab.svelte | 5 +++-- 4 files changed, 9 insertions(+), 4 deletions(-) diff --git a/packages/web/src/appobj/DatabaseAppObject.svelte b/packages/web/src/appobj/DatabaseAppObject.svelte index 6233e5734..e307d6970 100644 --- a/packages/web/src/appobj/DatabaseAppObject.svelte +++ b/packages/web/src/appobj/DatabaseAppObject.svelte @@ -511,7 +511,8 @@ await dbgateApi.executeQuery(${JSON.stringify( text: _t('database.exportDbModel', { defaultMessage: 'Export DB model' }), }, isProApp() && - driver?.databaseEngineTypes?.includes('sql') && { + driver?.databaseEngineTypes?.includes('sql') && + hasPermission('dbops/chat') && { onClick: handleDatabaseChat, text: _t('database.databaseChat', { defaultMessage: 'Database chat' }), }, diff --git a/packages/web/src/commands/stdCommands.ts b/packages/web/src/commands/stdCommands.ts index e37bd9b1a..c61029a7d 100644 --- a/packages/web/src/commands/stdCommands.ts +++ b/packages/web/src/commands/stdCommands.ts @@ -723,7 +723,8 @@ if (isProApp()) { icon: 'icon ai', testEnabled: () => getCurrentDatabase() != null && - findEngineDriver(getCurrentDatabase()?.connection, getExtensions())?.databaseEngineTypes?.includes('sql'), + findEngineDriver(getCurrentDatabase()?.connection, getExtensions())?.databaseEngineTypes?.includes('sql') && + hasPermission('dbops/chat'), onClick: () => { openNewTab({ title: 'Chat', diff --git a/packages/web/src/datagrid/DataGridCore.svelte b/packages/web/src/datagrid/DataGridCore.svelte index d2f772e4a..9e898a46c 100644 --- a/packages/web/src/datagrid/DataGridCore.svelte +++ b/packages/web/src/datagrid/DataGridCore.svelte @@ -424,6 +424,7 @@ import { _t } from '../translations'; import { isProApp } from '../utility/proTools'; import SaveArchiveModal from '../modals/SaveArchiveModal.svelte'; + import hasPermission from '../utility/hasPermission'; export let onLoadNextData = undefined; export let grider = undefined; @@ -1848,6 +1849,7 @@ // }, isProApp() && { command: 'dataGrid.sendToDataDeploy' }, isProApp() && + hasPermission('dbops/charts') && onOpenChart && { text: 'Open chart', onClick: () => onOpenChart(), diff --git a/packages/web/src/tabs/QueryTab.svelte b/packages/web/src/tabs/QueryTab.svelte index a2102fa72..41fc77599 100644 --- a/packages/web/src/tabs/QueryTab.svelte +++ b/packages/web/src/tabs/QueryTab.svelte @@ -154,6 +154,7 @@ import RowsLimitModal from '../modals/RowsLimitModal.svelte'; import _ from 'lodash'; import FontIcon from '../icons/FontIcon.svelte'; + import hasPermission from '../utility/hasPermission'; export let tabid; export let conid; @@ -794,7 +795,7 @@ hideDisabled /> - {#if isProApp() && visibleResultTabs && !busy} + {#if isProApp() && visibleResultTabs && !busy && hasPermission('dbops/charts')} {/if} - {#if isProApp() && !visibleResultTabs} + {#if isProApp() && !visibleResultTabs && hasPermission('dbops/charts')}