chequeador por EANs duplicados

This commit is contained in:
Cat /dev/Nulo 2024-09-11 22:41:52 -03:00
parent b9e6c64bd5
commit aada90bbe8

View file

@ -75,7 +75,7 @@ type Files = Awaited<ReturnType<typeof readFiles>>;
// si retorna truthy es un error
const checkers: Record<string, (files: Files) => boolean | string> = {
["[productos.csv] Nombres de columnas correctas"](files) {
["[productos.csv] Nombres de columnas incorrectas"](files) {
const firstRow = files["productos.csv"].data[0];
if (!firstRow) return true;
const res = ProductoSegúnSpec.safeParse(firstRow);
@ -104,6 +104,16 @@ const checkers: Record<string, (files: Files) => boolean | string> = {
}
return missing.length > 0;
},
["Hay productos duplicados con el mismo EAN"](files) {
const productosEnSucursales = files["productos.csv"].data
.filter((row: any) => row.productos_ean == 1)
.map(
(row: any) => `${row.id_bandera}-${row.id_sucursal}-${row.id_producto}`
);
const eansUnicos = new Set(productosEnSucursales);
if (productosEnSucursales.length !== eansUnicos.size) return true;
return false;
},
};
const content = await fs.promises.readdir(dir);