WIP: Implement profile editing

This commit is contained in:
Björn Fromme
2023-10-02 12:39:52 +02:00
parent d776d37cd5
commit 953aa9c8e0
27 changed files with 598 additions and 43 deletions
+6
View File
@@ -4,6 +4,7 @@ namespace App\BusProNet\DataProvider;
use App\BusProNet\ApiClient;
use App\BusProNet\ApiClientException;
use App\BusProNet\Model\Country;
use Symfony\Contracts\Cache\CacheInterface;
use Symfony\Contracts\Cache\ItemInterface;
@@ -30,4 +31,9 @@ class Countries
return $countries;
}
public function get(int $id): ?Country
{
return $this->getAll()[$id] ?? null;
}
}
+5
View File
@@ -4,6 +4,7 @@ namespace App\BusProNet\DataProvider;
use App\BusProNet\ApiClient;
use App\BusProNet\ApiClientException;
use App\BusProNet\Model\Pickup;
use Symfony\Contracts\Cache\CacheInterface;
use Symfony\Contracts\Cache\ItemInterface;
@@ -29,6 +30,10 @@ class Pickups
}
return $pickups;
}
public function get(int $busProId): ?Pickup
{
return $this->getAll()[$busProId] ?? null;
}
}
+14 -11
View File
@@ -176,14 +176,15 @@ class ResponseParser
$countries = [];
foreach ($xml->xpath('laender/land') as $item) {
$id = (int) $item->attributes()['id'];
$country = new Country();
$country
->setId((int)$item->attributes()['id'])
->setName((string)$item->attributes()['bezeichnung'])
->setToken((string)$item->attributes()['kuerzel'])
->setNationality((string)$item->attributes()['nationalitaet'])
->setId($id)
->setName((string) $item->attributes()['bezeichnung'])
->setToken((string) $item->attributes()['kuerzel'])
->setNationality((string) $item->attributes()['nationalitaet'])
;
$countries[] = $country;
$countries[$id] = $country;
}
$response = new BaseDataResponse();
@@ -197,15 +198,17 @@ class ResponseParser
$pickups = [];
foreach ($xml->xpath('zustieg') as $item) {
$id = (int) $item->attributes()['id'];
$busProId = (int) $item->attributes()['idbuspro'];
$pickup = new Pickup();
$pickup
->setId((int)$item->attributes()['id'])
->setBusProId((int)$item->attributes()['idbuspro'])
->setCode((string)$item->attributes()['code'])
->setCity((string)$item->xpath('ort')[0])
->setStreet((string)$item->xpath('strasse')[0])
->setId($id)
->setBusProId($busProId)
->setCode((string) $item->attributes()['code'])
->setCity((string) $item->xpath('ort')[0])
->setStreet((string) $item->xpath('strasse')[0])
;
$pickups[] = $pickup;
$pickups[$busProId] = $pickup;
}
$response = new BaseDataResponse();