← back to Filemaker Mcp
scripts/fix-dwtt73434-mfr.mjs
48 lines
// One-off: fix wrong mfr pattern on WALLPAPER recordId 536611 (DWTT73434, Baxter Aqua and Taupe).
// "Mfr Pattern" was "AT79129" (that code belongs to 73436 Silver); correct = "AT79126"
// per dw_unified.thibaut_catalog. Also fills "mfr pattern number" (was empty).
// Usage: node scripts/fix-dwtt73434-mfr.mjs [--commit] (default = dry-run diff)
import { readFileSync } from 'node:fs';
import { fileURLToPath } from 'node:url';
import { dirname, join } from 'node:path';
const __dir = dirname(fileURLToPath(import.meta.url));
for (const line of readFileSync(join(__dir, '..', '.env'), 'utf8').split('\n')) {
const m = line.match(/^([A-Z_]+)=(.*)$/);
if (m && !process.env[m[1]]) process.env[m[1]] = m[2];
}
const { getRecord, updateRecord } = await import('../src/fm-client.js');
const DB = 'WALLPAPER';
const LAYOUT = '*List Wallpapers - Shopify Detail Database';
const RECORD_ID = '536611';
const commit = process.argv.includes('--commit');
// sanity guard: make sure we're editing the record we think we are
const rec = await getRecord(DB, LAYOUT, RECORD_ID);
if (rec.fieldData['combo sku'] !== 'DWTT73434') {
console.error(`ABORT: record ${RECORD_ID} combo sku is ${rec.fieldData['combo sku']}, expected DWTT73434`);
process.exit(2);
}
console.log('BEFORE:', JSON.stringify({
'combo sku': rec.fieldData['combo sku'],
'Mfr Pattern': rec.fieldData['Mfr Pattern'],
'mfr pattern number': rec.fieldData['mfr pattern number'],
}, null, 1));
const res = await updateRecord(DB, LAYOUT, RECORD_ID, {
'Mfr Pattern': 'AT79126',
'mfr pattern number': 'AT79126',
}, { dryRun: !commit });
console.log(commit ? 'COMMITTED:' : 'DRY RUN DIFF:', JSON.stringify(res, null, 1));
if (commit) {
const after = await getRecord(DB, LAYOUT, RECORD_ID);
console.log('VERIFY:', JSON.stringify({
'Mfr Pattern': after.fieldData['Mfr Pattern'],
'mfr pattern number': after.fieldData['mfr pattern number'],
}, null, 1));
}