Files
FlightsAPI/app/Http/Controllers/AdminToolsController.php
T
2026-05-18 22:06:04 +10:00

42 lines
1.3 KiB
PHP

<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class AdminToolsController extends Controller
{
function missingLiveries(){
/* $existingFiles = collect(glob(public_path('img/liveries/generated/*')))
->map(fn ($path) => pathinfo($path, PATHINFO_FILENAME))
->toArray();*/
$existingFiles = collect(glob(public_path('img/liveries/generated/*')))
->map(fn ($path) => pathinfo($path, PATHINFO_FILENAME))
->toArray();
$combos = \App\Models\UserFlight::with(['aircraft', 'airline'])
->select('airline_id', 'aircraft_id')
->whereNotNull('airline_id')
->whereNotNull('aircraft_id')
->distinct()
->get()
->filter(fn ($flight) => $flight->aircraft && $flight->airline)
->map(fn ($flight) => [
'airline_name' => $flight->airline->name,
'aircraft_display_name' => $flight->aircraft->display_name,
'filename' => $flight->airline->internal_name . '_' . $flight->aircraft->designator,
])
->filter(fn ($combo) => !in_array($combo['filename'], $existingFiles))
->values();
return response()->json([
'count' => $combos->count(),
'liveries' => $combos,
]);
}
}