← back to Newmor Onboard

scripts/configured-baseline.mjs

12 lines

import assert from 'node:assert/strict';
import {gql,save} from './shopify.mjs';
const products=[];let after=null;
do{
 const d=await gql(`query($after:String){products(first:25,after:$after,query:"vendor:'Newmor Wallcoverings'"){nodes{id status tags showroom:metafield(namespace:"custom",key:"showroom_line"){type value} configuredPublications:resourcePublicationsV2(first:20,onlyPublished:false){nodes{isPublished publishDate publication{id name}}pageInfo{hasNextPage}}}pageInfo{hasNextPage endCursor}}}`,{after});
 for(const p of d.products.nodes)assert(!p.configuredPublications.pageInfo.hasNextPage);
 products.push(...d.products.nodes);after=d.products.pageInfo.hasNextPage?d.products.pageInfo.endCursor:null;
}while(after);
assert.equal(products.length,542);assert(products.every(p=>p.status!=='ACTIVE'));
save('data/live-2026-09-09/configured-publications-baseline.json',{fetched_at:new Date().toISOString(),products});
console.log(`Saved ${products.length} products' latent publication/marker prestate;all remain DRAFT/ARCHIVED`);