From b546d5dcb980fd83649c2e94318d533c3cefe78e Mon Sep 17 00:00:00 2001 From: Nicolas Santangelo Date: Tue, 16 Jun 2020 15:34:26 -0300 Subject: [PATCH] feat: allow for the response error to be configurable (#73) --- src/lib/api.ts | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/src/lib/api.ts b/src/lib/api.ts index 04a5c56d..93004998 100644 --- a/src/lib/api.ts +++ b/src/lib/api.ts @@ -40,9 +40,9 @@ export class BaseAPI { const data = response.data const result = data.data // One for axios data, another for the servers data - return data && !data.ok - ? Promise.reject({ message: data.error, data: result }) - : result + const error = this.getResponseError(data) + + return error ? Promise.reject({ message: error, data: result }) : result }) .catch((error: AxiosError) => { console.warn(`[API] HTTP request failed: ${error.message || ''}`, error) @@ -53,4 +53,11 @@ export class BaseAPI { getUrl(path: string) { return `${this.url}${path}` } + + getResponseError(data: any): string | undefined { + if (data && !data.ok) { + return data.error + } + return undefined + } }