74 lines
2.5 KiB
JavaScript
74 lines
2.5 KiB
JavaScript
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();
|