From 1c0537ffe85c6eb0440d7c211e51b0cfd33ca46e Mon Sep 17 00:00:00 2001 From: Justin Gasper Date: Wed, 10 Jul 2024 05:23:50 +0000 Subject: [PATCH 1/5] Update to show processing state in dropdown --- .prettierignore | 1 + src/apps/wallet-admin/src/home/tabs/payments/PaymentsTab.tsx | 4 +++- 2 files changed, 4 insertions(+), 1 deletion(-) create mode 100644 .prettierignore diff --git a/.prettierignore b/.prettierignore new file mode 100644 index 000000000..4fb4b46dd --- /dev/null +++ b/.prettierignore @@ -0,0 +1 @@ +* * \ No newline at end of file diff --git a/src/apps/wallet-admin/src/home/tabs/payments/PaymentsTab.tsx b/src/apps/wallet-admin/src/home/tabs/payments/PaymentsTab.tsx index b14a0dcf8..eea5864f2 100644 --- a/src/apps/wallet-admin/src/home/tabs/payments/PaymentsTab.tsx +++ b/src/apps/wallet-admin/src/home/tabs/payments/PaymentsTab.tsx @@ -37,6 +37,8 @@ function formatStatus(status: string): string { return 'Paid' case 'CANCELLED': return 'Cancel' + case 'PROCESSING': + return 'Processing' default: return status.replaceAll('_', ' ') } @@ -354,7 +356,7 @@ const ListView: FC = (props: ListViewProps) => { }, { label: 'Processing', - value: 'Processing', + value: 'PROCESSING', }, ], type: 'dropdown', From c0bc5d8535c7adefb99e6d99035a90ce543372d7 Mon Sep 17 00:00:00 2001 From: Justin Gasper Date: Wed, 10 Jul 2024 05:31:50 +0000 Subject: [PATCH 2/5] Deploy CORE-635 --- .circleci/config.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.circleci/config.yml b/.circleci/config.yml index a5c9acf31..4c15af0f8 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -258,6 +258,7 @@ workflows: only: - dev - LVT-256 + - CORE-635 - deployQa: context: org-global From db7f89608c2369f4d7942b2a828516a5493b6fff Mon Sep 17 00:00:00 2001 From: Justin Gasper Date: Wed, 10 Jul 2024 06:01:36 +0000 Subject: [PATCH 3/5] Add better message to toast when updating payments (CORE-635) --- .../src/home/tabs/payments/PaymentsTab.tsx | 13 +++++++++---- src/apps/wallet-admin/src/lib/models/ApiResponse.ts | 3 +++ src/apps/wallet-admin/src/lib/services/wallet.ts | 6 +++++- .../core/lib/xhr/xhr-functions/xhr.functions.ts | 7 +++++-- 4 files changed, 22 insertions(+), 7 deletions(-) diff --git a/src/apps/wallet-admin/src/home/tabs/payments/PaymentsTab.tsx b/src/apps/wallet-admin/src/home/tabs/payments/PaymentsTab.tsx index eea5864f2..c0cf6e7ed 100644 --- a/src/apps/wallet-admin/src/home/tabs/payments/PaymentsTab.tsx +++ b/src/apps/wallet-admin/src/home/tabs/payments/PaymentsTab.tsx @@ -259,10 +259,15 @@ const ListView: FC = (props: ListViewProps) => { toast.success('Updating payment', { position: toast.POSITION.BOTTOM_RIGHT }) try { - const udpateMessage = await editPayment(updates) - toast.success(udpateMessage, { position: toast.POSITION.BOTTOM_RIGHT }) - } catch (err) { - toast.error('Failed to update payment', { position: toast.POSITION.BOTTOM_RIGHT }) + const updateMessage = await editPayment(updates) + toast.success(updateMessage, { position: toast.POSITION.BOTTOM_RIGHT }) + } catch (err:any) { + if(err?.message){ + toast.error(err?.message, { position: toast.POSITION.BOTTOM_RIGHT }) + } else { + toast.error('Failed to update payment', { position: toast.POSITION.BOTTOM_RIGHT }) + } + return } diff --git a/src/apps/wallet-admin/src/lib/models/ApiResponse.ts b/src/apps/wallet-admin/src/lib/models/ApiResponse.ts index 3221e7793..538602b33 100644 --- a/src/apps/wallet-admin/src/lib/models/ApiResponse.ts +++ b/src/apps/wallet-admin/src/lib/models/ApiResponse.ts @@ -1,4 +1,7 @@ +import { ApiError } from "./ApiError" + export default interface ApiResponse { status: 'success' | 'error' data: T + error: ApiError } diff --git a/src/apps/wallet-admin/src/lib/services/wallet.ts b/src/apps/wallet-admin/src/lib/services/wallet.ts index a70e875f6..cbc0e7b2d 100644 --- a/src/apps/wallet-admin/src/lib/services/wallet.ts +++ b/src/apps/wallet-admin/src/lib/services/wallet.ts @@ -79,10 +79,14 @@ export async function editPayment(updates: { }): Promise { const body = JSON.stringify(updates) const url = `${baseUrl}/admin/winnings` - + const response = await xhrPatchAsync>(url, body) if (response.status === 'error') { + if (response.error && response.error.message) { + console.log(response.error.message) + throw new Error(response.error.message) + } throw new Error('Error editing payment') } diff --git a/src/libs/core/lib/xhr/xhr-functions/xhr.functions.ts b/src/libs/core/lib/xhr/xhr-functions/xhr.functions.ts index af5a3d9e2..49bb913ca 100644 --- a/src/libs/core/lib/xhr/xhr-functions/xhr.functions.ts +++ b/src/libs/core/lib/xhr/xhr-functions/xhr.functions.ts @@ -172,10 +172,13 @@ function interceptError(instance: AxiosInstance): void { config => config, (error: any) => { // if there is server error message, then return it inside `message` property of error - error.message = error?.response?.data?.message || error.message + if (error?.response?.data?.message) { + error.message = error?.response?.data?.message + } else if (error?.response?.data?.error?.message) { + error.message = error?.response?.data?.error?.message + } // if there is server errors data, then return it inside `errors` property of error error.errors = error?.response?.data?.errors - return Promise.reject(error) }, ) From d22619281ce7b9f64f9bde13620a14917616577c Mon Sep 17 00:00:00 2001 From: Justin Gasper Date: Wed, 10 Jul 2024 06:03:09 +0000 Subject: [PATCH 4/5] Remove debugging --- src/apps/wallet-admin/src/lib/services/wallet.ts | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/apps/wallet-admin/src/lib/services/wallet.ts b/src/apps/wallet-admin/src/lib/services/wallet.ts index cbc0e7b2d..3082a76af 100644 --- a/src/apps/wallet-admin/src/lib/services/wallet.ts +++ b/src/apps/wallet-admin/src/lib/services/wallet.ts @@ -79,12 +79,11 @@ export async function editPayment(updates: { }): Promise { const body = JSON.stringify(updates) const url = `${baseUrl}/admin/winnings` - + const response = await xhrPatchAsync>(url, body) if (response.status === 'error') { if (response.error && response.error.message) { - console.log(response.error.message) throw new Error(response.error.message) } throw new Error('Error editing payment') From cc2ab749054b89dcd055195ba9b484fe2720f43e Mon Sep 17 00:00:00 2001 From: Justin Gasper Date: Wed, 10 Jul 2024 06:20:30 +0000 Subject: [PATCH 5/5] Lint --- src/apps/wallet-admin/src/home/tabs/payments/PaymentsTab.tsx | 5 +++-- src/apps/wallet-admin/src/lib/models/ApiResponse.ts | 2 +- src/apps/wallet-admin/src/lib/services/wallet.ts | 1 + src/libs/core/lib/xhr/xhr-functions/xhr.functions.ts | 3 ++- 4 files changed, 7 insertions(+), 4 deletions(-) diff --git a/src/apps/wallet-admin/src/home/tabs/payments/PaymentsTab.tsx b/src/apps/wallet-admin/src/home/tabs/payments/PaymentsTab.tsx index c0cf6e7ed..9a4bdd02e 100644 --- a/src/apps/wallet-admin/src/home/tabs/payments/PaymentsTab.tsx +++ b/src/apps/wallet-admin/src/home/tabs/payments/PaymentsTab.tsx @@ -219,6 +219,7 @@ const ListView: FC = (props: ListViewProps) => { return confirmFlow?.content }, [confirmFlow]) + // eslint-disable-next-line complexity const updatePayment = async (paymentId: string): Promise => { const currentEditState = editStateRef.current // Send to server only the fields that have changed @@ -262,12 +263,12 @@ const ListView: FC = (props: ListViewProps) => { const updateMessage = await editPayment(updates) toast.success(updateMessage, { position: toast.POSITION.BOTTOM_RIGHT }) } catch (err:any) { - if(err?.message){ + if (err?.message) { toast.error(err?.message, { position: toast.POSITION.BOTTOM_RIGHT }) } else { toast.error('Failed to update payment', { position: toast.POSITION.BOTTOM_RIGHT }) } - + return } diff --git a/src/apps/wallet-admin/src/lib/models/ApiResponse.ts b/src/apps/wallet-admin/src/lib/models/ApiResponse.ts index 538602b33..6adfdc08f 100644 --- a/src/apps/wallet-admin/src/lib/models/ApiResponse.ts +++ b/src/apps/wallet-admin/src/lib/models/ApiResponse.ts @@ -1,4 +1,4 @@ -import { ApiError } from "./ApiError" +import { ApiError } from './ApiError' export default interface ApiResponse { status: 'success' | 'error' diff --git a/src/apps/wallet-admin/src/lib/services/wallet.ts b/src/apps/wallet-admin/src/lib/services/wallet.ts index 3082a76af..3475cb4e4 100644 --- a/src/apps/wallet-admin/src/lib/services/wallet.ts +++ b/src/apps/wallet-admin/src/lib/services/wallet.ts @@ -86,6 +86,7 @@ export async function editPayment(updates: { if (response.error && response.error.message) { throw new Error(response.error.message) } + throw new Error('Error editing payment') } diff --git a/src/libs/core/lib/xhr/xhr-functions/xhr.functions.ts b/src/libs/core/lib/xhr/xhr-functions/xhr.functions.ts index 49bb913ca..d6d560343 100644 --- a/src/libs/core/lib/xhr/xhr-functions/xhr.functions.ts +++ b/src/libs/core/lib/xhr/xhr-functions/xhr.functions.ts @@ -176,7 +176,8 @@ function interceptError(instance: AxiosInstance): void { error.message = error?.response?.data?.message } else if (error?.response?.data?.error?.message) { error.message = error?.response?.data?.error?.message - } + } + // if there is server errors data, then return it inside `errors` property of error error.errors = error?.response?.data?.errors return Promise.reject(error)