const drive = require('../helper/drive'); const Usuario = require('./tablas/Usuario'); const Servicio = require('./tablas/Servicio'); const buscarCarpetas = (array, numeroCuenta) => { let arrayAux = []; for (let i = 0; i < array.length; i++) if (array[i].name === numeroCuenta) arrayAux.push(array[i]); return arrayAux; }; const buscarArchivos = (array, idParent) => { let arrayAux = []; for (let i = 0; i < array.length; i++) if (array[i].parents[0] === idParent) arrayAux.push(array[i]); return arrayAux; }; const borrarCarpetas = async () => { const { pdf, carpetas } = await drive.archivosFicheros(); console.log('Sa cargo todo el drive correctamente.'); await Usuario.findAll({ where: { idTipoUsuario: 3 } }).then(async (res) => { console.log(`Hay ${res.length} alumnos.`); for (let i = 0; i < res.length; i++) { let carpetasAlumno = buscarCarpetas(carpetas, res[i].usuario); console.log(`${(100 * (i + 1)) / res.length}%`); console.log( `El numero de cuenta ${res[i].usuario} tiene ${ carpetasAlumno.length } carpeta${carpetasAlumno.length > 1 ? 's' : ''}.` ); if (carpetasAlumno.length > 0) { console.log( `La carpeta ${carpetasAlumno[0].name} con la que nos quedaremos es ${carpetasAlumno[0].id}.` ); await Servicio.update( { carpeta: carpetasAlumno[0].id }, { where: { idUsuario: res[i].idUsuario } } ); } if (carpetasAlumno.length > 1) { for (let j = 1; j < carpetasAlumno.length; j++) { let archivosCarpeta = buscarArchivos(pdf, carpetasAlumno[j].id); console.log( `La carpeta ${carpetasAlumno[j].id} tiene ${ archivosCarpeta.length } archivo${archivosCarpeta.length > 1 ? 's' : ''}.` ); for (let k = 0; k < archivosCarpeta.length; k++) { await drive.update( archivosCarpeta[k].id, carpetasAlumno[0].id, carpetasAlumno[j].id ); console.log( `Se movio el archivo ${archivosCarpeta[k].name} con id ${archivosCarpeta[k].id} de la carpeta ${carpetasAlumno[j].id} a la carpeta ${carpetasAlumno[0].id}.` ); } await drive.deleteFile(carpetasAlumno[j].id); console.log(`Se elimino la carpeta con id ${carpetasAlumno[j].id}`); } } console.log('------------------------------------------------------'); } }); }; borrarCarpetas();