← 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.