New Redux action to disconnect merchant

This commit is contained in:
Philipp Stracker 2025-01-13 14:16:46 +01:00
parent bc08aa74da
commit 401faf6975
No known key found for this signature in database
4 changed files with 29 additions and 0 deletions

View file

@ -21,6 +21,7 @@ export default {
DO_PERSIST_DATA: 'COMMON:DO_PERSIST_DATA', DO_PERSIST_DATA: 'COMMON:DO_PERSIST_DATA',
DO_DIRECT_API_AUTHENTICATION: 'COMMON:DO_DIRECT_API_AUTHENTICATION', DO_DIRECT_API_AUTHENTICATION: 'COMMON:DO_DIRECT_API_AUTHENTICATION',
DO_OAUTH_AUTHENTICATION: 'COMMON:DO_OAUTH_AUTHENTICATION', DO_OAUTH_AUTHENTICATION: 'COMMON:DO_OAUTH_AUTHENTICATION',
DO_DISCONNECT_MERCHANT: 'COMMON:DO_DISCONNECT_MERCHANT',
DO_GENERATE_ONBOARDING_URL: 'COMMON:DO_GENERATE_ONBOARDING_URL', DO_GENERATE_ONBOARDING_URL: 'COMMON:DO_GENERATE_ONBOARDING_URL',
DO_REFRESH_MERCHANT: 'COMMON:DO_REFRESH_MERCHANT', DO_REFRESH_MERCHANT: 'COMMON:DO_REFRESH_MERCHANT',
DO_REFRESH_FEATURES: 'COMMON:DO_REFRESH_FEATURES', DO_REFRESH_FEATURES: 'COMMON:DO_REFRESH_FEATURES',

View file

@ -212,6 +212,15 @@ export const authenticateWithOAuth = function* (
}; };
}; };
/**
* Side effect. Checks webhook simulation.
*
* @return {Action} The action.
*/
export const disconnectMerchant = function () {
return { type: ACTION_TYPES.DO_DISCONNECT_MERCHANT };
};
/** /**
* Side effect. Clears and refreshes the merchant data via a REST request. * Side effect. Clears and refreshes the merchant data via a REST request.
* *

View file

@ -56,6 +56,17 @@ export const REST_DIRECT_AUTHENTICATION_PATH =
export const REST_OAUTH_AUTHENTICATION_PATH = export const REST_OAUTH_AUTHENTICATION_PATH =
'/wc/v3/wc_paypal/authenticate/oauth'; '/wc/v3/wc_paypal/authenticate/oauth';
/**
* REST path to disconnect the current merchant from PayPal.
*
* Used by: Controls
* See: AuthenticateRestEndpoint.php
*
* @type {string}
*/
export const REST_DISCONNECT_MERCHANT_PATH =
'/wc/v3/wc_paypal/authenticate/disconnect';
/** /**
* REST path to generate an ISU URL for the PayPal-login. * REST path to generate an ISU URL for the PayPal-login.
* *

View file

@ -16,6 +16,7 @@ import {
REST_HYDRATE_MERCHANT_PATH, REST_HYDRATE_MERCHANT_PATH,
REST_REFRESH_FEATURES_PATH, REST_REFRESH_FEATURES_PATH,
REST_OAUTH_AUTHENTICATION_PATH, REST_OAUTH_AUTHENTICATION_PATH,
REST_DISCONNECT_MERCHANT_PATH,
REST_WEBHOOKS, REST_WEBHOOKS,
REST_WEBHOOKS_SIMULATE, REST_WEBHOOKS_SIMULATE,
} from './constants'; } from './constants';
@ -98,6 +99,13 @@ export const controls = {
} }
}, },
async [ ACTION_TYPES.DO_DISCONNECT ]() {
return await apiFetch( {
path: REST_DISCONNECT_MERCHANT_PATH,
method: 'POST',
} );
},
async [ ACTION_TYPES.DO_REFRESH_MERCHANT ]() { async [ ACTION_TYPES.DO_REFRESH_MERCHANT ]() {
try { try {
return await apiFetch( { path: REST_HYDRATE_MERCHANT_PATH } ); return await apiFetch( { path: REST_HYDRATE_MERCHANT_PATH } );