wip: continue implemntation
This commit is contained in:
@@ -3,6 +3,7 @@
|
||||
namespace App\BusProNet;
|
||||
|
||||
use App\BusProNet\ApiResponseParser\ResponseParser;
|
||||
use App\BusProNet\DataProcessor\BookingDataProcessor;
|
||||
use App\BusProNet\Exception\ApiClientException;
|
||||
use App\BusProNet\Model\BaseData;
|
||||
use App\BusProNet\Model\Booking;
|
||||
@@ -24,7 +25,7 @@ class ApiClient
|
||||
public const TYPE_NOTIFICATION = 'HINWEIS';
|
||||
public const TYPE_CUSTOMER_DATA = 'KUNDENKONTO';
|
||||
public const TYPE_BASE_DATA_COUNTRIES = 'STAMMLAENDER';
|
||||
public const TYPE_MUTABLE_FIELDS = 'MOEGLICHEAENDERUNGEN';
|
||||
public const TYPE_MUTABLE_DATA = 'MOEGLICHEAENDERUNGEN';
|
||||
public const TYPE_AVAILABILITY = 'VERFUEGBARKEIT';
|
||||
public const TYPE_BOOKING_UPDATE = 'BUCHUNGAENDERUNG';
|
||||
|
||||
@@ -113,15 +114,15 @@ class ApiClient
|
||||
|
||||
public function updateBooking(BookingData $formData, bool $dryRun = true): Notification|BookingUpdate
|
||||
{
|
||||
$booking = $formData->booking;
|
||||
$mode = $dryRun ? 'Anfrage' : 'Buchung';
|
||||
$payload = (new BookingDataProcessor())->createUpdateRequestPayload($formData);
|
||||
|
||||
$data = [
|
||||
'user' => $this->config['bpn_username'],
|
||||
'key' => $this->createKey($this->config['bpn_username'], $this->config['bpn_password'], static::TYPE_BOOKING_UPDATE),
|
||||
'satz' => ['@typ' => static::TYPE_BOOKING_UPDATE],
|
||||
'buchungsart' => $mode,
|
||||
...$booking->toPayload($formData),
|
||||
...$payload,
|
||||
];
|
||||
|
||||
return $this->sendRequest(static::TYPE_BOOKING_UPDATE, $data);
|
||||
@@ -130,17 +131,17 @@ class ApiClient
|
||||
/**
|
||||
* @throws ApiClientException
|
||||
*/
|
||||
public function getMutableFields(int $id): Notification|BaseData
|
||||
public function getMutableData(int $id): Notification|BaseData
|
||||
{
|
||||
$data = [
|
||||
'user' => $this->config['bpn_username'],
|
||||
'key' => $this->createKey($this->config['bpn_username'], $this->config['bpn_password'], static::TYPE_MUTABLE_FIELDS),
|
||||
'satz' => ['@typ' => static::TYPE_MUTABLE_FIELDS],
|
||||
'key' => $this->createKey($this->config['bpn_username'], $this->config['bpn_password'], static::TYPE_MUTABLE_DATA),
|
||||
'satz' => ['@typ' => static::TYPE_MUTABLE_DATA],
|
||||
'art' => 'Vorgang_Details',
|
||||
'idreise' => $id,
|
||||
];
|
||||
|
||||
return $this->sendRequest(static::TYPE_MUTABLE_FIELDS, $data);
|
||||
return $this->sendRequest(static::TYPE_MUTABLE_DATA, $data);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -229,7 +230,7 @@ class ApiClient
|
||||
*/
|
||||
private function sendRequest(string $type, array $data): mixed
|
||||
{
|
||||
$requestId = Uuid::v7();
|
||||
$requestId = date(DATE_ATOM).uniqid();
|
||||
|
||||
$body = $this
|
||||
->serializer
|
||||
|
||||
Reference in New Issue
Block a user