← back to York Yardgood Exec
v32.mjs
12 lines
import { readFileSync } from 'node:fs';
const TOKEN=readFileSync(process.env.HOME+'/Projects/secrets-manager/.env','utf8').split('\n').find(l=>l.startsWith('SHOPIFY_ADMIN_TOKEN=')).split('=')[1].trim();
const SHOP='https://designer-laboratory-sandbox.myshopify.com/admin/api/2024-10/graphql.json';
for(const [sku,pid] of [['DWJS-92088 Trousseau','92088'],['DWJS-92436 Nuovo','92436'],['DWJS-91858 Argent','91858']]){
const t=JSON.parse(readFileSync('./data/york32-target.json')).find(x=>x.sell_sku===sku.split(' ')[0]);
const gid=`gid://shopify/Product/${t.product_id}`;
const q=`{p:product(id:"${gid}"){uom:metafield(namespace:"global",key:"unit_of_measure"){value} min:metafield(namespace:"global",key:"v_prods_quantity_order_min"){value} variants(first:5){edges{node{title price position}}}}}`;
const r=await (await fetch(SHOP,{method:'POST',headers:{'X-Shopify-Access-Token':TOKEN,'Content-Type':'application/json'},body:JSON.stringify({query:q})})).json();
const p=r.data.p; const s=p.variants.edges.map(e=>e.node).find(v=>!/sample/i.test(v.title))||p.variants.edges[0].node;
console.log(`${sku.padEnd(18)} $${s.price} '${s.title}' pos${s.position} uom=${p.uom?.value} min=${p.min?.value}`);
}