diff --git a/packages/api/src/controllers/databaseConnections.js b/packages/api/src/controllers/databaseConnections.js index 0de25bb06..984d00385 100644 --- a/packages/api/src/controllers/databaseConnections.js +++ b/packages/api/src/controllers/databaseConnections.js @@ -401,6 +401,10 @@ module.exports = { structure_meta: true, async structure({ conid, database, modelTransFile = null }, req) { + if (!conid || !database) { + return null; + } + testConnectionPermission(conid, req); if (conid == '__model') { const model = await importDbModel(database); diff --git a/packages/web/src/appobj/ArchiveFolderAppObject.svelte b/packages/web/src/appobj/ArchiveFolderAppObject.svelte index 27ee13d42..dbd0ede98 100644 --- a/packages/web/src/appobj/ArchiveFolderAppObject.svelte +++ b/packages/web/src/appobj/ArchiveFolderAppObject.svelte @@ -97,6 +97,10 @@ await dbgateApi.deployDb(${JSON.stringify( title: 'Compare', icon: 'img compare', tabComponent: 'CompareModelTab', + props: { + conid: $currentDatabase?.connection?._id, + database: $currentDatabase?.name, + } }, { editor: { diff --git a/packages/web/src/appobj/DatabaseAppObject.svelte b/packages/web/src/appobj/DatabaseAppObject.svelte index dec53e73a..277f3d2a3 100644 --- a/packages/web/src/appobj/DatabaseAppObject.svelte +++ b/packages/web/src/appobj/DatabaseAppObject.svelte @@ -196,13 +196,17 @@ title: 'Compare', icon: 'img compare', tabComponent: 'CompareModelTab', + props: { + conid: $currentDatabase?.connection?._id, + database: $currentDatabase?.name, + }, }, { editor: { - sourceConid: _.get($currentDatabase, 'connection._id'), - sourceDatabase: _.get($currentDatabase, 'name'), - targetConid: _.get(connection, '_id'), - targetDatabase: name, + sourceConid: connection?._id, + sourceDatabase: name, + targetConid: $currentDatabase?.connection?._id, + targetDatabase: $currentDatabase?.name, }, } ); diff --git a/packages/web/src/utility/connectionsPinger.js b/packages/web/src/utility/connectionsPinger.js index c921082c1..4fa34971d 100644 --- a/packages/web/src/utility/connectionsPinger.js +++ b/packages/web/src/utility/connectionsPinger.js @@ -22,7 +22,7 @@ const doServerPing = value => { } apiCall('server-connections/ping', { - conidArray, + conidArray: _.compact(conidArray), strmid, }); };