<?php
namespace Eadesigndev\Urgent\Model\Sources;

use Eadesigndev\Urgent\Helper\ConnectUrgent;

#[\AllowDynamicProperties]
class PickupId extends AbstractSource
{
    private $connectUrgent;

    public function __construct(
        ConnectUrgent $connectUrgent
    ) {
        $this->connectUrgent     = $connectUrgent;
    }

    public function toOptionArrayReplaceList($array, $key, $value)
    {
        if (!empty($array)){
            $return = [];
            foreach ($array as $element) {
                $return[$element[$key]] = $element[$value];
            }
            return $return;
        }

    }

    public function getAvailable()
    {
        $connectUrgent = $this->connectUrgent;
        $pickupLocation = $connectUrgent->connect('PickupLocations', \Laminas\Http\Request::METHOD_GET);
        if ($pickupLocation != '"Failed to authenticate!"'){
            return $this->toOptionArrayReplaceList($pickupLocation, 'LocationId', 'Name');
        }
        return [];
    }
}
