<?php
namespace Eadesigndev\Sameday\Model\Sources;

use Magento\Framework\App\Config\ScopeConfigInterface;
use Sameday\Requests\SamedayGetPickupPointsRequest;
use Sameday\Sameday;
use Eadesigndev\Sameday\Helper\ApiHelper;
use Eadesigndev\Urgent\Model\Sources\AbstractSource;

#[\AllowDynamicProperties]
class PickupId extends AbstractSource
{
    protected $apiHelper;
    protected $config;

    public function __construct(
        ApiHelper $apiHelper,
        ScopeConfigInterface $config
    ) {
        $this->apiHelper = $apiHelper;
        $this->config = $config;
    }

    public function getPickPoint()
    {    
        $sameday = new Sameday($this->apiHelper->initClient());
        $remotePickupPoints = [];
        
        $request = new SamedayGetPickupPointsRequest();
        $pickUpPoints = $sameday->getPickupPoints($request);

        foreach ($pickUpPoints->getPickupPoints() as $pickupPointObject) {
            $remotePickupPoints[$pickupPointObject->getId()] = $pickupPointObject->getAlias();
        }
        return $remotePickupPoints;
    }

    public function getAvailable()
    {
        return $this->getPickPoint();
    }
}