Issue 1 #2

Merged
ztimson merged 2 commits from issue-1 into master 2026-09-16 23:38:41 -04:00
Showing only changes of commit 4520447156 - Show all commits
+20 -17
View File
@@ -111,21 +111,21 @@ export async function initAircraftDb() {
db = new Database(DB_PATH); db = new Database(DB_PATH);
db.exec(` db.exec(`
CREATE TABLE IF NOT EXISTS aircraft ( CREATE TABLE IF NOT EXISTS aircraft (
icao TEXT PRIMARY KEY, icao TEXT PRIMARY KEY,
built TEXT, built TEXT,
categoryDescription TEXT, categoryDescription TEXT,
country TEXT, country TEXT,
engines TEXT, engines TEXT,
class TEXT, class TEXT,
manufacturer TEXT, manufacturer TEXT,
model TEXT, model TEXT,
modes TEXT, modes TEXT,
operator TEXT, operator TEXT,
operatorCallsign TEXT, operatorCallsign TEXT,
owner TEXT, owner TEXT,
registration TEXT, registration TEXT,
serialNumber TEXT, serialNumber TEXT,
aircraft TEXT aircraft TEXT
); );
CREATE TABLE IF NOT EXISTS military_ranges (start TEXT NOT NULL, end TEXT NOT NULL); CREATE TABLE IF NOT EXISTS military_ranges (start TEXT NOT NULL, end TEXT NOT NULL);
@@ -220,7 +220,7 @@ async function syncMilitaryIcao() {
try { try {
const page = await fetch(ADSB_URL + ':8080').then(resp => resp.text()); const page = await fetch(ADSB_URL + ':8080').then(resp => resp.text());
const db = /databaseFolder = "(db-.+?)"/.exec(page); const db = /databaseFolder = "(db-.+?)"/.exec(page);
const res = await fetch(ADSB_URL + `:8080/${db[1]}/ranges.js`); const res = await fetch(ADSB_URL + `${db[1]}/ranges.js`);
if (!res.ok) throw new Error(`HTTP ${res.status}`); if (!res.ok) throw new Error(`HTTP ${res.status}`);
const { military } = await res.json(); const { military } = await res.json();
db.exec('DELETE FROM military_ranges'); db.exec('DELETE FROM military_ranges');
@@ -243,7 +243,10 @@ export function classifyAircraft(row) {
const matchesAny = (fields, list) => fields.some(f => { const matchesAny = (fields, list) => fields.some(f => {
const value = normalizeName(f); const value = normalizeName(f);
return value && list.some(k => value.includes(normalizeName(k))); return value && list.some(k => {
const kw = normalizeName(k);
return kw && new RegExp('\\b' + kw.replace(/[.*+?^${}()|[\\]\\]/g, '\\$&') + '\\b', 'i').test(value);
});
}); });
const operators = [row.operator, row.operatorCallsign, row.owner]; const operators = [row.operator, row.operatorCallsign, row.owner];