<?php
/**
 * Shopify Filter Hook
 *
 * @category   WordPress_Plugin
 * @package    Common
 * @subpackage Hooks
 * @author     miniOrange <info@miniorange.com>
 * @license    MIT/Expat
 * @link       https://plugins.miniorange.com/woocommerce-api-product-sync-with-woocommerce-rest-apis
 */

namespace MOWCPS\Common\Hooks;

use MOWCPS\Common\Constants\Plugin_Filters;
use MOWCPS\Common\Interfaces\Hookable_Interface;
use MOWCPS\Common\Suppliers\Shopify as Shopify_Supplier;

if ( ! defined( 'ABSPATH' ) ) {
	die;
}

/**
 * Class Shopify
 *
 * Handles Shopify filter hook registration
 */
class Shopify implements Hookable_Interface {

	/**
	 * Initialize the Shopify filter hooks.
	 */
	public function __construct() {
		$this->register_hooks();
	}

	/**
	 * Register WordPress hooks.
	 *
	 * @return void
	 */
	public function register_hooks() {
		add_filter( Plugin_Filters::FILTER_API_CALL_ALTERATION_FILTER, array( Shopify_Supplier::class, 'store_response_headers' ), 10, 1 );
		add_filter( Plugin_Filters::FILTER_DATA_ALTERATION_FILTER, array( Shopify_Supplier::class, 'check_variance_array_size' ), 10, 1 );
	}
}
