<?php
/**
 * Pickup point validators factory for checkout blocks.
 *
 * @package DhlPolska\CheckoutBlocks
 */

namespace DhlPolska\CheckoutBlocks;

use DhlPolska\Integration\FlexibleShipping\FlexibleShippingIntegration;
use DhlPolska\Shipment\DhlServices;
use DhlPolska\Shipment\ShipmentData;
use DhlPolska\ShippingMethod\DhlInstanceSettings;
use DhlPolska\ShippingMethod\DhlShippingMethod;

class PickupPointValidatorsFactory {

	/**
	 * @return array<object>
	 */
	public function get_validators(): array {
		return [
			new PickupPointValidatorForFsIntegration(
				FlexibleShippingIntegration::INTEGRATION_ID,
				FlexibleShippingIntegration::INTEGRATION_ID . '_' . ShipmentData::OPTION_SERVICE,
				DhlServices::SERVICE_POINT
			),
			new PickupPointValidatorForShippingMethod(
				DhlShippingMethod::SHIPPING_METHOD_ID,
				DhlInstanceSettings::OPTION_SERVICE,
				DhlServices::SERVICE_POINT
			),
		];
	}
}
