From 657a374895af68b99df645a4bae6c64bb352e757 Mon Sep 17 00:00:00 2001 From: Trevor Buckner Date: Tue, 6 Oct 2020 14:08:51 -0400 Subject: [PATCH] Code Cleanup Remove req, res from update, new, and getFolder google actions --- client/homebrew/pages/editPage/editPage.jsx | 2 +- server/googleActions.js | 139 +++----------------- server/homebrew.api.js | 57 ++------ 3 files changed, 30 insertions(+), 168 deletions(-) diff --git a/client/homebrew/pages/editPage/editPage.jsx b/client/homebrew/pages/editPage/editPage.jsx index 93ce2a202..dede93d20 100644 --- a/client/homebrew/pages/editPage/editPage.jsx +++ b/client/homebrew/pages/editPage/editPage.jsx @@ -187,7 +187,7 @@ const EditPage = createClass({ return; }); - this.savedBrew = res.body.brew; + this.savedBrew = res.body; } } else { console.log('Saving Locally'); diff --git a/server/googleActions.js b/server/googleActions.js index 0f465ac2f..6f3ea67d0 100644 --- a/server/googleActions.js +++ b/server/googleActions.js @@ -1,4 +1,3 @@ -/* eslint-disable max-lines */ const _ = require('lodash'); const { google } = require('googleapis'); const { nanoid } = require('nanoid'); @@ -49,49 +48,7 @@ GoogleActions = { return oAuth2Client; }, - getGoogleFolder : async (req, res)=>{ - console.log('getting google folder'); - oAuth2Client = GoogleActions.authCheck(req.account, res); - - const drive = google.drive({ version: 'v3', auth: oAuth2Client }); - - fileMetadata = { - 'name' : 'Homebrewery', - 'mimeType' : 'application/vnd.google-apps.folder' - }; - - const obj = await drive.files.list({ - q : 'mimeType = \'application/vnd.google-apps.folder\'' - }) - .catch((err)=>{ - console.log('Error searching Google Drive Folders'); - console.error(err); - }); - - let folderId; - - if(obj.data.files.length == 0){ - console.log('no folders found'); // CREATE APP FOLDER - - const obj = await drive.files.create({ - resource : fileMetadata - }) - .catch((err)=>{ - console.log('Error creating google app folder'); - console.error(err); - }); - - console.log('created new drive folder with ID:'); - console.log(obj.data.id); - folderId = obj.data.id; - } else { - folderId = obj.data.files[0].id; - } - - return folderId; - }, - - getGoogleFolderNew : async (auth)=>{ + getGoogleFolder : async (auth)=>{ console.log('getting google folder'); const drive = google.drive({ version: 'v3', auth: auth }); @@ -190,88 +147,27 @@ GoogleActions = { return false; }, - updateGoogleBrew : async (req, res)=>{ - oAuth2Client = GoogleActions.authCheck(req.account, res); + updateGoogleBrew : async (auth, brew)=>{ + const drive = google.drive({ version: 'v3', auth: auth }); - const drive = google.drive({ version: 'v3', auth: oAuth2Client }); - const brew = req.body; + if(await GoogleActions.existsGoogleBrew(auth, brew.googleId) == true) { - const media = { - mimeType : 'text/plain', - body : brew.text - }; - - let obj; - - //CHECK IF FILE ALREADY EXISTS - if(await GoogleActions.existsGoogleBrew(oAuth2Client, req.body.googleId) == true) { - //IF SO, JUST UPDATE EXISTING FILE - const fileMetadata = { - 'name' : `${brew.title}.txt`, - 'properties' : { //AppProperties is not accessible - 'shareId' : brew.shareId, - 'editId' : brew.editId, - 'title' : brew.title, - } - }; - - obj = await drive.files.update({ - fileId : req.body.googleId, - resource : fileMetadata, - media : media + await drive.files.update({ + fileId : brew.googleId, + resource : { name : `${brew.title}.txt`, + properties : { title: brew.title } //AppProperties is not accessible via API key + }, + media : { mimeType : 'text/plain', + body : brew.text } }) .catch((err)=>{ console.log('Error saving to google'); console.error(err); //return res.status(500).send('Error while saving'); }); - } else { - //IF NOT, CREATE NEW FILE - const folderId = await GoogleActions.getGoogleFolder(req, res); - const fileMetadata = { - 'name' : `${brew.title}.txt`, - 'parents' : [folderId], - 'properties' : { //AppProperties is not accessible - 'shareId' : nanoid(12), - 'editId' : nanoid(12), - 'title' : brew.title, - } - }; - - obj = await drive.files.create({ - resource : fileMetadata, - media : media - }) - .catch((err)=>{ - console.log('Error saving to google'); - console.error(err); - }); } - if(obj) { - //Update permissions - const permissions = { - 'type' : 'anyone', - 'role' : 'writer', - }; - - await drive.permissions.create({ - resource : permissions, - fileId : obj.data.id, - fields : 'id', - }) - .catch((err)=>{ - console.log('Error updating permissions'); - console.error(err); - }); - - response = { - brew : brew, - googleId : obj.data.id - }; - - return res.status(200).send(response); - } + return (brew); }, newGoogleBrew : async (auth, brew)=>{ @@ -283,7 +179,7 @@ GoogleActions = { body : brew.text }; - const folderId = await GoogleActions.getGoogleFolderNew(auth); + const folderId = await GoogleActions.getGoogleFolder(auth); const fileMetadata = { 'name' : `${brew.title}.txt`, @@ -300,20 +196,15 @@ GoogleActions = { media : media }) .catch((err)=>{ - console.log('Error saving to google'); console.error(err); return res.status(500).send('Error while creating google brew'); }); if(!obj) return; - const permissions = { - 'type' : 'anyone', - 'role' : 'writer', - }; - await drive.permissions.create({ - resource : permissions, + resource : { type : 'anyone', + role : 'writer'}, fileId : obj.data.id, fields : 'id', }) diff --git a/server/homebrew.api.js b/server/homebrew.api.js index 285fdcb94..fea7bef1c 100644 --- a/server/homebrew.api.js +++ b/server/homebrew.api.js @@ -120,7 +120,7 @@ const deleteBrew = (req, res)=>{ }); }; -newGoogleBrew = async (req, res, next)=>{ +const newGoogleBrew = async (req, res, next)=>{ let oAuth2Client; console.log('newGoogleBrew (API)'); @@ -142,57 +142,28 @@ newGoogleBrew = async (req, res, next)=>{ console.log(oAuth2Client); - const newHomebrew = await GoogleActions.newGoogleBrew(oAuth2Client, brew); + const newBrew = await GoogleActions.newGoogleBrew(oAuth2Client, brew); - return res.status(200).send(newHomebrew); + return res.status(200).send(newBrew); +}; + +const updateGoogleBrew = async (req, res, next)=>{ + let oAuth2Client; + + try { oAuth2Client = GoogleActions.authCheck(req.account, res); } catch (err) { return res.status(err.status).send(err.message); } + + const updatedBrew = await GoogleActions.updateGoogleBrew(oAuth2Client, req.body); + + return res.status(200).send(updatedBrew); }; router.post('/api', newBrew); router.post('/api/newGoogle/', newGoogleBrew); router.put('/api/:id', updateBrew); router.put('/api/update/:id', updateBrew); -router.put('/api/updateGoogle/:id', (req, res)=>{GoogleActions.updateGoogleBrew(req, res);}); +router.put('/api/updateGoogle/:id', updateGoogleBrew); router.delete('/api/:id', deleteBrew); router.get('/api/remove/:id', deleteBrew); router.get('/api/removeGoogle/:id', (req, res)=>{GoogleActions.deleteGoogleBrew(req, res, req.params.id);}); module.exports = router; - -/* -module.exports = function(app) { - app; - - app.get('/api/search', mw.adminOnly, function(req, res) { - var page = req.query.page || 0; - var count = req.query.count || 20; - - var query = {}; - if (req.query && req.query.id) { - query = { - "$or": [{ - editId : req.query.id - }, { - shareId : req.query.id - }] - }; - } - - HomebrewModel.find(query, { - text : 0 //omit the text - }, { - skip: page*count, - limit: count*1 - }, function(err, objs) { - if (err) console.error(err); - return res.json({ - page : page, - count : count, - total : homebrewTotal, - brews : objs - }); - }); - }) - - return app; -} -*/