en la carpeta drive se hizo la función mkDirInsideOtherDir y scriptCambioDeCarpeta, para guardar los documentos en el nuevo drive, de los usuarios con status 1,2,3,4,5,7,8,9

This commit is contained in:
LeydiMoon18
2023-07-29 20:46:03 -06:00
parent 6c7919af90
commit c405648325
+72
View File
@@ -10,6 +10,9 @@ const jwtClient = new google.auth.JWT(
['https://www.googleapis.com/auth/drive']
);
const Servicio = require(`../db/tablas/Servicio`);
const Usuario = require(`../db/tablas/Usuario`);
const list = (pageToken) => {
return new Promise((resolve, reject) => {
jwtClient.authorize((err, tokens) => {
@@ -175,6 +178,75 @@ const findAll = async () => {
return { folders, pdfs };
};
const mkDirInsideOtherDir = (name, ruta) => {
return new Promise((resolve, reject) => {
const requestBody = {
name,
mimeType: 'application/vnd.google-apps.folder',
parents: [ruta],
};
jwtClient.authorize((err, tokens) => {
if (err) reject('Error de autorización: ' + err);
drive.files.create(
{
fields: 'id',
auth: jwtClient,
requestBody,
},
(err, res) => {
if (err) reject(err);
resolve(res.data.id);
}
);
});
});
};
const scriptCambioDeCarpeta = async () => {
console.log('Entrando a scriptCambioDeCarpeta');
const servicios = await Servicio.findAll({
where: { idStatus: [1, 2, 3, 4, 5, 7, 8, 9] },
});
const idUsuarios = servicios.map((servicio) => servicio.idUsuario); //aqui se traen todos los idUsuario de los servicios entre 1-5
const usuarios = await Usuario.findAll({
where: { idUsuario: idUsuarios },
});
const parentFolderId = await mkDir('Servicios [1 - 5]'); //se crea la carpeta donde se van a guardar los alumnos y se guarda el id de la carpeta
for (let i = 0; i < usuarios.length; i++) {
//por cada cuenta
const carpetaCreada = await mkDirInsideOtherDir(
`${usuarios[i].usuario}`,
parentFolderId
); //se crea una crapeta dentro de la carpeta cuyo id guardamos antes y guardamos el id de la carpeta creada
await Servicio.update(
{ carpeta: carpetaCreada },
{ where: { idUsuario: usuarios[i].idUsuario } }
); // se actualiza el id de la carpeta por la que se acaba de crear
console.log(
i,
' - ',
'[',
usuarios[i].idUsuario,
']',
'[',
usuarios[i].usuario,
'] : [',
carpetaCreada,
']'
);
}
console.log('Saliendo de scriptCambioDeCarpeta');
};
//scriptCambioDeCarpeta();
module.exports = {
folder,
uploadFile,