# packeta/1.5.1/src/Packetery/Module/EntityFactory/Carrier.php

Packeta, version 1.5.1. 76 lines.

- Page: https://pluginprobe.com/plugins/packeta/1.5.1/code/src/Packetery/Module/EntityFactory/Carrier.php
- Raw: https://pluginprobe.com/plugins/packeta/1.5.1/raw/src/Packetery/Module/EntityFactory/Carrier.php
- Modified: 2023-04-24T06:19:54+00:00

Line numbers below start at 1. Link to a line or a range by appending a fragment to the
page URL, for example `https://pluginprobe.com/plugins/packeta/1.5.1/code/src/Packetery/Module/EntityFactory/Carrier.php#L10-L20`.

```php
<?php
/**
 * Class Carrier.
 *
 * @package Packetery\EntityFactory
 */

declare( strict_types=1 );

namespace Packetery\Module\EntityFactory;

use Packetery\Core\Entity;
use Packetery\Core\PickupPointProvider\BaseProvider;

/**
 * Class Carrier.
 *
 * @package Packetery\EntityFactory
 */
class Carrier {

	/**
	 * Carrier factory.
	 *
	 * @param array $dbResult Data from db.
	 *
	 * @return Entity\Carrier
	 */
	public function fromDbResult( array $dbResult ): Entity\Carrier {
		return new Entity\Carrier(
			$dbResult['id'],
			$dbResult['name'],
			(bool) $dbResult['is_pickup_points'],
			(bool) $dbResult['has_carrier_direct_label'],
			(bool) $dbResult['separate_house_number'],
			(bool) $dbResult['customs_declarations'],
			(bool) $dbResult['requires_email'],
			(bool) $dbResult['requires_phone'],
			(bool) $dbResult['requires_size'],
			! (bool) $dbResult['disallows_cod'],
			$dbResult['country'],
			$dbResult['currency'],
			(float) $dbResult['max_weight'],
			(bool) $dbResult['deleted'],
			false
		);
	}

	/**
	 * Carrier factory.
	 *
	 * @param BaseProvider $nonFeedCarrierProvider Data from configuration.
	 *
	 * @return Entity\Carrier
	 */
	public function fromNonFeedCarrierData( BaseProvider $nonFeedCarrierProvider ): Entity\Carrier {
		return new Entity\Carrier(
			$nonFeedCarrierProvider->getId(),
			$nonFeedCarrierProvider->getName(),
			$nonFeedCarrierProvider->hasPickupPoints(),
			false,
			false,
			false,
			false,
			false,
			false,
			$nonFeedCarrierProvider->supportsCod(),
			$nonFeedCarrierProvider->getCountry(),
			$nonFeedCarrierProvider->getCurrency(),
			10,
			false,
			$nonFeedCarrierProvider->supportsAgeVerification()
		);
	}
}

```
