feat: persist metafield resolutions across sessions

Les associations colonne→métachamp sont sauvegardées dans data/metafield-resolutions.json
et rechargées automatiquement à la prochaine création de produits.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-06-24 15:28:53 +02:00
parent caef95bd55
commit 114e20c9fb
3 changed files with 62 additions and 7 deletions
+20
View File
@@ -0,0 +1,20 @@
import { readFile, writeFile, mkdir } from 'fs/promises'
import { join } from 'path'
import type { MetafieldResolution } from '@/types/creation'
const CACHE_DIR = join(process.cwd(), 'data')
const CACHE_FILE = join(CACHE_DIR, 'metafield-resolutions.json')
export async function loadResolutionCache(): Promise<Record<string, MetafieldResolution>> {
try {
const raw = await readFile(CACHE_FILE, 'utf-8')
return JSON.parse(raw) as Record<string, MetafieldResolution>
} catch {
return {}
}
}
export async function saveResolutionCache(cache: Record<string, MetafieldResolution>): Promise<void> {
await mkdir(CACHE_DIR, { recursive: true })
await writeFile(CACHE_FILE, JSON.stringify(cache, null, 2), 'utf-8')
}