Deduplicate airlines

This commit is contained in:
2026-04-17 00:02:47 +10:00
parent a535521834
commit 5066052013
5 changed files with 321 additions and 9 deletions
+31 -3
View File
@@ -8,16 +8,32 @@ use Illuminate\Support\Facades\Storage;
class LogoController extends Controller
{
public function getAirlineLogo(?Airline $airline){
const array CONDOR_LOGOS = ['BEACH', 'ISLAND', 'PASSION', 'SEA', 'SUNSHINE'];
public function getAirlineLogo(?Airline $airline)
{
$logoFile = $airline?->logo ?? 'blank.png';
$cacheLimit = 60 * 60 * 24;
if ($airline?->internal_name == 'condor') {
$logoKey = array_rand(self::CONDOR_LOGOS);
$logoFile = 'DE_' . self::CONDOR_LOGOS[$logoKey] . '.png';
$cacheLimit = 1;
}
$path = 'images/logos/tail/' . $logoFile;
if (!Storage::disk('local')->exists($path)) {
$path = 'images/logos/tail/blank.png';
}
return response()->file(Storage::disk('local')->path($path), [
'Content-Type' => 'image/png',
$fullPath = Storage::disk('local')->path($path);
$lastModified = filemtime($fullPath);
return response()->file($fullPath, [
'Content-Type' => 'image/png',
'Cache-Control' => 'public, max-age='.$cacheLimit, // 24 hours
'Last-Modified' => gmdate('D, d M Y H:i:s', $lastModified) . ' GMT',
'ETag' => md5($path . $lastModified),
]);
}
@@ -67,6 +83,18 @@ class LogoController extends Controller
return;
}
$existing = Airline::whereIn('internal_name', $correctInternalNames)
->pluck('internal_name')
->toArray();
$missing = array_diff($correctInternalNames, $existing);
if (!empty($missing)) {
throw new \InvalidArgumentException(
'The following internal names do not exist in the database: ' . implode(', ', $missing)
);
}
$nulled = Airline::where('logo', $logo)
->whereNotIn('internal_name', $correctInternalNames)
->get(['name', 'internal_name']);
+10 -3
View File
@@ -14,9 +14,16 @@ class SearchController extends Controller
return Airline::orderByDesc('active')
->where(function ($query) use ($q) {
$query->where('name', 'ilike', "%{$q}%")
->orWhere('IATA_code', 'ilike', "%{$q}%")
->orWhere('ICAO_code', 'ilike', "%{$q}%");
$len = strlen($q);
if ($len === 2) {
$query->where('IATA_code', 'ilike', $q);
} elseif ($len === 3) {
$query->where('ICAO_code', 'ilike', $q);
} else {
$query->where('name', 'ilike', "%{$q}%")
->orWhere('IATA_code', 'ilike', "%{$q}%")
->orWhere('ICAO_code', 'ilike', "%{$q}%");
}
})
->limit(50)
->get(['id', 'name', 'IATA_code', 'ICAO_code', 'logo'])
@@ -1,6 +1,7 @@
<?php
use App\Http\Controllers\LogoController;
use App\Models\Airline;
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
@@ -15,15 +16,20 @@ return new class extends Migration
Schema::table('airlines', function (Blueprint $table) {
$table->string('logo', 255)->nullable()->change();
});
LogoController::nullMissingLogoFiles();
LogoController::nullMissingLogoFiles();
$this->deDuplicateLogos();
$this->checkNonDuplicateLogos();
Airline::whereNull('logo')->delete();
}
private function checkNonDuplicateLogos(){
LogoController::deduplicateLogo('0V.png', ['vasco']);
LogoController::deduplicateLogo('2I.png', ['star-up']);
LogoController::deduplicateLogo('2H.png', []);
LogoController::deduplicateLogo('2J.png', ['air-burkina']);
LogoController::deduplicateLogo('2M.png', []);
LogoController::deduplicateLogo('2P.png', ['air-philippines-corporation-dba-pal-express-and-airphil-express']);
@@ -142,7 +148,7 @@ return new class extends Migration
LogoController::deduplicateLogo('JV.png', ['bearskin-lake-air-lp']);
LogoController::deduplicateLogo('K2.png', []);
LogoController::deduplicateLogo('K3.png', []);
LogoController::deduplicateLogo('KE.png', ['korean']);
LogoController::deduplicateLogo('KE.png', ['korean-air']);
LogoController::deduplicateLogo('KL.png', ['klm']);
LogoController::deduplicateLogo('KM.png', ['air-malta']);
LogoController::deduplicateLogo('KU.png', ['kuwait-airways']);
@@ -0,0 +1,271 @@
<?php
use App\Models\Airline;
use App\Models\Country;
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
public function createAirline(
string $name,
bool $active,
string $countryCode,
?string $iataCode = null,
?string $icaoCode = null,
?string $logo = null,
?string $internalName = null,
): self {
$country = Country::where('code', $countryCode)->firstOrFail();
$internalName = $internalName ?? $this->generateInternalName($name);
$logo = $logo ?? $iataCode . '.png';
Airline::create([
'IATA_code' => $iataCode,
'ICAO_code' => $icaoCode,
'name' => $name,
'internal_name' => $internalName,
'active' => $active,
'logo' => $logo,
'country_id' => $country->id,
]);
return $this;
}
private function generateInternalName(string $name): string
{
return preg_replace('/[^a-z0-9]+/', '-', strtolower($name));
}
public function up(): void
{
$this
->createAirline(name: 'Air Astra', active: true, countryCode: 'BD', iataCode: '2A', icaoCode: 'AWA') //✅
->createAirline(name: 'CMA CGM Air Cargo', active: true, countryCode: 'FR', iataCode: '2C', icaoCode: 'CMA') //✅
->createAirline(name: 'Eastern Airlines', active: true, countryCode: 'US', iataCode: '2D', icaoCode: 'EAL') //✅
->createAirline(name: 'Azul Conecta', active: true, countryCode: 'BR', iataCode: '2F', icaoCode: 'ACN') //✅
->createAirline(name: 'Maya Island Air', active: true, countryCode: 'BZ', iataCode: '2M', icaoCode: 'MYD') //✅
->createAirline(name: 'NG Eagle', active: true, countryCode: 'NG', iataCode: '2N', icaoCode: 'XLE') //✅
->createAirline(name: 'Sunlight Air', active: true, countryCode: 'PH', iataCode: '2R', icaoCode: 'RLB') //✅
->createAirline(name: 'Southwind Airlines', active: true, countryCode: 'TR', iataCode: '2S', icaoCode: 'STW') //✅
->createAirline(name: 'BermudAir', active: true, countryCode: 'BM', iataCode: '2T', icaoCode: 'BMA') //✅
->createAirline(name: 'World2Fly', active: true, countryCode: 'ES', iataCode: '2W', icaoCode: 'WFL') //✅
->createAirline(name: 'Air Chathams', active: true, countryCode: 'NZ', iataCode: '3C', icaoCode: 'CVA')//✅
->createAirline(name: 'Air Arabia Abu Dhabi', active: true, countryCode: 'AE', iataCode: '3L', icaoCode: 'ADY')//✅
->createAirline(name: 'World2Fly Portugal', active: true, countryCode: 'PT', iataCode: '3P', icaoCode: 'WPT')//✅
->createAirline(name: 'Divi Divi Air', active: true, countryCode: 'CW', iataCode: '3R', icaoCode: 'DVR')//✅
->createAirline(name: 'Smartwings Poland', active: true, countryCode: 'PL', iataCode: '3Z', icaoCode: 'TVP')//✅
->createAirline(name: 'Atsa Airways', active: true, countryCode: 'PE', iataCode: '4A', icaoCode: 'AMP')//✅
->createAirline(name: 'FlyYo', active: true, countryCode: 'RO', iataCode: '4D', icaoCode: 'DIR')//✅
->createAirline(name: 'Freedom Airlines Express', active: true, countryCode: 'KE', iataCode: '4F', icaoCode: 'FDT')//✅
->createAirline(name: 'Freedom Airlines Express Somalia', active: true, countryCode: 'SO', iataCode: '4K', icaoCode: 'SMK', internalName: 'freedom-airlines-express-somalia')//✅
->createAirline(name: 'Air Antilles', active: true, countryCode: 'GP', iataCode: '4I', icaoCode: 'KES')//✅
->createAirline(name: 'Mavi Gok Airlines', active: true, countryCode: 'TR', iataCode: '4M', icaoCode: 'MGH')//✅
->createAirline(name: 'Air Montenegro', active: true, countryCode: 'ME', iataCode: '4O', icaoCode: 'MNE')//✅
->createAirline(name: 'Red Sea Airlines', active: true, countryCode: 'EG', iataCode: '4S', icaoCode: 'RSX')//✅
->createAirline(name: 'Rise Air', active: true, countryCode: 'CA', iataCode: '4T', icaoCode: 'WEW')//✅
->createAirline(name: 'Discover Airlines', active: true, countryCode: 'DE', iataCode: '4Y', icaoCode: 'OCN')//✅
->createAirline(name: 'Lanexang Airways', active: true, countryCode: 'LA', iataCode: '5A', icaoCode: 'LXW')//✅
->createAirline(name: 'Aeromexico Connect', active: true, countryCode: 'MX', iataCode: '5D', icaoCode: 'SLI')//✅
->createAirline(name: 'Shirak Avia', active: true, countryCode: 'AM', iataCode: '5G', icaoCode: 'SHS')//✅
->createAirline(name: 'LIAT Air', active: true, countryCode: 'AG', iataCode: '5L', icaoCode: 'GAO')//✅
->createAirline(name: 'Smartavia', active: true, countryCode: 'RU', iataCode: '5N', icaoCode: 'AUL')//✅
->createAirline(name: 'Smartwings Slovakia', active: true, countryCode: 'SK', iataCode: '6D', icaoCode: 'TVQ')//✅
->createAirline(name: 'Air Anka', active: true, countryCode: 'TR', iataCode: '6K', icaoCode: 'TAH')//✅
->createAirline(name: 'CVSky', active: true, countryCode: 'CV', iataCode: '7B', icaoCode: 'KGF')//✅
->createAirline(name: 'Smartwings Hungary', active: true, countryCode: 'HU', iataCode: '7O', icaoCode: 'TVL')//✅
->createAirline(name: 'AeroDili', active: true, countryCode: 'TL', iataCode: '8G', icaoCode: 'DTL')//✅
->createAirline(name: 'Isles of Scilly Skybus', active: true, countryCode: 'GB', iataCode: '8Y', icaoCode: 'IOS')//✅
->createAirline(name: 'Congo Airways', active: true, countryCode: 'CD', iataCode: '8Z', icaoCode: 'CGA')//✅
->createAirline(name: 'Genghis Khan Airlines', active: true, countryCode: 'CN', iataCode: '9D', icaoCode: 'NMG')//✅
->createAirline(name: 'Sun PhuQuoc', active: true, countryCode: 'VN', iataCode: '9G', icaoCode: 'SPQ')//✅
->createAirline(name: 'Fly Jinnah', active: true, countryCode: 'PK', iataCode: '9P', icaoCode: 'FJL')//✅
->createAirline(name: 'SATENA', active: true, countryCode: 'CO', iataCode: '9R', icaoCode: 'NSE')//✅
->createAirline(name: 'Air Samarkand', active: true, countryCode: 'UZ', iataCode: '9S', icaoCode: 'UZS')//✅
->createAirline(name: 'AnimaWings', active: true, countryCode: 'RO', iataCode: 'A2', icaoCode: 'AWG')//✅
->createAirline(name: 'Azimuth Airlines', active: true, countryCode: 'RU', iataCode: 'A4', icaoCode: 'AZO')//✅
->createAirline(name: 'Air Travel', active: true, countryCode: 'CN', iataCode: 'A6', icaoCode: 'OTC')//✅
->createAirline(name: 'AeroLink Uganda', active: true, countryCode: 'UG', iataCode: 'A8', icaoCode: 'XAU')//✅
->createAirline(name: 'Aruba Airlines', active: true, countryCode: 'AW', iataCode: 'AG', icaoCode: 'ARU')//✅
->createAirline(name: 'Air Juan', active: true, countryCode: 'PH', iataCode: 'AO')//✅
->createAirline(name: 'ITA Airways', active: true, countryCode: 'IT', iataCode: 'AZ', icaoCode: 'ITY', logo: 'AZ_2.png')//✅
->createAirline(name: 'BeOND', active: true, countryCode: 'MV', iataCode: 'B4', icaoCode: 'BYD')//✅
->createAirline(name: 'TUI Airways', active: true, countryCode: 'GB', iataCode: 'BY', icaoCode: 'TOM')//✅
->createAirline(name: 'Uni Air', active: true, countryCode: 'TW', iataCode: 'B7', icaoCode: 'UIA')//✅
->createAirline(name: 'French Bee', active: true, countryCode: 'FR', iataCode: 'BF', icaoCode: 'FBU')//✅
->createAirline(name: 'Pacific Airlines', active: true, countryCode: 'VN', iataCode: 'BL', icaoCode: 'PIC')//✅
->createAirline(name: 'Medsky', active: true, countryCode: 'LY', iataCode: 'BM', icaoCode: 'MNS')//✅
->createAirline(name: 'SkyAlps', active: true, countryCode: 'IT', iataCode: 'BQ', icaoCode: 'SWU')//✅
->createAirline(name: 'Toki Air', active: true, countryCode: 'JP', iataCode: 'BV', icaoCode: 'TOK')//✅
->createAirline(name: 'Bluebird Airways', active: true, countryCode: 'GR', iataCode: 'BZ', icaoCode: 'BBG')//✅
->createAirline(name: 'Centrum Air', active: true, countryCode: 'UZ', iataCode: 'C6', icaoCode: 'MFX')
->createAirline(name: 'Air Belgium', active: false, countryCode: 'BE', iataCode: 'CB', icaoCode: 'ABB')
->createAirline(name: 'Chair Airlines', active: true, countryCode: 'CH', iataCode: 'CS', icaoCode: 'CSW')
->createAirline(name: 'Sunrise Dominicana', active: true, countryCode: 'DO', iataCode: 'D6', icaoCode: 'GCA')
->createAirline(name: 'Daallo Airlines', active: true, countryCode: 'SO', iataCode: 'D9', icaoCode: 'DMQ')
->createAirline(name: 'Cebgo', active: true, countryCode: 'PH', iataCode: 'DG', icaoCode: 'SRQ')
->createAirline(name: 'FlyAden', active: true, countryCode: 'YE', iataCode: 'DH', icaoCode: 'QFF')
->createAirline(name: 'Marabu', active: true, countryCode: 'EE', iataCode: 'DI', icaoCode: 'MBU')
->createAirline(name: 'Sunclass Airlines', active: true, countryCode: 'DK', iataCode: 'DK', icaoCode: 'VKG')
->createAirline(name: 'Arajet', active: true, countryCode: 'DO', iataCode: 'DM', icaoCode: 'DWI')
->createAirline(name: 'Dan Air', active: true, countryCode: 'RO', iataCode: 'DN', icaoCode: 'DNA')
->createAirline(name: 'Alexandria Airlines', active: true, countryCode: 'EG', iataCode: 'DQ', icaoCode: 'KHH')
->createAirline(name: 'Enter Air', active: true, countryCode: 'PL', iataCode: 'E4', icaoCode: 'ENT')
->createAirline(name: 'Iberojet', active: true, countryCode: 'ES', iataCode: 'E9', icaoCode: 'EVE')
->createAirline(name: 'EasyJet Europe', active: true, countryCode: 'AT', iataCode: 'EC', icaoCode: 'EJU')
->createAirline(name: 'ECAIR', active: true, countryCode: 'CG', iataCode: 'EJ', icaoCode: 'EQR')
->createAirline(name: 'Air Dolomiti', active: true, countryCode: 'IT', iataCode: 'EN', icaoCode: 'DLA')
->createAirline(name: 'Fly Angola', active: true, countryCode: 'AO', iataCode: 'EQ')
->createAirline(name: 'Serene Air', active: false, countryCode: 'PK', iataCode: 'ER', icaoCode: 'SEP')
->createAirline(name: 'Avianca Express', active: true, countryCode: 'CO', iataCode: 'EX', icaoCode: 'AVR')
->createAirline(name: 'Flyadeal', active: true, countryCode: 'SA', iataCode: 'F3', icaoCode: 'FAD')
->createAirline(name: 'I-Fly', active: true, countryCode: 'RU', iataCode: 'F7', icaoCode: 'RSY')
->createAirline(name: 'Link Airways', active: true, countryCode: 'AU', iataCode: 'FC', icaoCode: 'FCA')
->createAirline(name: '748 Air Services', active: true, countryCode: 'KE', iataCode: 'FE', icaoCode: 'IHO')
->createAirline(name: 'FlyBondi', active: true, countryCode: 'AR', iataCode: 'FO', icaoCode: 'FBZ')
->createAirline(name: 'FlyPelican', active: true, countryCode: 'AU', iataCode: 'FP', icaoCode: 'FRE')
->createAirline(name: 'FlyArystan', active: true, countryCode: 'KZ', iataCode: 'FS', icaoCode: 'AYN')
->createAirline(name: 'FlyTiwi', active: true, countryCode: 'AU', iataCode: 'FT')
->createAirline(name: 'Guyane Express Fly', active: true, countryCode: 'GF', iataCode: 'G8')
->createAirline(name: 'Nexus Airlines', active: true, countryCode: 'AU', iataCode: 'GD')
->createAirline(name: 'Avianca Guatemala', active: true, countryCode: 'GT', iataCode: 'GU', icaoCode: 'GUG')
->createAirline(name: 'Costa Rica Green Airways', active: true, countryCode: 'CR', iataCode: 'GW', icaoCode: 'CRG')
->createAirline(name: 'HiSky Romania', active: true, countryCode: 'RO', iataCode: 'H4', icaoCode: 'HYS')
->createAirline(name: 'CM Airlines', active: true, countryCode: 'HN', iataCode: 'H5', icaoCode: 'OMT')
->createAirline(name: 'Sky Airline Peru', active: true, countryCode: 'PE', iataCode: 'H8', icaoCode: 'SKX')
->createAirline(name: 'Air Senegal', active: true, countryCode: 'SN', iataCode: 'HC', icaoCode: 'SZN')
->createAirline(name: 'Qanot Sharq', active: true, countryCode: 'UZ', iataCode: 'HH', icaoCode: 'QNT')
->createAirline(name: 'Heston Airlines', active: true, countryCode: 'LT', iataCode: 'HN', icaoCode: 'HST')
->createAirline(name: 'Populair', active: true, countryCode: 'SE', iataCode: 'HP', icaoCode: 'APF')
->createAirline(name: 'IndiaOne Air', active: true, countryCode: 'IN', iataCode: 'I7', icaoCode: 'IOA')
->createAirline(name: 'Fly91', active: true, countryCode: 'IN', iataCode: 'IC', icaoCode: 'GOA')
->createAirline(name: 'Southern Sky Airlines', active: true, countryCode: 'KZ', iataCode: 'IH', icaoCode: 'SRS');
$this
->createAirline(name: 'Air Kiribati', active: true, countryCode: 'KI', iataCode: 'IK', icaoCode: 'AKL')
->createAirline(name: 'IrAero', active: true, countryCode: 'RU', iataCode: 'IO', icaoCode: 'IAE')
->createAirline(name: 'Vietjet Air Qazaqstan', active: true, countryCode: 'KZ', iataCode: 'IQ', icaoCode: 'QAZ')
->createAirline(name: 'Sepehran Airlines', active: true, countryCode: 'IR', iataCode: 'IS', icaoCode: 'SHI')
->createAirline(name: 'Super Air Jet', active: true, countryCode: 'ID', iataCode: 'IU', icaoCode: 'SJV')
->createAirline(name: 'Air India Express', active: true, countryCode: 'IN', iataCode: 'IX', icaoCode: 'AXB')
->createAirline(name: 'Buffalo Airways', active: true, countryCode: 'CA', iataCode: 'J0', icaoCode: 'BFL')
->createAirline(name: 'FlyGabon', active: true, countryCode: 'GA', iataCode: 'J7', icaoCode: 'ABS')
->createAirline(name: 'Armenian Airlines', active: true, countryCode: 'AM', iataCode: 'JI', icaoCode: 'AAG')
->createAirline(name: 'LATAM Brasil', active: true, countryCode: 'BR', iataCode: 'JJ', icaoCode: 'TAM')
->createAirline(name: 'Jambojet', active: true, countryCode: 'KE', iataCode: 'JM', icaoCode: 'JMA')
->createAirline(name: 'Starlux Airlines', active: true, countryCode: 'TW', iataCode: 'JX', icaoCode: 'SJX')
->createAirline(name: 'Mingalar', active: true, countryCode: 'MM', iataCode: 'K7', icaoCode: 'KBZ')
->createAirline(name: 'TezJet', active: true, countryCode: 'KG', iataCode: 'K9', icaoCode: 'TEZ')
->createAirline(name: 'Denver Air Connection', active: true, countryCode: 'US', iataCode: 'KG', icaoCode: 'LYM')
->createAirline(name: 'ASKY Airlines', active: true, countryCode: 'TG', iataCode: 'KP', icaoCode: 'SKK')
->createAirline(name: 'Cambodia Airways', active: true, countryCode: 'KH', iataCode: 'KR', icaoCode: 'KME')
->createAirline(name: 'FlyJaya', active: true, countryCode: 'ID', iataCode: 'KS', icaoCode: 'FHS')
->createAirline(name: 'LATAM', active: true, countryCode: 'CL', iataCode: 'LA', icaoCode: 'LAN', logo: 'LA_2.png')
->createAirline(name: 'Lulutai Airlines', active: true, countryCode: 'TO', iataCode: 'L8', icaoCode: 'TON')
->createAirline(name: 'Contour Airlines', active: true, countryCode: 'US', iataCode: 'LF', icaoCode: 'VTE')
->createAirline(name: 'Level', active: true, countryCode: 'ES', iataCode: 'LL', icaoCode: 'LVL')
->createAirline(name: 'Avianca Costa Rica', active: true, countryCode: 'CR', iataCode: 'LR', icaoCode: 'LRC')
->createAirline(name: 'LJ Air', active: true, countryCode: 'CN', iataCode: 'LT', icaoCode: 'SNG')
->createAirline(name: 'Lauda Europe', active: true, countryCode: 'MT', iataCode: 'LW', icaoCode: 'LDA')
->createAirline(name: 'Eznis Airways', active: false, countryCode: 'MN', iataCode: 'MG', icaoCode: 'EZA')
->createAirline(name: 'Myway Airlines', active: true, countryCode: 'GE', iataCode: 'MJ', icaoCode: 'MYW')
->createAirline(name: 'Air Mediterranean', active: true, countryCode: 'GR', iataCode: 'MV', icaoCode: 'MAR')
->createAirline(name: 'Malta Air', active: true, countryCode: 'MT', iataCode: 'MW', icaoCode: 'MAY')
->createAirline(name: 'Breeze Airways', active: true, countryCode: 'US', iataCode: 'MX', icaoCode: 'MXY')
->createAirline(name: 'AirBorneo', active: true, countryCode: 'MY', iataCode: 'MY', icaoCode: 'MWG')
->createAirline(name: 'Volaris El Salvador', active: true, countryCode: 'SV', iataCode: 'N3', icaoCode: 'VOS')
->createAirline(name: 'Shree Airlines', active: true, countryCode: 'NP', iataCode: 'N9', icaoCode: 'SHA')
->createAirline(name: 'Binani Air', active: true, countryCode: 'NG', iataCode: 'NA', icaoCode: 'BGL')
->createAirline(name: 'Berniq Airways', active: true, countryCode: 'LY', iataCode: 'NB', icaoCode: 'BNL')
->createAirline(name: 'TAP Express', active: true, countryCode: 'PT', iataCode: 'NI', icaoCode: 'PGA')
->createAirline(name: 'Air Moana', active: true, countryCode: 'PF', iataCode: 'NM', icaoCode: 'NTR')
->createAirline(name: 'Neos', active: true, countryCode: 'IT', iataCode: 'NO', icaoCode: 'NOS')
->createAirline(name: 'Air Japan', active: true, countryCode: 'JP', iataCode: 'NQ', icaoCode: 'AJX')
->createAirline(name: 'Manta Air', active: true, countryCode: 'MV', iataCode: 'NR', icaoCode: 'MAV')
->createAirline(name: 'Overland Airways', active: true, countryCode: 'NG', iataCode: 'OF', icaoCode: 'OLA')
->createAirline(name: 'Samoa Airways', active: true, countryCode: 'WS', iataCode: 'OL', icaoCode: 'PAO')
->createAirline(name: 'Passion Air', active: true, countryCode: 'GH', iataCode: 'OP', icaoCode: 'DIG')
->createAirline(name: 'SalamAir', active: true, countryCode: 'OM', iataCode: 'OV', icaoCode: 'OMS')
->createAirline(name: 'Skyward Airlines', active: true, countryCode: 'KE', iataCode: 'OW', icaoCode: 'SEW')
->createAirline(name: 'Air Peace', active: true, countryCode: 'NG', iataCode: 'P4', icaoCode: 'APK')
->createAirline(name: 'Wingo', active: true, countryCode: 'CO', iataCode: 'P5', icaoCode: 'RPB')
->createAirline(name: 'PAL Airlines', active: true, countryCode: 'CA', iataCode: 'PB', icaoCode: 'PVL')
->createAirline(name: "People's", active: true, countryCode: 'AT', iataCode: 'PE', icaoCode: 'PEV')
->createAirline(name: 'AirSial', active: true, countryCode: 'PK', iataCode: 'PF', icaoCode: 'SIF')
->createAirline(name: 'LATAM Paraguay', active: true, countryCode: 'PY', iataCode: 'PZ', icaoCode: 'LAP')
->createAirline(name: 'SkyUp Airlines', active: true, countryCode: 'UA', iataCode: 'PQ', icaoCode: 'SQP')
->createAirline(name: 'SkyUp MT', active: true, countryCode: 'MT', iataCode: 'U5', icaoCode: 'SEU')
->createAirline(name: 'St Barth Commuter', active: true, countryCode: 'BL', iataCode: 'PV', icaoCode: 'SBU')
->createAirline(name: 'Maldivian', active: true, countryCode: 'MV', iataCode: 'Q2', icaoCode: 'DQA')
->createAirline(name: 'Volaris Costa Rica', active: true, countryCode: 'CR', iataCode: 'Q6', icaoCode: 'VOC')
->createAirline(name: 'Green Africa Airways', active: true, countryCode: 'NG', iataCode: 'Q9', icaoCode: 'GWG')
->createAirline(name: 'Camair-Co', active: true, countryCode: 'CM', iataCode: 'QC', icaoCode: 'CRC')
->createAirline(name: 'Bamboo Airways', active: true, countryCode: 'VN', iataCode: 'QH', icaoCode: 'BAV')
->createAirline(name: 'Ibom Air', active: true, countryCode: 'NG', iataCode: 'QI', icaoCode: 'IAN')
->createAirline(name: 'Akasa Air', active: true, countryCode: 'IN', iataCode: 'QP', icaoCode: 'AKJ')
->createAirline(name: 'Yakutia Airlines', active: true, countryCode: 'RU', iataCode: 'R3', icaoCode: 'SYL')
->createAirline(name: 'Rano Air', active: true, countryCode: 'NG', iataCode: 'R4', icaoCode: 'RAN')
->createAirline(name: 'DAT', active: true, countryCode: 'LT', iataCode: 'R6', icaoCode: 'DNU')
->createAirline(name: 'SkyFru', active: true, countryCode: 'KG', iataCode: 'R8', icaoCode: 'KGZ')
->createAirline(name: 'Ryanair UK', active: true, countryCode: 'GB', iataCode: 'RK', icaoCode: 'RUK')
->createAirline(name: 'Eswatini Air', active: true, countryCode: 'SZ', iataCode: 'RN', icaoCode: 'SZL')
->createAirline(name: 'Buzz', active: true, countryCode: 'PL', iataCode: 'RR', icaoCode: 'RYS')
->createAirline(name: 'Air Seoul', active: true, countryCode: 'KR', iataCode: 'RS', icaoCode: 'ASV')
->createAirline(name: 'UVT Aero', active: true, countryCode: 'RU', iataCode: 'RT', icaoCode: 'UVT')
->createAirline(name: 'Riyadh Air', active: true, countryCode: 'SA', iataCode: 'RX', icaoCode: 'RXI')
->createAirline(name: 'Sunrise Airways', active: true, countryCode: 'HT', iataCode: 'S6', icaoCode: 'KSZ')
->createAirline(name: 'Domestic Airlines', active: true, countryCode: 'DZ', iataCode: 'SF', icaoCode: 'DTH')
->createAirline(name: 'Singapore Airlines', active: true, countryCode: 'SG', iataCode: 'SQ', icaoCode: 'SIA')
->createAirline(name: 'Sun Country Airlines', active: true, countryCode: 'US', iataCode: 'SY', icaoCode: 'SCX')
->createAirline(name: 'AirSWIFT', active: true, countryCode: 'PH', iataCode: 'T6', icaoCode: 'ATX')
->createAirline(name: 'Avianca El Salvador', active: true, countryCode: 'SV', iataCode: 'TA', icaoCode: 'TAI')
->createAirline(name: 'Airnorth', active: true, countryCode: 'AU', iataCode: 'TL', icaoCode: 'ANO')
->createAirline(name: 'FlyErbil', active: true, countryCode: 'IQ', iataCode: 'UD', icaoCode: 'UBD')
->createAirline(name: 'Uganda Airlines', active: true, countryCode: 'UG', iataCode: 'UR', icaoCode: 'UGD')
->createAirline(name: 'Umza Air', active: true, countryCode: 'NG', iataCode: 'UY', icaoCode: 'UMZ')
->createAirline(name: 'Aleutian Airways', active: true, countryCode: 'US', iataCode: 'VC', icaoCode: 'SRY')
->createAirline(name: 'Vieques Air Link', active: true, countryCode: 'PR', iataCode: 'VD', icaoCode: 'VES')
->createAirline(name: 'Clic Air', active: true, countryCode: 'CO', iataCode: 'VE', icaoCode: 'EFY')
->createAirline(name: 'Ajet', active: true, countryCode: 'TR', iataCode: 'VF', icaoCode: 'TKJ')
->createAirline(name: 'Valuejet', active: true, countryCode: 'NG', iataCode: 'VK', icaoCode: 'FVJ')
->createAirline(name: 'Lufthansa City Airlines', active: true, countryCode: 'DE', iataCode: 'VL', icaoCode: 'LHX')
->createAirline(name: 'Vietravel Airlines', active: true, countryCode: 'VN', iataCode: 'VU', icaoCode: 'VAG')
->createAirline(name: 'Pattaya Airways', active: true, countryCode: 'TH', iataCode: 'VV', icaoCode: 'PTW')
->createAirline(name: 'Wizz Air Malta', active: true, countryCode: 'MT', iataCode: 'W4', icaoCode: 'WMT')
->createAirline(name: 'Wizz Air UK', active: true, countryCode: 'GB', iataCode: 'W9', icaoCode: 'WUK')
->createAirline(name: 'Wingo Panama', active: true, countryCode: 'PA', iataCode: 'WH', icaoCode: 'WWP')
->createAirline(name: 'Wasaya Airways', active: true, countryCode: 'CA', iataCode: 'WP', icaoCode: 'WSG')
->createAirline(name: 'Western Air', active: true, countryCode: 'BS', iataCode: 'WU', icaoCode: 'WST')
->createAirline(name: 'FlyNamibia', active: true, countryCode: 'NA', iataCode: 'WV', icaoCode: 'FLN')
->createAirline(name: 'Venezolana', active: true, countryCode: 'VE', iataCode: 'WW', icaoCode: 'VNE');
$this
->createAirline(name: 'Air Europa Express', active: true, countryCode: 'ES', iataCode: 'X5', icaoCode: 'OVA')
->createAirline(name: 'JSX', active: true, countryCode: 'US', iataCode: 'XE', icaoCode: 'JSX')
->createAirline(name: 'Mexicana de Aviacion', active: true, countryCode: 'MX', iataCode: 'XN', icaoCode: 'MXA')
->createAirline(name: 'Avelo Airlines', active: true, countryCode: 'US', iataCode: 'XP', icaoCode: 'VXP')
->createAirline(name: 'AeroItalia', active: true, countryCode: 'IT', iataCode: 'XZ', icaoCode: 'AEZ')
->createAirline(name: 'Suparna Airlines', active: true, countryCode: 'CN', iataCode: 'Y8', icaoCode: 'YZR')
->createAirline(name: 'Harbour Air Seaplanes', active: true, countryCode: 'CA', iataCode: 'YB')
->createAirline(name: 'Yamal Airlines', active: true, countryCode: 'RU', iataCode: 'YC', icaoCode: 'LLM')
->createAirline(name: 'Fly OYA', active: true, countryCode: 'LY', iataCode: 'YI', icaoCode: 'OYA')
->createAirline(name: 'Air Premia', active: true, countryCode: 'KR', iataCode: 'YP', icaoCode: 'APZ')
->createAirline(name: 'TAR Aerolineas', active: true, countryCode: 'MX', iataCode: 'YQ', icaoCode: 'LCT')
->createAirline(name: 'FlightLink', active: true, countryCode: 'TZ', iataCode: 'YS', icaoCode: 'FLZ')
->createAirline(name: 'Philippines AirAsia', active: true, countryCode: 'PH', iataCode: 'Z2', icaoCode: 'APG')
->createAirline(name: 'ZIPAIR', active: true, countryCode: 'JP', iataCode: 'ZG', icaoCode: 'TZP')
->createAirline(name: 'Zambia Airways', active: true, countryCode: 'ZM', iataCode: 'ZN', icaoCode: 'AZB')
->createAirline(name: 'Paranair', active: true, countryCode: 'PY', iataCode: 'ZP', icaoCode: 'AZP')
->createAirline(name: 'Aerus', active: true, countryCode: 'MX', iataCode: 'ZV', icaoCode: 'RFD')
;
}
public function down(): void
{
}
};
@@ -46,7 +46,7 @@ const searchAirlines = async (query: string) => {
item-title="title"
@update:search="searchAirlines"
@focus="onFocus"
hint="Showing closest matches to the imported value"
hint=""
placeholder="SriLankan Airlines"
clearable
hide-no-data