drive mejorado

This commit is contained in:
xXpuma99Xx
2021-12-31 19:31:34 -06:00
parent d469b1cdc6
commit c0f37baf25
4 changed files with 1394 additions and 1664 deletions
+1313 -1562
View File
File diff suppressed because it is too large Load Diff
+1 -2
View File
@@ -136,8 +136,7 @@ const cargaMasiva = async (file) => {
fs.unlinkSync(path);
});
return {
message:
'Se subio correctamente el archivo csv, se enviará un correo a tramites.ss@acatlan.unam.mx con los detalles de la carga masiva.',
message: 'Se subio correctamente el archivo csv para la carga masiva.',
};
};
+1 -1
View File
@@ -79,7 +79,7 @@ const nuevo = async (body, file) => {
})
)
.then((res) => ({
message: `Se Pre-Registro correctamente al alumno.`,
message: `Se Pre-Registro correctamente a este alumno alumno.`,
}));
};
+79 -99
View File
@@ -10,84 +10,6 @@ const jwtClient = new google.auth.JWT(
['https://www.googleapis.com/auth/drive']
);
// Borrar archivo
const deleteFile = (fileId) => {
return new Promise((resolve, reject) => {
jwtClient.authorize(async (err, tokens) => {
if (err) reject(err);
drive.files.delete(
{
fileId,
auth: jwtClient,
},
(err, resp) => {
if (err) reject(err);
resolve(resp);
}
);
});
});
};
// SUBIR ARCHIVO
const uploadFile = (path, name, mimeType, parent) => {
return new Promise((resolve, reject) => {
jwtClient.authorize(function (err, tokens) {
if (err) reject('Error de autorización: ' + err);
let requestBody = {
name,
parents: [parent],
};
let media = {
mimeType: mimeType,
body: fs.createReadStream(`${path}`),
};
drive.files.create(
{
media: media,
fields: 'id',
requestBody,
auth: jwtClient,
},
(err, file) => {
if (err) reject(err);
fs.unlinkSync(path);
resolve(file.data.id);
}
);
});
});
};
// CREAR CARPETA
const mkDir = (name) => {
return new Promise((resolve, reject) => {
jwtClient.authorize((err, tokens) => {
if (err) reject('Error de autorización: ' + err);
let requestBody = {
name,
mimeType: 'application/vnd.google-apps.folder',
parents: [process.env.CARPETA],
};
drive.files.create(
{
fields: 'id',
auth: jwtClient,
requestBody,
},
(err, res) => {
if (err) reject(err);
resolve(res.data.id);
}
);
});
});
};
const list = (pageToken) => {
return new Promise((resolve, reject) => {
jwtClient.authorize((err, tokens) => {
@@ -113,6 +35,82 @@ const list = (pageToken) => {
});
};
// Borrar archivo
const deleteFile = (fileId) => {
return new Promise((resolve, reject) => {
jwtClient.authorize(async (err, tokens) => {
if (err) reject(err);
drive.files.delete(
{
fileId,
auth: jwtClient,
},
(err, resp) => {
if (err) reject(err);
resolve(resp);
}
);
});
});
};
// SUBIR ARCHIVO
const uploadFile = (path, name, mimeType, parent) => {
return new Promise((resolve, reject) => {
const requestBody = {
name,
parents: [parent],
};
const media = {
mimeType,
body: fs.createReadStream(`${path}`),
};
jwtClient.authorize(function (err, tokens) {
if (err) reject('Error de autorización: ' + err);
drive.files.create(
{
media,
requestBody,
fields: 'id',
auth: jwtClient,
},
(err, file) => {
if (err) reject(err);
fs.unlinkSync(path);
resolve(file.data.id);
}
);
});
});
};
// CREAR CARPETA
const mkDir = (name) => {
return new Promise((resolve, reject) => {
const requestBody = {
name,
mimeType: 'application/vnd.google-apps.folder',
parents: [process.env.CARPETA],
};
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);
}
);
});
});
};
// Update File
const update = (fileId, addParents, removeParents) => {
return new Promise((resolve, reject) => {
@@ -148,30 +146,12 @@ const folder = async (numeroCuenta) => {
const borrarTodo = () => {
return list().then(async (res) => {
console.log(res.files);
// for (let i = 0; i < res.files.length; i++)
// if (res.files[i].id !== process.env.CARPETA)
// await deleteFile(res.files[i].id);
for (let i = 0; i < res.files.length; i++)
if (res.files[i].id !== process.env.CARPETA)
await deleteFile(res.files[i].id);
});
};
// borrarTodo();
const archivosFicheros = async () => {
const pdf = [];
const carpetas = [];
let pageToken = '';
do {
let response = await list(pageToken);
pageToken = response.nextPageToken ? response.nextPageToken : '';
} while (pageToken);
return { pdf, carpetas };
};
// archivosFicheros();
module.exports = {
folder,
uploadFile,