AccessControl::PERMISSION_MANAGE_SETTINGS, ]; /** @var WPFunctions */ private $wp; /** @var Activator */ private $activator; /** @var SettingsController */ private $settings; public function __construct( WPFunctions $wp, Activator $activator, SettingsController $settings ) { $this->wp = $wp; $this->activator = $activator; $this->settings = $settings; } public function reset() { try { $this->activator->deactivate(); $this->settings->resetCache(); $this->activator->activate(); $this->wp->doAction('mailpoet_setup_reset'); return $this->successResponse(); } catch (\Exception $e) { return $this->errorResponse([ $e->getCode() => $e->getMessage(), ]); } } }