From c8f93fabae920977f7b2b5cebb28ae0607b59cf0 Mon Sep 17 00:00:00 2001 From: Duda Nogueira Date: Mon, 27 Jun 2022 09:23:19 -0300 Subject: [PATCH] Regression: Webhook Integration Creation + string error toast msg (#26008) ## Issue(s) While creating an webhook integration, it was missing the **v1/**. Also, the toast was not properly displaying error messages ## Before: ![image](https://user-images.githubusercontent.com/1761174/175665990-c3e820c2-e9af-44ff-b0da-03b6a803f930.png) ![image](https://user-images.githubusercontent.com/1761174/175666183-d8d6999c-8ffd-43e9-835b-61ba76853d6b.png) ## After: ![image](https://user-images.githubusercontent.com/1761174/175665664-72b99178-e720-41a6-aec0-d0d06a25dfc2.png) ## Steps to test or reproduce Try creating an Integration Webhook in Admin > Integrations. The payload will be sent to: http://localhost:3000/api/integrations.create Edit a user, and set it's email the same email as an existing user: the toast message will not display the correct message Co-authored-by: Debdut Chakraborty <76006232+debdutdeb@users.noreply.github.com> --- apps/meteor/client/hooks/useEndpointAction.ts | 2 +- apps/meteor/client/views/account/security/TwoFactorEmail.js | 4 ++-- .../views/admin/integrations/edit/EditIncomingWebhook.js | 2 +- .../views/admin/integrations/edit/EditOutgoingWebhook.js | 2 +- .../client/views/admin/integrations/new/NewIncomingWebhook.js | 2 +- .../client/views/admin/integrations/new/NewOutgoingWebhook.js | 2 +- 6 files changed, 7 insertions(+), 7 deletions(-) diff --git a/apps/meteor/client/hooks/useEndpointAction.ts b/apps/meteor/client/hooks/useEndpointAction.ts index 76c86d648df..e58d925adeb 100644 --- a/apps/meteor/client/hooks/useEndpointAction.ts +++ b/apps/meteor/client/hooks/useEndpointAction.ts @@ -24,7 +24,7 @@ export const useEndpointAction = { const isEnabled = user && user.services && user.services.email2fa && user.services.email2fa.enabled; - const enable2faAction = useEndpointAction('POST', 'users.2fa.enableEmail', undefined, t('Two-factor_authentication_enabled')); - const disable2faAction = useEndpointAction('POST', 'users.2fa.disableEmail', undefined, t('Two-factor_authentication_disabled')); + const enable2faAction = useEndpointAction('POST', '/v1/users.2fa.enableEmail', undefined, t('Two-factor_authentication_enabled')); + const disable2faAction = useEndpointAction('POST', '/v1/users.2fa.disableEmail', undefined, t('Two-factor_authentication_disabled')); const handleEnable = useCallback(async () => { await enable2faAction(); diff --git a/apps/meteor/client/views/admin/integrations/edit/EditIncomingWebhook.js b/apps/meteor/client/views/admin/integrations/edit/EditIncomingWebhook.js index 8429696a404..73f7dde4b12 100644 --- a/apps/meteor/client/views/admin/integrations/edit/EditIncomingWebhook.js +++ b/apps/meteor/client/views/admin/integrations/edit/EditIncomingWebhook.js @@ -30,7 +30,7 @@ function EditIncomingWebhook({ data, onChange, ...props }) { const setModal = useSetModal(); const deleteQuery = useMemo(() => ({ type: 'webhook-incoming', integrationId: data._id }), [data._id]); - const deleteIntegration = useEndpointAction('POST', 'integrations.remove', deleteQuery); + const deleteIntegration = useEndpointAction('POST', '/v1/integrations.remove', deleteQuery); const saveIntegration = useMethod('updateIncomingIntegration'); const router = useRoute('admin-integrations'); diff --git a/apps/meteor/client/views/admin/integrations/edit/EditOutgoingWebhook.js b/apps/meteor/client/views/admin/integrations/edit/EditOutgoingWebhook.js index e0cb744e064..61bdbcca4fe 100644 --- a/apps/meteor/client/views/admin/integrations/edit/EditOutgoingWebhook.js +++ b/apps/meteor/client/views/admin/integrations/edit/EditOutgoingWebhook.js @@ -46,7 +46,7 @@ function EditOutgoingWebhook({ data, onChange, setSaveAction, ...props }) { const router = useRoute('admin-integrations'); const deleteQuery = useMemo(() => ({ type: 'webhook-outgoing', integrationId: data._id }), [data._id]); - const deleteIntegration = useEndpointAction('POST', 'integrations.remove', deleteQuery); + const deleteIntegration = useEndpointAction('POST', '/v1/integrations.remove', deleteQuery); const handleDeleteIntegration = useCallback(() => { const closeModal = () => setModal(); diff --git a/apps/meteor/client/views/admin/integrations/new/NewIncomingWebhook.js b/apps/meteor/client/views/admin/integrations/new/NewIncomingWebhook.js index 3d2d9c2606a..958bce30316 100644 --- a/apps/meteor/client/views/admin/integrations/new/NewIncomingWebhook.js +++ b/apps/meteor/client/views/admin/integrations/new/NewIncomingWebhook.js @@ -26,7 +26,7 @@ export default function NewIncomingWebhook(props) { const { values: formValues, handlers: formHandlers, reset } = useForm(initialState); const params = useMemo(() => ({ ...formValues, type: 'webhook-incoming' }), [formValues]); - const saveAction = useEndpointAction('POST', 'integrations.create', params, t('Integration_added')); + const saveAction = useEndpointAction('POST', '/v1/integrations.create', params, t('Integration_added')); const handleSave = useCallback(async () => { const result = await saveAction(); diff --git a/apps/meteor/client/views/admin/integrations/new/NewOutgoingWebhook.js b/apps/meteor/client/views/admin/integrations/new/NewOutgoingWebhook.js index 5769f1dc710..b20b50b2b69 100644 --- a/apps/meteor/client/views/admin/integrations/new/NewOutgoingWebhook.js +++ b/apps/meteor/client/views/admin/integrations/new/NewOutgoingWebhook.js @@ -47,7 +47,7 @@ export default function NewOutgoingWebhook({ data = defaultData, onChange, setSa }), [formValues, triggerWords, urls], ); - const saveIntegration = useEndpointAction('POST', 'integrations.create', params, t('Integration_added')); + const saveIntegration = useEndpointAction('POST', '/v1/integrations.create', params, t('Integration_added')); const handleSave = useCallback(async () => { const result = await saveIntegration();