@woocommerce/data
Version:
WooCommerce Admin data store and utilities
122 lines (121 loc) • 3.87 kB
JavaScript
/**
* External dependencies
*/
import { apiFetch, select } from '@wordpress/data-controls';
import { controls } from '@wordpress/data';
/**
* Internal dependencies
*/
import { STORE_NAME } from './constants';
import { WC_ADMIN_NAMESPACE } from '../constants';
import { getFreeExtensionsError, getFreeExtensionsSuccess, getTaskListsError, getTaskListsSuccess, setProfileItems, setError, setPaymentMethods, setEmailPrefill, getProductTypesSuccess, getProductTypesError, setJetpackAuthUrl, } from './actions';
import { DeprecatedTasks } from './deprecated-tasks';
const resolveSelect = controls && controls.resolveSelect ? controls.resolveSelect : select;
export function* getProfileItems() {
try {
const results = yield apiFetch({
path: WC_ADMIN_NAMESPACE + '/onboarding/profile',
method: 'GET',
});
yield setProfileItems(results, true);
}
catch (error) {
yield setError('getProfileItems', error);
}
}
export function* getEmailPrefill() {
try {
const results = yield apiFetch({
path: WC_ADMIN_NAMESPACE +
'/onboarding/profile/experimental_get_email_prefill',
method: 'GET',
});
yield setEmailPrefill(results.email);
}
catch (error) {
yield setError('getEmailPrefill', error);
}
}
export function* getTaskLists() {
const deprecatedTasks = new DeprecatedTasks();
try {
const results = yield apiFetch({
path: WC_ADMIN_NAMESPACE + '/onboarding/tasks',
method: deprecatedTasks.hasDeprecatedTasks() ? 'POST' : 'GET',
data: deprecatedTasks.getPostData(),
});
deprecatedTasks.mergeDeprecatedCallbackFunctions(results);
yield getTaskListsSuccess(results);
}
catch (error) {
yield getTaskListsError(error);
}
}
export function* getTaskListsByIds() {
yield resolveSelect(STORE_NAME, 'getTaskLists');
}
export function* getTaskList() {
yield resolveSelect(STORE_NAME, 'getTaskLists');
}
export function* getTask() {
yield resolveSelect(STORE_NAME, 'getTaskLists');
}
export function* getPaymentGatewaySuggestions(forceDefaultSuggestions = false) {
let path = WC_ADMIN_NAMESPACE + '/payment-gateway-suggestions';
if (forceDefaultSuggestions) {
path += '?force_default_suggestions=true';
}
try {
const results = yield apiFetch({
path,
method: 'GET',
});
yield setPaymentMethods(results);
}
catch (error) {
yield setError('getPaymentGatewaySuggestions', error);
}
}
export function* getFreeExtensions() {
try {
const results = yield apiFetch({
path: WC_ADMIN_NAMESPACE + '/onboarding/free-extensions',
method: 'GET',
});
yield getFreeExtensionsSuccess(results);
}
catch (error) {
yield getFreeExtensionsError(error);
}
}
export function* getProductTypes() {
try {
const results = yield apiFetch({
path: WC_ADMIN_NAMESPACE + '/onboarding/product-types',
method: 'GET',
});
yield getProductTypesSuccess(results);
}
catch (error) {
yield getProductTypesError(error);
}
}
export function* getJetpackAuthUrl(query) {
var _a;
try {
let path = WC_ADMIN_NAMESPACE +
'/onboarding/plugins/jetpack-authorization-url?redirect_url=' +
encodeURIComponent(query.redirectUrl);
if (query.from) {
path += '&from=' + query.from;
}
const results = yield apiFetch({
path,
method: 'GET',
});
yield setJetpackAuthUrl(results, query.redirectUrl, (_a = query.from) !== null && _a !== void 0 ? _a : '');
}
catch (error) {
yield setError('getJetpackAuthUrl', error);
}
}