[object Object]

← back to Rentv 2026

server: Cody gate — add buyer/seller/broker to DEALS_FIELDS. My deals-manage gap-fill now SHOWS the corpus-enriched parties, but the PUT/POST handlers iterate DEALS_FIELDS to save — which omitted parties (unlike CLOSE_FIELDS) — so an admin could see a wrong buyer but their correction was silently dropped. Now DEALS_FIELDS matches CLOSE_FIELDS; party corrections persist through /api/deals-manage POST+PUT

5bb00f14457b25037be4e34a1e53cb6350903134 · 2026-08-06 03:55:27 -0700 · Steve

Files touched

Diff

commit 5bb00f14457b25037be4e34a1e53cb6350903134
Author: Steve <steve@designerwallcoverings.com>
Date:   Thu Aug 6 03:55:27 2026 -0700

    server: Cody gate — add buyer/seller/broker to DEALS_FIELDS. My deals-manage gap-fill now SHOWS the corpus-enriched parties, but the PUT/POST handlers iterate DEALS_FIELDS to save — which omitted parties (unlike CLOSE_FIELDS) — so an admin could see a wrong buyer but their correction was silently dropped. Now DEALS_FIELDS matches CLOSE_FIELDS; party corrections persist through /api/deals-manage POST+PUT
---
 server.js | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/server.js b/server.js
index 8efd1bc8..ca725c65 100644
--- a/server.js
+++ b/server.js
@@ -514,7 +514,7 @@ app.post('/api/closings/:id/restore', adminOnly, (req, res) => {
 //    Base = deals.json (all txns) ∪ article corpus (all txns, listings filtered) deduped by id,
 //    with the deals-overrides.json manual layer on top. ──
 const DEALS_OV = 'deals-overrides.json';
-const DEALS_FIELDS = ['txn_type', 'title', 'address', 'city', 'state', 'property_type', 'amount_label', 'size_label', 'year_built', 'close_date', 'image', 'summary'];
+const DEALS_FIELDS = ['txn_type', 'title', 'address', 'city', 'state', 'property_type', 'amount_label', 'size_label', 'year_built', 'close_date', 'image', 'summary', 'buyer', 'seller', 'broker'];
 const readDealsOv = () => readJSON(DEALS_OV, { adds: [], edits: {}, hides: [], updated_at: null });
 const writeDealsOv = (o) => fs.writeFileSync(path.join(DATA, DEALS_OV), JSON.stringify(o, null, 1));
 // Map corpus articles (ALL txn types) → deal rows; drop "offered for sale"/pending listings.

← d1a58814 server: /api/deals-manage now gap-fills feed rows from the c  ·  back to Rentv 2026  ·  auto-save: 2026-08-06T04:18:20 (7 files) — data/deals-regist afca6a93 →