@@ -21,12 +21,18 @@ export class ConnectClusterTool extends AtlasToolBase {
21
21
clusterName : z . string ( ) . describe ( "Atlas cluster name" ) ,
22
22
} ;
23
23
24
- private async queryConnection ( projectId : string , clusterName : string ) : Promise < "connected" | "disconnected" | "connecting" | "connected-to-other-cluster" > {
24
+ private async queryConnection (
25
+ projectId : string ,
26
+ clusterName : string
27
+ ) : Promise < "connected" | "disconnected" | "connecting" | "connected-to-other-cluster" > {
25
28
if ( ! this . session . connectedAtlasCluster ) {
26
29
return "disconnected" ;
27
30
}
28
31
29
- if ( this . session . connectedAtlasCluster . projectId !== projectId || this . session . connectedAtlasCluster . clusterName !== clusterName ) {
32
+ if (
33
+ this . session . connectedAtlasCluster . projectId !== projectId ||
34
+ this . session . connectedAtlasCluster . clusterName !== clusterName
35
+ ) {
30
36
return "connected-to-other-cluster" ;
31
37
}
32
38
@@ -40,7 +46,7 @@ export class ConnectClusterTool extends AtlasToolBase {
40
46
return "connected" ;
41
47
}
42
48
43
- private async prepareClusterConnection ( projectId : string , clusterName : string ) : Promise < string > {
49
+ private async prepareClusterConnection ( projectId : string , clusterName : string ) : Promise < string > {
44
50
await this . session . disconnect ( ) ;
45
51
46
52
const cluster = await inspectCluster ( this . session . apiClient , projectId , clusterName ) ;
@@ -109,7 +115,8 @@ export class ConnectClusterTool extends AtlasToolBase {
109
115
private async connectToCluster ( connectionString : string ) : Promise < void > {
110
116
let lastError : Error | undefined = undefined ;
111
117
112
- for ( let i = 0 ; i < 600 ; i ++ ) { // try for 5 minutes
118
+ for ( let i = 0 ; i < 600 ; i ++ ) {
119
+ // try for 5 minutes
113
120
try {
114
121
await this . session . connectToMongoDB ( connectionString , this . config . connectOptions ) ;
115
122
lastError = undefined ;
@@ -128,29 +135,31 @@ export class ConnectClusterTool extends AtlasToolBase {
128
135
await sleep ( 500 ) ; // wait for 500ms before retrying
129
136
}
130
137
}
131
-
138
+
132
139
if ( lastError ) {
133
- void this . session . apiClient . deleteDatabaseUser ( {
134
- params : {
135
- path : {
136
- groupId : this . session . connectedAtlasCluster ?. projectId || "" ,
137
- username : this . session . connectedAtlasCluster ?. username || "" ,
138
- databaseName : "admin" ,
140
+ void this . session . apiClient
141
+ . deleteDatabaseUser ( {
142
+ params : {
143
+ path : {
144
+ groupId : this . session . connectedAtlasCluster ?. projectId || "" ,
145
+ username : this . session . connectedAtlasCluster ?. username || "" ,
146
+ databaseName : "admin" ,
147
+ } ,
139
148
} ,
140
- } ,
141
- } ) . catch ( ( err : unknown ) => {
142
- const error = err instanceof Error ? err : new Error ( String ( err ) ) ;
143
- logger . debug (
144
- LogId . atlasConnectFailure ,
145
- "atlas-connect-cluster" ,
146
- `error deleting database user: ${ error . message } `
147
- ) ;
148
- } ) ;
149
+ } )
150
+ . catch ( ( err : unknown ) => {
151
+ const error = err instanceof Error ? err : new Error ( String ( err ) ) ;
152
+ logger . debug (
153
+ LogId . atlasConnectFailure ,
154
+ "atlas-connect-cluster" ,
155
+ `error deleting database user: ${ error . message } `
156
+ ) ;
157
+ } ) ;
149
158
this . session . connectedAtlasCluster = undefined ;
150
159
throw lastError ;
151
160
}
152
161
}
153
-
162
+
154
163
protected async execute ( { projectId, clusterName } : ToolArgs < typeof this . argsShape > ) : Promise < CallToolResult > {
155
164
try {
156
165
const state = await this . queryConnection ( projectId , clusterName ) ;
0 commit comments