← back to Tk10656 Empty Collections

data/fire-unpublish.sh

43 lines

#!/usr/bin/env bash
# TK-10656 — UNPUBLISH empty published collections from Online Store (removes the live empty storefront page)
# GATED — Steve's explicit go per item. Read-only until you run this. Author: fix-emptycoll 2026-08-18
# Action per collection: publishableUnpublish from Online Store publication ONLY (gid://shopify/Publication/22208643184).
#   - Leaves all OTHER sales channels untouched (minimal blast radius).
#   - Fully reversible via rollback.sh (re-publishes to the EXACT recorded publication set).
set -euo pipefail
TOKEN=$(grep -oE 'SHOPIFY_FULL_ACCESS_TOKEN=[^[:space:]]+' /Users/macstudio3/Projects/secrets-manager/.env | cut -d= -f2)
SHOP="designer-laboratory-sandbox.myshopify.com"; API="2024-10"
OS="gid://shopify/Publication/22208643184"
unpub(){ # $1=gid  $2=handle
  echo ">>> unpublish (Online Store): $2  $1"
  curl -s "https://$SHOP/admin/api/$API/graphql.json" \
    -H "X-Shopify-Access-Token: $TOKEN" -H "Content-Type: application/json" \
    -d "{\"query\":\"mutation{ publishableUnpublish(id:\\\"$1\\\", input:[{publicationId:\\\"$OS\\\"}]){ userErrors{ field message } } }\"}" ; echo
}
unpub "gid://shopify/Collection/79883272304" "phillipe-romano-faux-leathers-upholstery-more"   # admin_count=1338
unpub "gid://shopify/Collection/132654366785" "hollywood-sunset-collection"   # admin_count=243
unpub "gid://shopify/Collection/262197903411" "phillipe-romano-ultimo"   # admin_count=20
unpub "gid://shopify/Collection/264266088499" "as-seen-in-showrooms"   # admin_count=42
unpub "gid://shopify/Collection/284216983603" "paul-montgomery-murals"   # admin_count=443
unpub "gid://shopify/Collection/285549068339" "paul-montgomery-all-products"   # admin_count=1538
unpub "gid://shopify/Collection/289727184947" "colefax-and-fowler"   # admin_count=361
unpub "gid://shopify/Collection/298270326835" "armani-casa-wallcoverings"   # admin_count=243
unpub "gid://shopify/Collection/298470473779" "phillipe-romano-fabrics"   # admin_count=176
unpub "gid://shopify/Collection/298506321971" "carlisle-co"   # admin_count=441
unpub "gid://shopify/Collection/298506453043" "colefax-fowler"   # admin_count=361
unpub "gid://shopify/Collection/298506911795" "borastapeter"   # admin_count=100
unpub "gid://shopify/Collection/298507173939" "et-cie"   # admin_count=487
unpub "gid://shopify/Collection/298507272243" "holly-hunt"   # admin_count=1260
unpub "gid://shopify/Collection/299486117939" "hermes"   # admin_count=29
unpub "gid://shopify/Collection/299574788147" "hygge-and-west"   # admin_count=11
unpub "gid://shopify/Collection/299575214131" "borastapeter-scandinavian-wallpapers"   # admin_count=1

# --- DECISION REQUIRED, NOT in the default batch above ---
# collezione-italia (gid://shopify/Collection/303020703795, admin_count 413): 60 of first-100 members are DRAFT.
#   PREFERRED ALT = ACTIVATE the DRAFTs (recover the whole line live) instead of unpublishing. Decide w/ vp-dw-commerce.
#   If you DO want it unpublished instead, uncomment:
# unpub "gid://shopify/Collection/303020703795" "collezione-italia"
#
# versa-designed-surfaces-wallcoverings (gid://shopify/Collection/298970939443): EXCLUDED — private-label LEAK,
#   owned by TK-10629 / fix-leaks (rename+redirect, not a plain unpublish). Do NOT unpublish here.