Added Notifications

This commit is contained in:
2026-06-05 10:10:37 +10:00
parent 09841ba1f7
commit 906f8cda57
16 changed files with 61 additions and 34 deletions
@@ -68,7 +68,7 @@ class AirlineApiController extends ApiController
}
function getByCode(string $code){
$lookupColumn = strlen($code) === 3 ? 'ICAO_code' : 'IATA_code';
$lookupColumn = strlen($code) === 3 ? 'icao_code' : 'iata_code';
$airlines = Airline::where($lookupColumn, strtoupper($code))->get()->map(fn($airline) => $this->parseAirlineData($airline));
return response()->json($airlines);
+3 -3
View File
@@ -67,7 +67,7 @@ class FlightController extends Controller
$code = $matches[1] ?? null;
$flightNumber = $matches[2] ?? null;
$isIata = strlen($code) === 2;
$codeColumn = $isIata ? 'IATA_code' : 'ICAO_code';
$codeColumn = $isIata ? 'iata_code' : 'icao_code';
$apiAirlineCodes = [];
$fromOptions = [];
@@ -118,8 +118,8 @@ class FlightController extends Controller
->get()
->unique('id')
->sortBy(function ($a) use ($code, $flightData) {
if ($a->IATA_code === $flightData?->operating_fs) return 0;
if ($a->IATA_code === $code) return 1;
if ($a->iata_code === $flightData?->operating_fs) return 0;
if ($a->iata_code === $code) return 1;
return 2;
})
->map(fn($a) => ['value' => $a->id, 'title' => $a->display_name, 'logo_url' => $a->logo_url])
@@ -100,20 +100,20 @@ class FlightImportController extends Controller
$airlines = Airline::when($iata || $icao, function ($query) use ($iata, $icao) {
$query->orderByRaw("
CASE
WHEN \"IATA_code\" = ? AND \"ICAO_code\" = ? THEN 0
WHEN \"IATA_code\" = ? THEN 1
WHEN \"ICAO_code\" = ? THEN 2
WHEN \"iata_code\" = ? AND \"icao_code\" = ? THEN 0
WHEN \"iata_code\" = ? THEN 1
WHEN \"icao_code\" = ? THEN 2
ELSE 3
END
", [$iata, $icao, $iata, $icao])
->where(function ($q) use ($iata, $icao) {
$q->where('IATA_code', $iata)
->orWhere('ICAO_code', $icao);
$q->where('iata_code', $iata)
->orWhere('icao_code', $icao);
});
})
->orderByDesc('active')
->limit(10)
->get(['id', 'name', 'IATA_code', 'ICAO_code', 'internal_name'])
->get(['id', 'name', 'iata_code', 'icao_code', 'internal_name'])
->map(fn($airline) => [
'value' => $airline->id,
'title' => $airline->display_name,
+5 -5
View File
@@ -16,13 +16,13 @@ class SearchController extends Controller
->where(function ($query) use ($q) {
$len = strlen($q);
if ($len === 2) {
$query->where('IATA_code', 'ilike', $q);
$query->where('iata_code', 'ilike', $q);
} elseif ($len === 3) {
$query->where('ICAO_code', 'ilike', $q);
$query->where('icao_code', 'ilike', $q);
} else {
$query->where('name', 'ilike', "%{$q}%")
->orWhere('IATA_code', 'ilike', "%{$q}%")
->orWhere('ICAO_code', 'ilike', "%{$q}%");
->orWhere('iata_code', 'ilike', "%{$q}%")
->orWhere('icao_code', 'ilike', "%{$q}%");
}
})
->limit(50)
@@ -44,7 +44,7 @@ class SearchController extends Controller
->orWhereRaw("CONCAT(manufacturer_code, ' ', model_full_name) ilike ?", ["%{$q}%"])
->orWhereRaw("CONCAT(manufacturer_code, ' ', model_full_name) ilike ?", ["%{$replacedQuery}%"])
->limit(200)
->orderBy('id', 'asc')
->orderBy('preferred', 'desc')
->get(['id', 'manufacturer_code', 'model_full_name', 'designator'])
->map(fn($aircraft) => [
'value' => $aircraft->id,
+3 -3
View File
@@ -12,8 +12,8 @@ class Airline extends Model
protected $table = 'airlines';
protected $fillable = [
'IATA_code',
'ICAO_code',
'iata_code',
'icao_code',
'name',
'internal_name',
'country_id',
@@ -35,7 +35,7 @@ class Airline extends Model
protected function displayName() : Attribute{
return Attribute::make(
get: function () {
$codes = array_filter([$this->IATA_code, $this->ICAO_code]);
$codes = array_filter([$this->iata_code, $this->icao_code]);
$codeString = count($codes) ? ' (' . implode('/', $codes) . ')' : '';
return "{$this->name}{$codeString}";
}
@@ -46,8 +46,8 @@ class FunChallengesChecker extends BaseChecker
$flights = $this->flights();
$airlineLetters = $flights
->filter(fn(UserFlight $f) => $f->airline?->IATA_code !== null)
->map(fn(UserFlight $f) => strtoupper($f->airline->IATA_code[0]))
->filter(fn(UserFlight $f) => $f->airline?->iata_code !== null)
->map(fn(UserFlight $f) => strtoupper($f->airline->iata_code[0]))
->filter(fn($letter) => ctype_alpha($letter))
->unique()
->count();