Added achievement data

This commit is contained in:
2026-05-10 12:32:20 +10:00
parent 217a971360
commit eabf715bf2
2 changed files with 33 additions and 6 deletions
+30 -1
View File
@@ -3,6 +3,7 @@
namespace App\Console\Commands;
use App\Models\UserFlight;
use Carbon\Carbon;
use Illuminate\Console\Attributes\Description;
use Illuminate\Console\Attributes\Signature;
use Illuminate\Console\Command;
@@ -31,7 +32,6 @@ class UpdateDepartedFlights extends Command
$this->info("Found {$userFlights->count()} flights.");
foreach ($userFlights as $flight) {
// Split "QF22" into ["QF", "22"]
preg_match('/^([A-Z]{2,3})(\d+)$/i', $flight->flight_number, $matches);
if (empty($matches)) {
@@ -65,11 +65,40 @@ class UpdateDepartedFlights extends Command
continue;
}
$tailNumber = $flightData['positional']['flexTrack']['tailNumber'] ?? null;
$estimatedDepartureUtc = $flightData['schedule']['estimatedActualDepartureUTC'] ?? null;
$estimatedArrivalUtc = $flightData['schedule']['estimatedActualArrivalUTC'] ?? null;
$equipmentCode = $flightData['additionalFlightInfo']['equipment']['iata'] ?? null;
$apiDepartureIata = $data['data']['departureAirport']['iata'] ?? null;
$apiArrivalIata = $data['data']['arrivalAirport']['iata'] ?? null;
if ($apiDepartureIata !== $flight->departureAirport->iata_code ||
$apiArrivalIata !== $flight->arrivalAirport->iata_code) {
$this->warn("Airport mismatch for {$airlineCode}{$flightNumber} — API: {$apiDepartureIata}{$apiArrivalIata}, expected: {$flight->departureAirport->iata_code}{$flight->arrivalAirport->iata_code}");
continue;
}
$updates = [];
if ($tailNumber && $tailNumber !== $flight->aircraft_registration) {
$updates['aircraft_registration'] = $tailNumber;
}
if ($estimatedDepartureUtc && Carbon::parse($estimatedDepartureUtc)->ne($flight->departure_date)) {
$updates['departure_date'] = Carbon::parse($estimatedDepartureUtc);
}
if ($estimatedArrivalUtc && Carbon::parse($estimatedArrivalUtc)->ne($flight->arrival_date)) {
$updates['arrival_date'] = Carbon::parse($estimatedArrivalUtc);
}
if (!empty($updates)) {
$flight->update($updates);
$this->info("Updated flight {$airlineCode}{$flightNumber}: " . implode(', ', array_keys($updates)));
}
$this->info("Flight {$airlineCode}{$flightNumber} — Tail: {$tailNumber}, Equipment: {$equipmentCode}");
$this->info("Departure: {$estimatedDepartureUtc} | Arrival: {$estimatedArrivalUtc}");
@@ -21,7 +21,6 @@ const props = defineProps<{
flightId?: number | null
}>()
console.log(props.user)
function editRoute(id: number) {
return route('flights.edit', { flight: id })
@@ -87,13 +86,12 @@ today.setHours(0, 0, 0, 0)
const isSorting = computed(() => sortBy.value.length > 0)
const upcomingFlights = computed(() =>
props.flightStats.upcomingFlights.value
.sort((a, b) => new Date(a.departure_date).getTime() - new Date(b.departure_date).getTime())
[...props.flightStats.upcomingFlights.value]
.sort((a, b) => new Date(a.departure_date).getTime() - new Date(b.departure_date).getTime())
)
const departedFlights = computed(() =>
props.flightStats.pastFlights.value
.filter(f => new Date(f.departure_date) < today)
[...props.flightStats.pastFlights.value]
.sort((a, b) => new Date(b.departure_date).getTime() - new Date(a.departure_date).getTime())
)