first commit
This commit is contained in:
64
server/google/googleapi.js
Normal file
64
server/google/googleapi.js
Normal file
@ -0,0 +1,64 @@
|
||||
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;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user