Skip to content
This repository was archived by the owner on Aug 12, 2025. It is now read-only.

Commit 484b8aa

Browse files
committed
feat: adapt error for errorPrompt
1 parent 55c51be commit 484b8aa

File tree

3 files changed

+28
-5
lines changed

3 files changed

+28
-5
lines changed

packages/console-utils/xconsole-service/src/interceptors/consoleInterceptor/response.ts

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,20 @@
11
/* eslint-disable @typescript-eslint/no-throw-literal */
22
import { IError, IResponse, IResponseData } from '../../types';
33
import { ApiType } from '../../const/index';
4+
import { AxiosResponse } from 'axios';
5+
6+
7+
const injectErrorPromptAdaptor = (error: IError, response: AxiosResponse) => {
8+
error.response = response;
9+
error.code = response.data?.code;
10+
error.requestId = response.data?.requestId;
11+
error.message = response.data?.message;
12+
error.details = {
13+
url: response?.config?.url,
14+
body: response?.config?.data,
15+
method: response?.config?.method
16+
}
17+
};
418

519
function consoleResponseInterceptor(
620
response: IResponse<IResponseData>
@@ -33,7 +47,7 @@ function consoleResponseInterceptor(
3347
apiResponseData.withFailedRequest === true
3448
) {
3549
const error: IError = new Error('Multi OpenAPI calls with failed request.');
36-
error.response = response;
50+
injectErrorPromptAdaptor(error, response);
3751
if (ignoreError !== true) {
3852
throw error;
3953
}
@@ -43,15 +57,15 @@ function consoleResponseInterceptor(
4357
if (apiResponseData.message) {
4458
// Single api failed with an error message
4559
const error: IError = new Error(apiResponseData.message);
46-
error.response = response;
60+
injectErrorPromptAdaptor(error, response);
4761
if (ignoreError !== true) {
4862
throw error;
4963
}
5064
return response;
5165
}
5266
// Single api failed without an error message
5367
const error: IError = new Error('OpenAPI failed without a message.');
54-
error.response = response;
68+
injectErrorPromptAdaptor(error, response);
5569

5670
if (ignoreError !== true) {
5771
throw error;

packages/console-utils/xconsole-service/src/types.ts

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,16 @@ export interface IResponse<D = any> extends AxiosResponse<D> {
6464
export interface IError {
6565
stack?: string;
6666
response?: any;
67-
message: any;
67+
message: string;
68+
title?: string;
69+
code?: string;
70+
requestId?: string;
71+
details?: {
72+
url?: string;
73+
params?: any;
74+
method?: string;
75+
body?: any;
76+
};
6877
}
6978

7079
export type Service<R, P> = (params?: P, overlap?: boolean) => Promise<R>;

packages/xconsole/xconsole.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
{"version":"2.3.37"}
1+
{"version":"2.3.38"}

0 commit comments

Comments
 (0)