From 620c5da07c716b8923395da61ff906d70b7b0502 Mon Sep 17 00:00:00 2001 From: lemuel Date: Fri, 14 Oct 2022 17:22:09 -0500 Subject: [PATCH] log y eliminar archivos de mas en drive --- .../controller/Servicio/archivosRepetidos.js | 42 +++++++++++++++++++ server/controller/Servicio/nuevo.js | 6 +-- server/helper/drive.js | 3 ++ 3 files changed, 46 insertions(+), 5 deletions(-) create mode 100644 server/controller/Servicio/archivosRepetidos.js diff --git a/server/controller/Servicio/archivosRepetidos.js b/server/controller/Servicio/archivosRepetidos.js new file mode 100644 index 0000000..d0d80fb --- /dev/null +++ b/server/controller/Servicio/archivosRepetidos.js @@ -0,0 +1,42 @@ +const { Op } = require('sequelize'); +const helperPath = '../../helper'; +const drive = require(`${helperPath}/drive`); +const dbPath = '../../db/tablas'; +const Servicio = require(`${dbPath}/Servicio`); + +const archivosRepetidos = async (eliminar = false) => { + return drive.findAll().then(async (res) => { + const pdfsEliminar = []; + const foldersEliminar = []; + + for (let i = 0; i < res.pdfs.length; i++) + await Servicio.findOne({ + where: { + [Op.or]: [ + { cartaAceptacion: res.pdfs[i] }, + { cartaTermino: res.pdfs[i] }, + { informeGlobal: res.pdfs[i] }, + ], + }, + }).then((servicio) => { + if (!servicio) { + pdfsEliminar.push(res.pdfs[i]); + if (eliminar) return drive.deleteFile(res.pdfs[i]); + } + }); + console.log(pdfsEliminar); + for (let i = 0; i < res.folders.length; i++) + await Servicio.findOne({ + where: { carpeta: res.folders[i] }, + }).then((servicio) => { + if (!servicio) { + foldersEliminar.push(res.folders[i]); + if (eliminar) return drive.deleteFile(res.folders[i]); + } + }); + console.log(foldersEliminar); + console.log(res) + }); +}; + +archivosRepetidos(); diff --git a/server/controller/Servicio/nuevo.js b/server/controller/Servicio/nuevo.js index a80585a..1d8beba 100644 --- a/server/controller/Servicio/nuevo.js +++ b/server/controller/Servicio/nuevo.js @@ -98,11 +98,7 @@ const nuevo = async (body, file) => { { where: { idServicio: servicio.idServicio } } ) ) - .then((res) => { - console.log(res); - console.log("Se subió el archivo"); - }); - return { message: `Se Pre-Registro correctamente a este alumno alumno.` }; + return { message: `Se Pre-Registro correctamente a este alumno.` }; }); }; diff --git a/server/helper/drive.js b/server/helper/drive.js index 4250e49..18f4bb4 100644 --- a/server/helper/drive.js +++ b/server/helper/drive.js @@ -37,6 +37,8 @@ const list = (pageToken) => { // Borrar archivo const deleteFile = (fileId) => { + if (fileId === process.env.CARPETA) + throw new Error('No se puede eliminar este archivo/carpeta.'); return new Promise((resolve, reject) => { jwtClient.authorize(async (err, tokens) => { if (err) reject(err); @@ -177,4 +179,5 @@ module.exports = { folder, uploadFile, findAll, + deleteFile, };