* @copyright Since 2007 PrestaShop SA and Contributors * @license https://opensource.org/licenses/OSL-3.0 Open Software License (OSL 3.0) */ declare(strict_types=1); namespace PrestaShop\PrestaShop\Adapter\OrderReturnState\QueryHandler; use OrderReturnState; use PrestaShop\PrestaShop\Core\Domain\OrderReturnState\Exception\OrderReturnStateNotFoundException; use PrestaShop\PrestaShop\Core\Domain\OrderReturnState\Query\GetOrderReturnStateForEditing; use PrestaShop\PrestaShop\Core\Domain\OrderReturnState\QueryHandler\GetOrderReturnStateForEditingHandlerInterface; use PrestaShop\PrestaShop\Core\Domain\OrderReturnState\QueryResult\EditableOrderReturnState; /** * Handles command that gets orderReturnState for editing * * @internal */ final class GetOrderReturnStateForEditingHandler implements GetOrderReturnStateForEditingHandlerInterface { /** * {@inheritdoc} */ public function handle(GetOrderReturnStateForEditing $query) { $orderReturnStateId = $query->getOrderReturnStateId(); $orderReturnState = new OrderReturnState($orderReturnStateId->getValue()); if ($orderReturnState->id !== $orderReturnStateId->getValue()) { throw new OrderReturnStateNotFoundException($orderReturnStateId, sprintf('OrderReturnState with id "%s" was not found', $orderReturnStateId->getValue())); } return new EditableOrderReturnState( $orderReturnStateId, $orderReturnState->name, $orderReturnState->color ); } }