<?php

/**
 * Clears the plugin-related data from DB.
 *
 * @package WooCommerce\PayPalCommerce\Uninstall
 */
declare (strict_types=1);
namespace WooCommerce\PayPalCommerce\Uninstall;

/**
 * Class ClearDatabase
 */
class ClearDatabase
{
    private array $option_names;
    private array $scheduled_actions;
    public function __construct(array $option_names, array $scheduled_actions)
    {
        $this->option_names = $option_names;
        $this->scheduled_actions = $scheduled_actions;
    }
    public function clean_up(): void
    {
        $this->clear_scheduled_actions();
        $this->delete_options();
        do_action('woocommerce_paypal_payments_uninstall');
    }
    private function delete_options(): void
    {
        foreach ($this->option_names as $option_name) {
            delete_option($option_name);
        }
    }
    private function clear_scheduled_actions(): void
    {
        foreach ($this->scheduled_actions as $action_name) {
            as_unschedule_action($action_name);
        }
    }
}