fix: adopt response format of bpn personal data endpoint

This commit is contained in:
Björn Fromme committed 2026-06-25 15:06:15 +02:00
1 parent 7a3d3a3a96
commit 8907233ef5
6 files changed
+51 -2

No files matched your search

@@ -38,9 +38,10 @@ class ApiResponseParser extends AbstractParser
switch ($subType) {
case 'Adressdaten':
case 'Adressdaten_Ändern':
case 'Newsletter':
return (new PersonalDataParser())->parse($resultNode);
case 'Adressdaten_Ändern':
return (new PersonalDataUpdateParser())->parse($resultNode);
case 'Adresse_Neu':
return (new ContactFormResponseParser())->parse($resultNode);
case 'SelektionCRM':
@@ -0,0 +1,20 @@
<?php
declare(strict_types=1);
namespace App\BusProNet\XmlParser;
use App\BusProNet\Model\PersonalDataUpdateResponse;
use Symfony\Component\DomCrawler\Crawler;
class PersonalDataUpdateParser extends AbstractParser
{
public function parse(Crawler $node): PersonalDataUpdateResponse
{
return new PersonalDataUpdateResponse(
addressId: $this->getIntOrNullValue($node->filterXPath('//idadresse')),
personId: $this->getIntOrNullValue($node->filterXPath('//idperson')),
changed: $this->getBoolValue($node->filterXPath('//änderung')),
);
}
}