diff --git a/src/services/api.ts b/src/services/api.ts index 372ff94d4..84a8a87c3 100644 --- a/src/services/api.ts +++ b/src/services/api.ts @@ -558,7 +558,7 @@ export class YdbEmbeddedAPI extends AxiosWrapper { const {schema, ...rest} = params; // FIXME: base64 is passed both to params and body to work on versions before and after 24-3 - return this.post | ErrorResponse>( + return this.post | ErrorResponse | null>( this.getPath('/viewer/json/query'), {...rest, base64}, {schema, base64}, diff --git a/src/store/reducers/cluster/utils.ts b/src/store/reducers/cluster/utils.ts index d2fd4cd9e..c0e54c5dd 100644 --- a/src/store/reducers/cluster/utils.ts +++ b/src/store/reducers/cluster/utils.ts @@ -86,7 +86,7 @@ function getGroupStats(data?: KeyValueRow[] | TStorageStats[]) { } export const parseGroupsStatsQueryResponse = ( - data: ExecuteQueryResponse<'modern'>, + data: ExecuteQueryResponse<'modern'> | null, ): ClusterGroupsStats => { const parsedData = parseQueryAPIExecuteResponse(data).result; return getGroupStats(parsedData); diff --git a/src/store/reducers/executeQuery.ts b/src/store/reducers/executeQuery.ts index b73d611f5..1810324bb 100644 --- a/src/store/reducers/executeQuery.ts +++ b/src/store/reducers/executeQuery.ts @@ -258,7 +258,7 @@ export const executeQueryApi = api.injectEndpoints({ } const data = parseQueryAPIExecuteResponse(response); - data.traceId = response._meta?.traceId; + data.traceId = response?._meta?.traceId; const queryStats: QueryStats = {}; if (data.stats) { diff --git a/src/store/reducers/explainQuery/utils.ts b/src/store/reducers/explainQuery/utils.ts index fd53f5cad..0bfc999c6 100644 --- a/src/store/reducers/explainQuery/utils.ts +++ b/src/store/reducers/explainQuery/utils.ts @@ -13,7 +13,7 @@ export const explainVersions = { const supportedExplainQueryVersions = Object.values(explainVersions); export const prepareExplainResponse = ( - response: ExplainScriptResponse | ExplainQueryResponse, + response: ExplainScriptResponse | ExplainQueryResponse | null, ): PreparedExplainResponse => { const {plan: rawPlan, ast} = parseQueryAPIExplainResponse(response); diff --git a/src/store/reducers/viewSchema/viewSchema.ts b/src/store/reducers/viewSchema/viewSchema.ts index c17a6b5fa..a888fd2ef 100644 --- a/src/store/reducers/viewSchema/viewSchema.ts +++ b/src/store/reducers/viewSchema/viewSchema.ts @@ -24,7 +24,7 @@ export const viewSchemaApi = api.injectEndpoints({ return {error: response}; } - return {data: response.columns || []}; + return {data: response?.columns || []}; } catch (error) { return {error: error}; }