← back to Vendor Price Requests
VPR: exclude skip-own-brand (Hollywood) from letter list
a3a5713163f2a9739cefd835461ebec4ae61aabb · 2026-06-17 10:39:39 -0700 · Steve Abrams
Files touched
Diff
commit a3a5713163f2a9739cefd835461ebec4ae61aabb
Author: Steve Abrams <steve@designerwallcoverings.com>
Date: Wed Jun 17 10:39:39 2026 -0700
VPR: exclude skip-own-brand (Hollywood) from letter list
---
server.js | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/server.js b/server.js
index 1c6e8a9..958597b 100644
--- a/server.js
+++ b/server.js
@@ -40,7 +40,7 @@ app.get('/api/vendors', async (req, res) => {
max(vc.email) AS email,
max(ps.letter_status) AS letter_status
FROM price_sourcing ps LEFT JOIN vendor_contacts vc ON vc.vendor=ps.vendor
- WHERE ps.crawl_status <> 'found' AND COALESCE(ps.has_price,false)=false
+ WHERE ps.crawl_status <> 'found' AND COALESCE(ps.has_price,false)=false AND COALESCE(ps.letter_status,'none') <> 'skip-own-brand'
GROUP BY ps.vendor ORDER BY count(*) DESC`);
res.json({ vendors: q.rows });
} catch (e) { res.status(500).json({ error: e.message }); }
@@ -49,7 +49,7 @@ app.get('/api/vendors', async (req, res) => {
app.get('/api/letter/:vendor', async (req, res) => {
try {
const v = req.params.vendor;
- const rows = (await pool.query(`SELECT dw_sku, mfr_sku, pattern, color FROM price_sourcing WHERE vendor=$1 AND crawl_status<>'found' AND COALESCE(has_price,false)=false ORDER BY pattern, mfr_sku`, [v])).rows;
+ const rows = (await pool.query(`SELECT dw_sku, mfr_sku, pattern, color FROM price_sourcing WHERE vendor=$1 AND crawl_status<>'found' AND COALESCE(has_price,false)=false AND COALESCE(letter_status,'none')<>'skip-own-brand' ORDER BY pattern, mfr_sku`, [v])).rows;
const email = (await pool.query(`SELECT email FROM vendor_contacts WHERE vendor=$1`, [v])).rows[0]?.email || '';
res.json({ vendor: v, count: rows.length, email, subject: `Trade pricing request — ${v} (${rows.length} patterns)`, body: letterBody(v, rows), skus: rows.slice(0, 500) });
} catch (e) { res.status(500).json({ error: e.message }); }
← 589e3fa Crawl viability finding: Tier-B prices not in static HTML (J
·
back to Vendor Price Requests
·
Add state-sync: detect showroom SKUs that got a roll/price → 075fd33 →