From 9505342948a52b095ec60e50d267bf13d7278146 Mon Sep 17 00:00:00 2001 From: Nikola Irinchev Date: Thu, 10 Apr 2025 18:53:09 +0200 Subject: [PATCH] Add config option for connection string --- src/config.ts | 3 ++- src/tools/mongodb/connect.ts | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/config.ts b/src/config.ts index 0357101c..63bba69d 100644 --- a/src/config.ts +++ b/src/config.ts @@ -8,10 +8,11 @@ const { localDataPath, configPath } = getLocalDataPath(); // If we decide to support non-string config options, we'll need to extend the mechanism for parsing // env variables. -interface UserConfig extends Record { +interface UserConfig extends Record { apiBaseUrl: string; clientId: string; stateFile: string; + connectionString?: string; } const defaults: UserConfig = { diff --git a/src/tools/mongodb/connect.ts b/src/tools/mongodb/connect.ts index 397d4552..37570226 100644 --- a/src/tools/mongodb/connect.ts +++ b/src/tools/mongodb/connect.ts @@ -5,6 +5,7 @@ import { DbOperationType, MongoDBToolBase } from "./mongodbTool.js"; import { ToolArgs } from "../tool.js"; import { ErrorCodes, MongoDBError } from "../../errors.js"; import { saveState } from "../../state.js"; +import config from "../../config.js"; export class ConnectTool extends MongoDBToolBase { protected name = "connect"; @@ -21,7 +22,7 @@ export class ConnectTool extends MongoDBToolBase { protected async execute({ connectionStringOrClusterName, }: ToolArgs): Promise { - connectionStringOrClusterName ??= this.state.connectionString; + connectionStringOrClusterName ??= config.connectionString || this.state.connectionString; if (!connectionStringOrClusterName) { return { content: [