fix: adopt response format of bpn personal data endpoint
This commit is contained in:
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')),
|
||||
);
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user