11import { LogId } from "../logger.js" ;
2- import { ApiClient } from "./apiClient.js" ;
2+ import type { ApiClient } from "./apiClient.js" ;
33import { getProcessIdFromCluster } from "./cluster.js" ;
44
55export enum PerformanceAdvisorOperation {
@@ -105,17 +105,14 @@ export async function getSuggestedIndexes(
105105 } ,
106106 } ,
107107 } ) ;
108- if ( ! response ?. suggestedIndexes ?. length ) {
109- throw new Error ( "No suggested indexes found." ) ;
110- }
111- return { suggestedIndexes : response . suggestedIndexes } ;
108+ return { suggestedIndexes : response ?. content ?. suggestedIndexes ?? [ ] } ;
112109 } catch ( err ) {
113110 apiClient . logger . debug ( {
114111 id : LogId . atlasPaSuggestedIndexesFailure ,
115112 context : "performanceAdvisorUtils" ,
116113 message : `Failed to list suggested indexes: ${ err instanceof Error ? err . message : String ( err ) } ` ,
117114 } ) ;
118- throw new Error ( `Failed to list suggested indexes. ` ) ;
115+ throw new Error ( `Failed to list suggested indexes: ${ err instanceof Error ? err . message : String ( err ) } ` ) ;
119116 }
120117}
121118
@@ -137,25 +134,18 @@ export async function getDropIndexSuggestions(
137134 } ,
138135 } ,
139136 } ) ;
140- if (
141- ! response ?. hiddenIndexes ?. length &&
142- ! response ?. redundantIndexes ?. length &&
143- ! response ?. unusedIndexes ?. length
144- ) {
145- throw new Error ( "No drop index suggestions found." ) ;
146- }
147137 return {
148- hiddenIndexes : response ?. hiddenIndexes ?? [ ] ,
149- redundantIndexes : response ?. redundantIndexes ?? [ ] ,
150- unusedIndexes : response ?. unusedIndexes ?? [ ] ,
138+ hiddenIndexes : response ?. content ?. hiddenIndexes ?? [ ] ,
139+ redundantIndexes : response ?. content ?. redundantIndexes ?? [ ] ,
140+ unusedIndexes : response ?. content ?. unusedIndexes ?? [ ] ,
151141 } ;
152142 } catch ( err ) {
153143 apiClient . logger . debug ( {
154144 id : LogId . atlasPaDropIndexSuggestionsFailure ,
155145 context : "performanceAdvisorUtils" ,
156146 message : `Failed to list drop index suggestions: ${ err instanceof Error ? err . message : String ( err ) } ` ,
157147 } ) ;
158- throw new Error ( `Failed to list drop index suggestions. ` ) ;
148+ throw new Error ( `Failed to list drop index suggestions: ${ err instanceof Error ? err . message : String ( err ) } ` ) ;
159149 }
160150}
161151
@@ -173,17 +163,14 @@ export async function getSchemaAdvice(
173163 } ,
174164 } ,
175165 } ) ;
176- if ( ! response ?. recommendations ?. length ) {
177- throw new Error ( "No schema advice found." ) ;
178- }
179- return { recommendations : response . recommendations } ;
166+ return { recommendations : response ?. content ?. recommendations ?? [ ] } ;
180167 } catch ( err ) {
181168 apiClient . logger . debug ( {
182169 id : LogId . atlasPaSchemaAdviceFailure ,
183170 context : "performanceAdvisorUtils" ,
184171 message : `Failed to list schema advice: ${ err instanceof Error ? err . message : String ( err ) } ` ,
185172 } ) ;
186- throw new Error ( `Failed to list schema advice. ` ) ;
173+ throw new Error ( `Failed to list schema advice: ${ err instanceof Error ? err . message : String ( err ) } ` ) ;
187174 }
188175}
189176
@@ -213,16 +200,13 @@ export async function getSlowQueries(
213200 } ,
214201 } ) ;
215202
216- if ( ! response ?. slowQueries ?. length ) {
217- throw new Error ( "No slow query logs found." ) ;
218- }
219- return { slowQueryLogs : response . slowQueries } ;
203+ return { slowQueryLogs : response ?. content ?. slowQueries ?? [ ] } ;
220204 } catch ( err ) {
221205 apiClient . logger . debug ( {
222206 id : LogId . atlasPaSlowQueryLogsFailure ,
223207 context : "performanceAdvisorUtils" ,
224208 message : `Failed to list slow query logs: ${ err instanceof Error ? err . message : String ( err ) } ` ,
225209 } ) ;
226- throw new Error ( `Failed to list slow query logs. ` ) ;
210+ throw new Error ( `Failed to list slow query logs: ${ err instanceof Error ? err . message : String ( err ) } ` ) ;
227211 }
228212}
0 commit comments