← back to Tk 11331 Exec
verify_d1.mjs
17 lines
import fs from 'fs'; import {gql,sleep} from './lib.mjs';
const d1=JSON.parse(fs.readFileSync('data/d1_set.json','utf8'));
const ids=d1.map(p=>p.gid);
const Q=`query($ids:[ID!]!){nodes(ids:$ids){... on Product{id variants(first:20){nodes{sku position price}}}}}`;
let bad=0,good=0,checked=0;const badlist=[];
for(let i=0;i<ids.length;i+=40){
const d=await gql(Q,{ids:ids.slice(i,i+40)});
for(const n of d.nodes){if(!n)continue;checked++;
const vs=n.variants.nodes.sort((a,b)=>a.position-b.position);
const p1=vs[0]; const isSample=(p1.sku||'').toLowerCase().endsWith('sample');
if(isSample && Math.round(parseFloat(p1.price)*100)===425){bad++;badlist.push(n.id);}else good++;
}
await sleep(120);
}
console.log(`D1 VERIFY (Admin API): checked=${checked} sellable@pos1=${good} STILL-sample@pos1=${bad}`);
if(bad) console.log('BAD:',badlist.slice(0,20));