34 lines
835 B
PHP
34 lines
835 B
PHP
<?php
|
|
|
|
namespace App\BusProNet\DataProvider;
|
|
|
|
use App\BusProNet\ApiClient;
|
|
use App\BusProNet\ApiClientException;
|
|
use Symfony\Contracts\Cache\CacheInterface;
|
|
use Symfony\Contracts\Cache\ItemInterface;
|
|
|
|
class Pickups
|
|
{
|
|
public function __construct(private readonly ApiClient $apiClient, private readonly CacheInterface $cache)
|
|
{}
|
|
|
|
public function getAll(): array
|
|
{
|
|
try {
|
|
$pickups = $this->cache->get('bpn_pickups', function (ItemInterface $item) {
|
|
$item->expiresAfter(3600);
|
|
|
|
return $this
|
|
->apiClient
|
|
->getBaseData(ApiClient::TYPE_BASE_DATA_PICKUPS)
|
|
->getItems()
|
|
;
|
|
});
|
|
} catch (ApiClientException $e) {
|
|
$pickups = [];
|
|
}
|
|
|
|
return $pickups;
|
|
|
|
}
|
|
} |