chore: major code cleanup and type safety using phpstan

This commit is contained in:
Björn Fromme committed 2026-04-16 17:11:16 +02:00
1 parent 060cbea9da
commit 3da73d626b
103 files changed
+976 -1192

No files matched your search

+1
View File
@@ -1,4 +1,5 @@
<?php
declare(strict_types=1);
namespace App\BusProNet;
@@ -128,7 +128,7 @@ class BookingDataProcessor
// Parking service (for self-organized PKW transportation)
$parkingServices = $booking->getAdditionalServicesForParticipantByGroup($index, Constants::TOKEN_PARKING);
if (false === empty($parkingServices)) {
if ([] !== $parkingServices) {
$participantData->parking = true;
$participantData->parkingService = reset($parkingServices);
} else {
@@ -320,7 +320,7 @@ class BookingDataProcessor
// Add purchase vouchers if any exist
$purchaseVouchers = $this->mappingCollector->collectPurchaseVouchers($formData);
if (false === empty($purchaseVouchers)) {
if ([] !== $purchaseVouchers) {
$payload['gutscheine']['gutschein'] = [];
foreach ($purchaseVouchers as $code) {
$payload['gutscheine']['gutschein'][] = [
@@ -43,7 +43,7 @@ class ServiceMappingCollector
* Groups board, ski passes, rentals, rental insurance, courses, parking, and additional services
* by service ID with their participant assignments (1-based).
*
* @return array<string, array<int>> Map of service ID to participant IDs
* @return array<int, list<int>> Map of service ID to participant IDs
*/
public function collectServiceMappings(BookingDto $bookingDto): array
{
@@ -99,7 +99,7 @@ class ServiceMappingCollector
/**
* Collects transportation service mappings.
*
* @return array<string, array<int>> Map of transportation service ID to participant IDs
* @return array<int, list<int>> Map of transportation service ID to participant IDs
*/
public function collectTransportationMappings(BookingDto $bookingDto): array
{
@@ -126,7 +126,7 @@ class ServiceMappingCollector
* Collects the unified pickup selection which applies to both directions.
* The API receives this as outbound pickup data.
*
* @return array<string, array<int>> Map of pickup ID to participant IDs
* @return array<int, list<int>> Map of pickup ID to participant IDs
*/
public function collectPickupMappings(BookingDto $bookingDto): array
{
@@ -148,7 +148,7 @@ class ServiceMappingCollector
*
* Collects the drop-off selection for the inbound/return direction.
*
* @return array<string, array<int>> Map of drop-off ID to participant IDs
* @return array<int, list<int>> Map of drop-off ID to participant IDs
*/
public function collectDropOffMappings(BookingDto $bookingDto): array
{
@@ -171,7 +171,7 @@ class ServiceMappingCollector
* CRITICAL: Insurance data is only included in CREATE flow, not in UPDATE flow.
* IMPORTANT: Excludes synthetic "no insurance" option from BPN transmission.
*
* @return array<string, array<int>> Map of insurance ID to participant IDs
* @return array<string, list<int>> Map of insurance ID to participant IDs
*/
public function collectInsuranceMappings(BookingDto $bookingDto): array
{
@@ -1,4 +1,5 @@
<?php
declare(strict_types=1);
namespace App\BusProNet\Exception;
@@ -1,4 +1,5 @@
<?php
declare(strict_types=1);
namespace App\BusProNet\Exception;
@@ -1,4 +1,5 @@
<?php
declare(strict_types=1);
namespace App\BusProNet\Form\ChoiceLoader;
+1
View File
@@ -1,4 +1,5 @@
<?php
declare(strict_types=1);
namespace App\BusProNet\Form;
+9 -2
View File
@@ -182,8 +182,15 @@ class Insurance
$urls = [];
foreach ($this->containedInsurances as $containedInsurance) {
if (null !== $containedInsurance->{$urlProperty}) {
$urls[] = $containedInsurance->{$urlProperty};
$url = match ($urlProperty) {
'urlInfo' => $containedInsurance->urlInfo,
'urlProductInfo' => $containedInsurance->urlProductInfo,
'urlTerms' => $containedInsurance->urlTerms,
default => null,
};
if (null !== $url) {
$urls[] = $url;
}
}
+1
View File
@@ -1,4 +1,5 @@
<?php
declare(strict_types=1);
namespace App\BusProNet\Model;
+1
View File
@@ -1,4 +1,5 @@
<?php
declare(strict_types=1);
namespace App\BusProNet\Traits;
@@ -1,4 +1,5 @@
<?php
declare(strict_types=1);
namespace App\BusProNet\Utility;
+1
View File
@@ -1,4 +1,5 @@
<?php
declare(strict_types=1);
namespace App\BusProNet\Utility;
@@ -1,4 +1,5 @@
<?php
declare(strict_types=1);
namespace App\BusProNet\XmlLoader;
@@ -1,4 +1,5 @@
<?php
declare(strict_types=1);
namespace App\BusProNet\XmlParser;
@@ -1,4 +1,5 @@
<?php
declare(strict_types=1);
namespace App\BusProNet\XmlParser;
@@ -1,4 +1,5 @@
<?php
declare(strict_types=1);
namespace App\BusProNet\XmlParser;
@@ -1,4 +1,5 @@
<?php
declare(strict_types=1);
namespace App\BusProNet\XmlParser;
@@ -1,4 +1,5 @@
<?php
declare(strict_types=1);
namespace App\BusProNet\XmlParser;
@@ -1,4 +1,5 @@
<?php
declare(strict_types=1);
namespace App\BusProNet\XmlParser;
@@ -1,4 +1,5 @@
<?php
declare(strict_types=1);
namespace App\BusProNet\XmlParser;
+4 -2
View File
@@ -1,4 +1,5 @@
<?php
declare(strict_types=1);
namespace App\BusProNet\XmlParser;
@@ -15,10 +16,11 @@ class ProductsParser extends AbstractParser
$result
->filterXPath('//produkte/produkt')
->each(function (Crawler $node) use (&$products) {
if (false === empty($node->attr('code'))) {
$code = $node->attr('code');
if (null !== $code && '' !== $code) {
$product = new Product();
$product->id = (int) $node->attr('id');
$product->code = (string) $node->attr('code');
$product->code = $code;
$product->name = (string) $node->attr('bezeichnung');
$products[$product->id] = $product;