feat: SEO template library, discovery pipeline, and orchestrator enhancements
## SEO Template Library - Add complete template library with 7 page types (state, city, category, brand, product, search, regeneration) - Add Template Library tab in SEO Orchestrator with accordion-based editors - Add template preview, validation, and variable injection engine - Add API endpoints: /api/seo/templates, preview, validate, generate, regenerate ## Discovery Pipeline - Add promotion.ts for discovery location validation and promotion - Add discover-all-states.ts script for multi-state discovery - Add promotion log migration (067) - Enhance discovery routes and types ## Orchestrator & Admin - Add crawl_enabled filter to stores page - Add API permissions page - Add job queue management - Add price analytics routes - Add markets and intelligence routes - Enhance dashboard and worker monitoring ## Infrastructure - Add migrations for worker definitions, SEO settings, field alignment - Add canonical pipeline for scraper v2 - Update hydration and sync orchestrator - Enhance multi-state query service 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -37,8 +37,22 @@ router.get('/:id', async (req, res) => {
|
||||
}
|
||||
|
||||
const productsResult = await pool.query(`
|
||||
SELECT p.*, cp.display_order
|
||||
FROM products p
|
||||
SELECT
|
||||
p.id,
|
||||
p.dispensary_id,
|
||||
p.name_raw as name,
|
||||
p.brand_name_raw as brand,
|
||||
p.category_raw as category,
|
||||
p.subcategory_raw as subcategory,
|
||||
p.price_rec as price,
|
||||
p.thc_percent,
|
||||
p.cbd_percent,
|
||||
p.strain_type,
|
||||
p.primary_image_url as image_url,
|
||||
p.stock_status,
|
||||
p.is_in_stock as in_stock,
|
||||
cp.display_order
|
||||
FROM store_products p
|
||||
JOIN campaign_products cp ON p.id = cp.product_id
|
||||
WHERE cp.campaign_id = $1
|
||||
ORDER BY cp.display_order
|
||||
|
||||
Reference in New Issue
Block a user