Files
kurir_server_admin/server/google/googleapi.js
2022-04-15 13:59:42 +08:00

65 lines
1.6 KiB
JavaScript

const fs = require('fs');
const { google } = require('googleapis');
// folder id
// const pengirim_folder_id = process.env.PENGIRIM_FOLDER_ID;
module.exports = {
uploadFile : async function uploadFile(fileName, filePath,folderId, message) {
try {
const auth = await new google.auth.GoogleAuth({
keyFile: './server/googlekey.json',
scopes: ['https://www.googleapis.com/auth/drive']
})
const drive = google.drive({ version: 'v3', auth });
const fileMetadata = {
name: fileName ,
parents: [folderId]
};
const media = {
mimeType: 'image/jpeg',
body: fs.createReadStream(filePath) // file path
};
// check if file exist
const file = await drive.files.list({
q: `name = '${fileName}' and '${folderId}' in parents`
});
let response
if (file.data.files.length > 0) {
// delete file
await drive.files.delete({
fileId: file.data.files[0].id
})
// upload file
response = await drive.files.create({
resource: fileMetadata,
media: media,
fields: 'id'
})
} else {
// upload file
response = await drive.files.create({
resource: fileMetadata,
media: media,
fields: 'id'
})
}
// console.log(filePath)
// console.log('ini berjalan '+fileName)
console.log(message)
return response.data.id;
} catch (error) {
console.log('ini error')
return error;
}
}
}