Fall back to local DB when FCC name search is blocked
FCC/Akamai is blocking our server IP (403). Name search now falls back to querying the local fcc_499_filers table (20K+ records) when the live FCC search fails. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
33684a9152
commit
bbfa6393fa
1 changed files with 28 additions and 2 deletions
|
|
@ -1329,8 +1329,34 @@ router.get("/api/v1/fcc/cores-search", async (req, res) => {
|
|||
source: "FCC Form 499 Filer Database",
|
||||
});
|
||||
} catch (err: any) {
|
||||
console.error("[fcc-cores-search] Error:", err);
|
||||
res.status(500).json({ error: "FCC search failed: " + (err.message || "unknown error") });
|
||||
// FCC is down or blocking us — fall back to local database
|
||||
console.warn("[fcc-cores-search] FCC search failed, falling back to local DB:", err.message);
|
||||
try {
|
||||
const localResults = await pool.query(
|
||||
`SELECT filer_id, legal_name, trade_name AS dba, frn
|
||||
FROM fcc_499_filers
|
||||
WHERE legal_name ILIKE $1 OR trade_name ILIKE $1
|
||||
ORDER BY legal_name
|
||||
LIMIT 50`,
|
||||
[`%${name}%`],
|
||||
);
|
||||
const enriched = localResults.rows.map((r: any) => ({
|
||||
filer_id: r.filer_id,
|
||||
legal_name: r.legal_name,
|
||||
dba: r.dba || "",
|
||||
frn: r.frn || null,
|
||||
}));
|
||||
res.json({
|
||||
results: enriched,
|
||||
count: enriched.length,
|
||||
total_found: enriched.length,
|
||||
query: name,
|
||||
source: "Local database (FCC search temporarily unavailable)",
|
||||
});
|
||||
} catch (dbErr: any) {
|
||||
console.error("[fcc-cores-search] Local fallback also failed:", dbErr);
|
||||
res.status(500).json({ error: "Search is temporarily unavailable. Please try again later or search by FRN." });
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue