const drive = require("../helper/drive") const Servicio = require('../db/tablas/Servicio'); const Usuario = require('../db/tablas/Usuario'); const getCarpetas = async () => { let listado = await drive.list() let carpetas = [] let noBorrar = 'Babyhelon' for (let i = 0; i < listado.length; i++) { if (listado[i].mimeType == 'application/vnd.google-apps.folder') carpetas.push(listado[i]) } carpetas = carpetas.filter(item => item.name !== noBorrar) return carpetas } const duplicados = () => { getCarpetas().then((carpetas) => { const duplicados = [] const tempArray = [...carpetas].sort(); for (let i = 0; i < tempArray.length - 1; i++) { if (tempArray[i + 1].name === tempArray[i].name) { duplicados.push(tempArray[i]); } else { if (i != 0 && tempArray[i - 1].name === tempArray[i].name) { duplicados.push(tempArray[i]); } } } console.log(duplicados) return duplicados }) } const getAlumnosNull = async () => { return Servicio.findAll({ where: { carpeta: null }, include: [ { model: Usuario }, ], }) .then((res) => { const alumnosNull = [] console.log("servicios con carpeta null = " + res.length) for (let i = 0; i < res.length; i++) { alumnosNull.push(res[i].Usuario.usuario) } return alumnosNull }); } const insertIdCarpetas = async () => { getAlumnosNull() .then((alumnos) => { getCarpetas() .then(async(carpetas) => { console.log(alumnos) // alumnos con carpeta null console.log(carpetas) // carpetas disponibles en drive (este array aun tiene carpetas repetidas) for (let i = 0; i < alumnos.length; i++) { for (let j = 0; j < carpetas.length; j++) { if (alumnos[i] == carpetas[j].name) { console.log(alumnos[i]) // alumnos qno tienen carpeta pero si existe su carpeta await Servicio.update({ carpeta: carpetas[j].id }, { where: { idUsuario: alumnos[i] } } ) .then((rep) => { console.log(rep) }) } } } }) }) } //duplicados() //getAlumnosNull() insertIdCarpetas()