-- Migration 066 — Juniper Networks: EX Series, MX Series, QFX Series
--
-- All 10 URLs verified HTTP 200 (2026-04-21).
-- Image CDN: juniper.net/content/dam/www/assets/images/us/en/image-library/[series]/[model]/
--   Official Juniper image library — stable, high-res front-panel photos.

-- ── EX Series ────────────────────────────────────────────────────────────────

-- EX4100-48P — 48×1G PoE+ + 4×10G SFP+ campus switch
UPDATE switches
SET image_url        = 'https://www.juniper.net/content/dam/www/assets/images/us/en/image-library/ex-series/ex4100-48t-48p/ex4100-48p-front-high.jpg',
    product_page_url = COALESCE(product_page_url, 'https://www.juniper.net/us/en/products/switches/ex-series/ex4100-ethernet-switch.html'),
    assets_scraped_at = NOW()
WHERE model = 'EX4100-48P'
  AND vendor_id = (SELECT id FROM vendors WHERE slug = 'juniper');

-- EX4400-48T — 48×1G campus switch with flexible uplinks
UPDATE switches
SET image_url        = 'https://www.juniper.net/content/dam/www/assets/images/us/en/image-library/ex-series/ex4400/ex4400-48t-front-straight.jpg',
    product_page_url = COALESCE(product_page_url, 'https://www.juniper.net/us/en/products/switches/ex-series/ex4400-ethernet-switch.html'),
    assets_scraped_at = NOW()
WHERE model = 'EX4400-48T'
  AND vendor_id = (SELECT id FROM vendors WHERE slug = 'juniper');

-- EX4650-48Y — 48×25G SFP28 + 4×100G QSFP28 data center switch
UPDATE switches
SET image_url        = 'https://www.juniper.net/content/dam/www/assets/images/us/en/image-library/ex-series/ex4650-48y/ex4650-48y-front-high.jpg',
    product_page_url = COALESCE(product_page_url, 'https://www.juniper.net/us/en/products/switches/ex-series/ex4650-ethernet-switch.html'),
    assets_scraped_at = NOW()
WHERE model = 'EX4650-48Y'
  AND vendor_id = (SELECT id FROM vendors WHERE slug = 'juniper');

-- ── MX Series ────────────────────────────────────────────────────────────────

-- MX10008 — 8-slot universal routing platform chassis
UPDATE switches
SET image_url        = 'https://www.juniper.net/content/dam/www/assets/images/us/en/image-library/mx-series/mx10008/mx10008-front-high.jpg',
    product_page_url = COALESCE(product_page_url, 'https://www.juniper.net/us/en/products/routers/mx-series/mx10008-universal-routing-platform.html'),
    assets_scraped_at = NOW()
WHERE model = 'MX10008'
  AND vendor_id = (SELECT id FROM vendors WHERE slug = 'juniper');

-- MX304 — compact 12×100G/24×40G universal edge router
UPDATE switches
SET image_url        = 'https://www.juniper.net/content/dam/www/assets/images/us/en/image-library/mx-series/mx304/mx304-front-high.jpg',
    product_page_url = COALESCE(product_page_url, 'https://www.juniper.net/us/en/products/routers/mx-series/mx304-universal-routing-platform.html'),
    assets_scraped_at = NOW()
WHERE model = 'MX304'
  AND vendor_id = (SELECT id FROM vendors WHERE slug = 'juniper');

-- ── QFX Series ───────────────────────────────────────────────────────────────

-- QFX10008 — 8-slot data center spine/core chassis
UPDATE switches
SET image_url        = 'https://www.juniper.net/content/dam/www/assets/images/us/en/image-library/qfx-series/qfx10008/qfx10008-front-high.jpg',
    product_page_url = COALESCE(product_page_url, 'https://www.juniper.net/us/en/products/switches/qfx-series/qfx10008-switch.html'),
    assets_scraped_at = NOW()
WHERE model = 'QFX10008'
  AND vendor_id = (SELECT id FROM vendors WHERE slug = 'juniper');

-- QFX5120-48Y — 48×25G + 8×100G leaf switch (Junos)
UPDATE switches
SET image_url        = 'https://www.juniper.net/content/dam/www/assets/images/us/en/image-library/qfx-series/qfx5120-48y/qfx5120-48y-front-high.jpg',
    product_page_url = COALESCE(product_page_url, 'https://www.juniper.net/us/en/products/switches/qfx-series/qfx5120-switch.html'),
    assets_scraped_at = NOW()
WHERE model = 'QFX5120-48Y'
  AND vendor_id = (SELECT id FROM vendors WHERE slug = 'juniper');

-- QFX5130-32CD — 32×400G QSFP-DD leaf/spine switch
UPDATE switches
SET image_url        = 'https://www.juniper.net/content/dam/www/assets/images/us/en/image-library/qfx-series/qfx5130-32cd/qfx5130-32cd-front-high.jpg',
    product_page_url = COALESCE(product_page_url, 'https://www.juniper.net/us/en/products/switches/qfx-series/qfx5130-switch.html'),
    assets_scraped_at = NOW()
WHERE model = 'QFX5130-32CD'
  AND vendor_id = (SELECT id FROM vendors WHERE slug = 'juniper');

-- QFX5220-32CD — 32×400G QSFP-DD spine switch (Trident 4)
UPDATE switches
SET image_url        = 'https://www.juniper.net/content/dam/www/assets/images/us/en/image-library/qfx-series/qfx5220-32cd/qfx5220-32cd-front-high.jpg',
    product_page_url = COALESCE(product_page_url, 'https://www.juniper.net/us/en/products/switches/qfx-series/qfx5220-switch.html'),
    assets_scraped_at = NOW()
WHERE model = 'QFX5220-32CD'
  AND vendor_id = (SELECT id FROM vendors WHERE slug = 'juniper');

-- QFX5700 — modular 6-slot data center switch
UPDATE switches
SET image_url        = 'https://www.juniper.net/content/dam/www/assets/images/us/en/image-library/qfx-series/qfx5700/qfx5700-front-high.jpg',
    product_page_url = COALESCE(product_page_url, 'https://www.juniper.net/us/en/products/switches/qfx-series/qfx5700-switch.html'),
    assets_scraped_at = NOW()
WHERE model = 'QFX5700'
  AND vendor_id = (SELECT id FROM vendors WHERE slug = 'juniper');
