carpetas sin modificar

This commit is contained in:
2021-01-20 00:39:21 -06:00
parent f7d1d7f151
commit 27ee764eb5
2 changed files with 73 additions and 68 deletions
+50 -29
View File
@@ -1,50 +1,71 @@
const drive = require('../helper/drive');
const Usuario = require('../db/tablas/Usuario');
const Servicio = require('../db/tablas/Servicio');
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 () => {
await Usuario.findAll({ where: { idTipoUsuario: 3 } }).then(async (res) => {
console.log(`Tenemos ${res.length} alumnos`);
for (let i = 0; i < res.length; i++) {
let carpetasAlumno = await drive.buscarCarpetas(res[i].usuario);
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) / res.length}%`);
console.log(
`El numero de cuenta ${res[i].usuario} tiene ${carpetasAlumno.length} carpetas.`
);
console.log(
`La carpeta con la que nos qudaremos es ${carpetasAlumno[0].id}`
`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 archivos = await drive.archivosCarpeta(carpetasAlumno[j].id);
let archivosCarpeta = buscarArchivos(pdf, carpetasAlumno[j].id);
console.log(
`La carpeta ${carpetasAlumno[j].name} con id ${carpetasAlumno[j].id} tiene ${archivos.length} archivos.`
`La carpeta ${carpetasAlumno[j].id} tiene ${
archivosCarpeta.length
} archivo${archivosCarpeta.length > 1 ? 's' : ''}.`
);
for (let k = 0; k < archivos.length; k++) {
console.log(
`Se movio el archivo ${archivos[k].name} con id ${archivos[k].id} de la carpeta ${carpetasAlumno[j].id} a la carpeta ${carpetasAlumno[0].id}`
);
for (let k = 0; k < archivosCarpeta.length; k++) {
// await drive.update(
// archivos[k].id,
// 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(`Se borro la carpet ${carpetasAlumno[j].id}`);
// await drive.deleteFile(carpetasAlumno[j].id)
}
if (carpetasAlumno.length > 0) {
// await Servicio.update(
// { carpeta: carpetasAlumno[0].id },
// { where: { idUsuario: res[i].idUsuario } }
// );
}
}
console.log(
'------------------------------------------------------------------'
);
console.log('------------------------------------------------------');
}
});
};
+23 -39
View File
@@ -129,43 +129,6 @@ const update = (fileId, addParents, removeParents) => {
});
};
// Buscar carpeta
const buscarCarpetas = async (name) => {
const data = [];
let pageToken = '';
do {
let response = await list(pageToken);
let files = response.files;
for (let i = 0; i < files.length; i++)
if (
files[i].name === name //&&
// files[i].mimeType === 'application/vnd.google-apps.folder'
)
data.push(files[i]);
if (response.nextPageToken) pageToken = response.nextPageToken;
else pageToken = '';
} while (pageToken);
return data;
};
const archivosCarpeta = async (id) => {
let pageToken = '';
const data = [];
do {
let response = await list(pageToken);
let files = response.files;
for (let i = 0; i < files.length; i++)
if (files[i].parents[0] === id) data.push(files[i]);
if (response.nextPageToken) pageToken = response.nextPageToken;
else pageToken = '';
} while (pageToken);
return data;
};
const folder = async (numeroCuenta) => {
let pageToken = '';
@@ -195,11 +158,32 @@ const borrarTodo = () => {
// borrarTodo();
const archivosFicheros = async () => {
let pageToken = '';
const pdf = [];
const carpetas = [];
do {
let response = await list(pageToken);
for (let i = 0; i < response.files.length; i++) {
if (response.files[i].mimeType === 'application/vnd.google-apps.folder')
carpetas.push(response.files[i]);
else pdf.push(response.files[i]);
}
if (response.nextPageToken) pageToken = response.nextPageToken;
else pageToken = '';
} while (pageToken);
return { pdf, carpetas };
};
// archivosFicheros();
module.exports = {
folder,
uploadFile,
buscarCarpetas,
archivosCarpeta,
deleteFile,
update,
archivosFicheros,
};