fix: improve mongodb legacy connection params

This commit is contained in:
SuLea-IT committed 2026-05-06 13:10:46 +08:00
1 parent 746a4c491a
commit 8c1a75d3d5
4 files changed
+109 -6

No files matched your search

+25 -3
View File
@@ -401,7 +401,7 @@ async function testConnection() {
isTesting.value = true;
testResult.value = null;
try {
const config: ConnectionConfig = { ...form.value, id: editingId.value || uuid() };
const config = connectionConfigForSubmit(editingId.value || uuid());
const msg = await api.testConnection(config);
if (runId !== testRunId) return;
testResult.value = { ok: true, message: msg };
@@ -415,6 +415,14 @@ async function testConnection() {
}
}
function connectionConfigForSubmit(id: string): ConnectionConfig {
const config: ConnectionConfig = { ...form.value, id };
if (config.db_type === "mongodb" && !mongoUseUrl.value) {
config.connection_string = undefined;
}
return config;
}
function resetTestState() {
testRunId += 1;
isTesting.value = false;
@@ -462,11 +470,11 @@ async function save() {
resetTestState();
try {
if (editingId.value) {
const updated: ConnectionConfig = { ...form.value, id: editingId.value };
const updated = connectionConfigForSubmit(editingId.value);
await store.updateConnection(updated);
store.stopEditing();
} else {
const config: ConnectionConfig = { ...form.value, id: uuid() };
const config = connectionConfigForSubmit(uuid());
await store.addConnection(config);
open.value = false;
await nextTick();
@@ -757,6 +765,20 @@ async function browseSshKeyPath() {
:placeholder="t('connection.databasePlaceholder')"
/>
</div>
<div class="grid grid-cols-4 items-center gap-4">
<Label class="text-right">{{ t("connection.urlParams") }}</Label>
<Input
v-model="form.url_params"
class="col-span-3"
placeholder="authSource=admin&authMechanism=SCRAM-SHA-1"
/>
</div>
<div class="grid grid-cols-4 items-start gap-4">
<span />
<p class="col-span-3 text-xs text-muted-foreground">
{{ t("connection.mongoLegacyHint") }}
</p>
</div>
</template>
</template>
+2
View File
@@ -112,6 +112,8 @@ export default {
sshKeyPathBrowse: "Browse",
sshExposeLan: "Expose tunnel to LAN",
dmCompatHint: "Requires DM PG compatibility mode (set COMPATIBLE_MODE=7 in dm.ini and restart)",
mongoLegacyHint:
"MongoDB form connections add directConnection automatically; authenticated connections default to the selected database as auth source (admin when blank) and SCRAM-SHA-1, which you can override here.",
compatible: "Compatible",
mainstream: "Popular",
color: "Color",
+2
View File
@@ -111,6 +111,8 @@ export default {
sshKeyPathBrowse: "浏览",
sshExposeLan: "允许局域网访问隧道",
dmCompatHint: "需要开启达梦 PG 兼容模式(dm.ini 中设置 COMPATIBLE_MODE=7 并重启服务)",
mongoLegacyHint:
"MongoDB 表单连接会自动补充 directConnection;带用户名时默认使用当前数据库认证源(留空为 admin)和 SCRAM-SHA-1,可在此覆盖。",
compatible: "兼容",
mainstream: "主流",
color: "颜色",