HEX
Server: Apache/2.4.41 (Ubuntu)
System: Linux wordpress-ubuntu-s-2vcpu-4gb-fra1-01 5.4.0-169-generic #187-Ubuntu SMP Thu Nov 23 14:52:28 UTC 2023 x86_64
User: root (0)
PHP: 7.4.33
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: /var/www/linde/wp-content/plugins/better-wp-security/core/packages/data/src/tools/actions.js
/**
 * Internal dependencies
 */
import { Result } from '@ithemes/security-utils';
import { apiFetch, awaitPromise } from '../controls';

export function* fetchTools() {
	const response = yield apiFetch( {
		path: '/ithemes-security/v1/tools',
	} );

	yield { type: RECEIVE_TOOLS, tools: response };
}

export function* runTool( tool, form = {} ) {
	yield { type: START_TOOL, tool, form };
	let response;

	try {
		response = yield apiFetch( {
			path: `/ithemes-security/v1/tools/${ tool }`,
			method: 'POST',
			data: form,
			parse: false,
		} );
	} catch ( error ) {
		const result = yield awaitPromise(
			Result.fromResponse( error.getResponse() )
		);
		yield { type: FINISH_TOOL, tool, result };

		return result;
	}

	const result = yield awaitPromise( Result.fromResponse( response ) );
	yield { type: FINISH_TOOL, tool, result };

	return result;
}

export function* toggleTool( tool, enabled = true ) {
	yield { type: START_TOGGLE_TOOL, tool, enabled };
	let response;

	try {
		response = yield apiFetch( {
			path: `/ithemes-security/v1/tools/${ tool }`,
			method: 'PUT',
			data: {
				enabled,
			},
		} );
	} catch ( error ) {
		yield { type: FAILED_TOGGLE_TOOL, tool, error };

		return error;
	}

	yield { type: FINISH_TOGGLE_TOOL, tool, data: response };

	return response;
}

export const RECEIVE_TOOLS = 'RECEIVE_TOOLS';

export const START_TOOL = 'START_TOOL';
export const FINISH_TOOL = 'FINISH_TOOL';

export const START_TOGGLE_TOOL = 'START_TOGGLE_TOOL';
export const FAILED_TOGGLE_TOOL = 'FAILED_TOGGLE_TOOL';
export const FINISH_TOGGLE_TOOL = 'FINISH_TOGGLE_TOOL';