Skip to content

Commit da8105d

Browse files
Mike van den Hoekmvdhoek1
authored andcommitted
refactor: extracting bsn out of BRP response
1 parent e5917b4 commit da8105d

2 files changed

Lines changed: 23 additions & 2 deletions

File tree

src/PrefillGravityForms/Controllers/BaseController.php

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -361,7 +361,17 @@ protected function handleCurl(array $args, string $transientKey): array
361361
*/
362362
protected function extractBSN(array $response): string
363363
{
364-
return (string) ($response['burgerservicenummer'] ?? '');
364+
if (! isset($response['burgerservicenummer'])) {
365+
throw new Exception('Burgerservicenummer not found in response.', 404);
366+
}
367+
368+
$bsn = $response['burgerservicenummer'];
369+
370+
if (! is_numeric($bsn)) {
371+
throw new Exception('Invalid burgerservicenummer format, value is not numeric.', 500);
372+
}
373+
374+
return (string) $bsn;
365375
}
366376

367377
/**

src/PrefillGravityForms/Controllers/WeAreFrankController.php

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44

55
namespace OWC\PrefillGravityForms\Controllers;
66

7+
use Exception;
78
use OWC\PrefillGravityForms\Services\CacheService;
89

910
class WeAreFrankController extends BaseController
@@ -106,7 +107,17 @@ protected function getExpandFields(string $expand): array
106107
*/
107108
protected function extractBSN(array $response): string
108109
{
109-
return (string) ($response['personen'][0]['burgerservicenummer'] ?? '');
110+
if (! isset($response['personen'][0]['burgerservicenummer'])) {
111+
throw new Exception('Burgerservicenummer not found in response.', 404);
112+
}
113+
114+
$bsn = $response['personen'][0]['burgerservicenummer'];
115+
116+
if (! is_numeric($bsn)) {
117+
throw new Exception('Invalid burgerservicenummer format, value is not numeric.', 500);
118+
}
119+
120+
return (string) $bsn;
110121
}
111122

112123
protected function fetchPersonData(array $preparedData, string $bsn): array

0 commit comments

Comments
 (0)