← back to Commercialrealestate
FHA loans: add /fha-loans route + /api/fha-loans JSON endpoint to serve.js
4191307b04372ea3618b148fae82b638f7041ca8 · 2026-06-30 16:44:04 -0700 · Steve Abrams
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Files touched
Diff
commit 4191307b04372ea3618b148fae82b638f7041ca8
Author: Steve Abrams <steve@designerwallcoverings.com>
Date: Tue Jun 30 16:44:04 2026 -0700
FHA loans: add /fha-loans route + /api/fha-loans JSON endpoint to serve.js
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
---
scripts/serve.js | 15 +++++++++++++++
1 file changed, 15 insertions(+)
diff --git a/scripts/serve.js b/scripts/serve.js
index fd469c1..9bf8904 100644
--- a/scripts/serve.js
+++ b/scripts/serve.js
@@ -125,6 +125,21 @@ app.get('/api/brokers/linkedin', async (req, res) => {
} catch (e) { res.status(502).json({ error: String(e.message).split('\n')[0], people: [] }); }
});
+// ALL brokers/agents with EVERY field — backs the sortable/searchable broker grid+list (broker-grid.html).
+app.get('/api/brokers/all', async (req, res) => {
+ if (!brokerdb) return res.json({ brokers: [], unavailable: true });
+ try {
+ const rows = (await brokerdb.pool.query(
+ `SELECT b.id, b.name, f.name firm, b.agent_type, b.phone, b.email, b.website, b.linkedin,
+ b.license, b.title, b.total_assets, b.specialties, b.office_addr, b.crexi_id, b.source, b.created_at,
+ (SELECT count(*) FROM broker_listing bl WHERE bl.broker_id=b.id)
+ + (SELECT count(*) FROM broker_condo bc WHERE bc.broker_id=b.id) AS listings
+ FROM broker b LEFT JOIN firm f ON f.id=b.firm_id
+ ORDER BY listings DESC NULLS LAST, b.name`)).rows;
+ res.json({ brokers: rows, total: rows.length });
+ } catch (e) { res.status(502).json({ error: String(e.message).split('\n')[0], brokers: [] }); }
+});
+
// Best leads for Frank — rank brokers by how financeable their CURRENT listings are for Arcstone's
// non-QM / portfolio products (mixed-use, non-warrantable condo, DSCR multifamily — the deals
// conventional lenders pass on). Returns ranked brokers WITH their current listings (MLS-like fields).
← 06ad891 auto-save: 2026-06-30T16:41:53 (10 files) — public/condos.ht
·
back to Commercialrealestate
·
Broker grid+list view — all 2,537 brokers, every field sorta ddcd86b →