Added Notifications

This commit is contained in:
2026-05-18 14:31:53 +10:00
parent 1d5b9f340f
commit 10b5b6a5c9
18 changed files with 545 additions and 166 deletions
+20 -6
View File
@@ -13,21 +13,35 @@ readonly class FlightStatData
public ?string $equipment_iata,
public ?string $departure_iata,
public ?string $arrival_iata,
public array $airline_fs_codes,
public ?string $operating_fs,
) {}
public static function fromApiResponse(array $flightData): self
{
$primaryFs = $flightData['resultHeader']['carrier']['fs'] ?? null;
$operatingFs = $flightData['positional']['flexTrack']['carrierFsCode'] ?? null;
$codeshares = array_column($flightData['codeshares'] ?? [], 'fs');
$fsCodes = array_values(array_unique(array_filter([
$primaryFs,
$operatingFs,
...$codeshares,
])));
return new self(
aircraft_registration: $flightData['positional']['flexTrack']['tailNumber'] ?? null,
estimated_departure_utc: isset($flightData['schedule']['estimatedActualDepartureUTC'])
aircraft_registration: $flightData['positional']['flexTrack']['tailNumber'] ?? null,
estimated_departure_utc: isset($flightData['schedule']['estimatedActualDepartureUTC'])
? Carbon::parse($flightData['schedule']['estimatedActualDepartureUTC'])
: null,
estimated_arrival_utc: isset($flightData['schedule']['estimatedActualArrivalUTC'])
estimated_arrival_utc: isset($flightData['schedule']['estimatedActualArrivalUTC'])
? Carbon::parse($flightData['schedule']['estimatedActualArrivalUTC'])
: null,
equipment_iata: $flightData['additionalFlightInfo']['equipment']['iata'] ?? null,
departure_iata: $flightData['departureAirport']['iata'] ?? null,
arrival_iata: $flightData['arrivalAirport']['iata'] ?? null,
equipment_iata: $flightData['additionalFlightInfo']['equipment']['iata'] ?? null,
departure_iata: $flightData['departureAirport']['iata'] ?? null,
arrival_iata: $flightData['arrivalAirport']['iata'] ?? null,
airline_fs_codes: $fsCodes,
operating_fs: $flightData['positional']['flexTrack']['carrierFsCode'] ?? null,
);
}
}