<?php
/**
 * General Controller
 *
 * Handles initialization of models and coordinates global public logic
 * for the Pixelio Cart Abandon Recovery & More plugin.
 *
 * @package PixelioCartAbandonRecoveryMore
 * @since 0.1
 */

namespace PixelioCartAbandonRecoveryMore\Frontend\Controllers;

use PixelioCartAbandonRecoveryMore\Frontend\Repositories\Pixelio_Cart_Abandon_Recovery_More_Cart_Repository;
use PixelioCartAbandonRecoveryMore\Frontend\Repositories\Pixelio_Cart_Abandon_Recovery_More_Session_Repository;
use PixelioCartAbandonRecoveryMore\Frontend\Repositories\Pixelio_Cart_Abandon_Recovery_More_User_Consent_Repository;
use PixelioCartAbandonRecoveryMore\Frontend\Repositories\Pixelio_Cart_Abandon_Recovery_More_Uuid_Repository;
use PixelioCartAbandonRecoveryMore\Includes\Db\Pixelio_Cart_Abandon_Recovery_More_DB_helper;
use PixelioCartAbandonRecoveryMore\Frontend\Models\Pixelio_Cart_Abandon_Recovery_More_User_Consent_Model;
use PixelioCartAbandonRecoveryMore\Includes\Utils\Pixelio_Cart_Abandon_Recovery_More_Util;

if ( ! defined( 'ABSPATH' ) ) exit;
/**
 * Class Pixelio_Cart_Abandon_Recovery_More_General_Controller
 *
 * Initializes and provides access to all public models,
 * acting as a central point of coordination for the plugin’s public-facing side.
 *
 * @package PixelioCartAbandonRecoveryMore
 * @since 0.1
 */
class Pixelio_Cart_Abandon_Recovery_More_General_Controller {


	protected Pixelio_Cart_Abandon_Recovery_More_Util $pixelio_util;

	/**
	 * Database helper utility.
	 *
	 * @var Pixelio_Cart_Abandon_Recovery_More_DB_helper
	 */
	protected Pixelio_Cart_Abandon_Recovery_More_DB_Helper $db_helper;

	/**
	 * Cart model handler.
	 *
	 * @var Pixelio_Cart_Abandon_Recovery_More_Cart_Repository
	 */
	protected Pixelio_Cart_Abandon_Recovery_More_Cart_Repository $cart_model;





	/**
	 * Constructor.
	 *
	 * Instantiates all required models for public logic.
	 *
	 * @since 1.0.0
	 */
	public function __construct($pixelio_wordpress_wrapper,$pixelio_util) {
		$this->db_helper          = new Pixelio_Cart_Abandon_Recovery_More_DB_helper($pixelio_wordpress_wrapper,$pixelio_util);

	}
}
