18
common/resources/client/utils/http/get-axios-error-message.ts
Executable file
18
common/resources/client/utils/http/get-axios-error-message.ts
Executable file
@@ -0,0 +1,18 @@
|
||||
import axios from 'axios';
|
||||
import {BackendErrorResponse} from '../../errors/backend-error-response';
|
||||
|
||||
export function getAxiosErrorMessage(
|
||||
err: unknown,
|
||||
field?: string | null
|
||||
): string | undefined {
|
||||
if (axios.isAxiosError(err) && err.response) {
|
||||
const response = err.response.data as BackendErrorResponse;
|
||||
|
||||
if (field != null) {
|
||||
const fieldMessage = response.errors?.[field];
|
||||
return Array.isArray(fieldMessage) ? fieldMessage[0] : fieldMessage;
|
||||
}
|
||||
|
||||
return response?.message;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user