From 82c30cdda8d38b3111b539a34127155bb82612d5 Mon Sep 17 00:00:00 2001 From: Samantha Kellow Date: Wed, 24 Apr 2024 17:48:32 +0100 Subject: [PATCH] SKUs page file check --- app/skus/page.tsx | 34 ++++++++++++++++++++++++++++------ 1 file changed, 28 insertions(+), 6 deletions(-) diff --git a/app/skus/page.tsx b/app/skus/page.tsx index 398b27acf..21bb8fcfd 100644 --- a/app/skus/page.tsx +++ b/app/skus/page.tsx @@ -31,23 +31,40 @@ export default async function SKUCheckPage() { dbxFiles = await dbx.filesListFolder({ path: '/scape squared/004 print ready - print files' }); + + // sabotage? + // dbxFiles.result.entries = dbxFiles.result.entries.filter(file => file.name !== "SCSQ300262_NECK.png"); } catch (e) { dbxError = e + "" } - // sabotage? - // dbxFiles.result.entries.splice(5, 1); - return (
{products.map((product) => { const skus = createProductSKUs(product.title); + if (!skus) return
SKU error for product {product.title}
+ // sabotage? // product.variants[3]!.sku = 'SCSQ10001_STTU781_M_C002_B_NT'; + const productCode = skus[0]!.split('_')[0] + const productBase = productCode!.slice(0, (productCode!.length -1)) + const productFiles = dbxFiles?.result.entries - .filter((file) => file.name.startsWith(skus[0]!.split('_')[0]!)) + .filter((file) => file.name.startsWith(productBase!)) + + const productFileNames = productFiles?.map(file => file.name); + + const sizeDigits = ["1", "2", "3"]; + const sideSuffixes = ["_NECK.png", "_BACK.png"]; + + const expectedFiles = sizeDigits.flatMap((sizeDigit) => + sideSuffixes.flatMap((sideSuffix) => productBase + sizeDigit + sideSuffix) + ); + + const missingFiles = expectedFiles.filter(expected => !productFileNames?.includes(expected)); + const extraFiles = productFileNames?.filter(filename => !expectedFiles.includes(filename)); return (
@@ -55,10 +72,15 @@ export default async function SKUCheckPage() {
0 ? 'bg-amber-300' : '') } > - Dropbox: {productFiles?.map(file => file.name).join(", ")}{dbxError} + Dropbox:{' '} + {missingFiles.length === 0 + ? '✅ All expected files found' + : '⛔️ Missing files: ' + missingFiles.join(', ')} + {extraFiles &&
(Extra files: {extraFiles.join(", ")})
} + {dbxError}
{product.variants.map((variant, i) => ( <>