From e108e3082190dd7e5b5efa128f2aaac099d3edcb Mon Sep 17 00:00:00 2001 From: "G.Ambatte" Date: Tue, 10 Aug 2021 22:51:52 +1200 Subject: [PATCH 1/3] Remove `brew.views` for EditPage brew object --- client/homebrew/pages/editPage/editPage.jsx | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/client/homebrew/pages/editPage/editPage.jsx b/client/homebrew/pages/editPage/editPage.jsx index a643296d4..d5fa6956b 100644 --- a/client/homebrew/pages/editPage/editPage.jsx +++ b/client/homebrew/pages/editPage/editPage.jsx @@ -51,16 +51,18 @@ const EditPage = createClass({ }, getInitialState : function() { + const newBrew = this.props.brew; + delete newBrew.views; return { - brew : this.props.brew, + brew : newBrew, isSaving : false, isPending : false, - alertTrashedGoogleBrew : this.props.brew.trashed, + alertTrashedGoogleBrew : newBrew.trashed, alertLoginToTransfer : false, - saveGoogle : this.props.brew.googleId ? true : false, + saveGoogle : newBrew.googleId ? true : false, confirmGoogleTransfer : false, errors : null, - htmlErrors : Markdown.validate(this.props.brew.text), + htmlErrors : Markdown.validate(newBrew.text), url : '' }; }, From 8e841c6825bf9a92407647a457f362ca8385e634 Mon Sep 17 00:00:00 2001 From: "G.Ambatte" Date: Thu, 26 Aug 2021 17:20:03 +1200 Subject: [PATCH 2/3] Unwind changes to EditPage --- client/homebrew/pages/editPage/editPage.jsx | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/client/homebrew/pages/editPage/editPage.jsx b/client/homebrew/pages/editPage/editPage.jsx index d5fa6956b..a643296d4 100644 --- a/client/homebrew/pages/editPage/editPage.jsx +++ b/client/homebrew/pages/editPage/editPage.jsx @@ -51,18 +51,16 @@ const EditPage = createClass({ }, getInitialState : function() { - const newBrew = this.props.brew; - delete newBrew.views; return { - brew : newBrew, + brew : this.props.brew, isSaving : false, isPending : false, - alertTrashedGoogleBrew : newBrew.trashed, + alertTrashedGoogleBrew : this.props.brew.trashed, alertLoginToTransfer : false, - saveGoogle : newBrew.googleId ? true : false, + saveGoogle : this.props.brew.googleId ? true : false, confirmGoogleTransfer : false, errors : null, - htmlErrors : Markdown.validate(newBrew.text), + htmlErrors : Markdown.validate(this.props.brew.text), url : '' }; }, From 941bb94190c9d90476bc4878f7f2e7c7e2041509 Mon Sep 17 00:00:00 2001 From: "G.Ambatte" Date: Thu, 26 Aug 2021 17:21:45 +1200 Subject: [PATCH 3/3] Remove undesired properties from brews prior to updating Clean up tab/spacing in `googleActions.js` --- server/googleActions.js | 28 +++++++++++++++------------- server/homebrew.api.js | 14 ++++++++++++-- 2 files changed, 27 insertions(+), 15 deletions(-) diff --git a/server/googleActions.js b/server/googleActions.js index bfe1b406f..29d82c15e 100644 --- a/server/googleActions.js +++ b/server/googleActions.js @@ -151,19 +151,21 @@ GoogleActions = { if(await GoogleActions.existsGoogleBrew(auth, brew.googleId) == true) { await drive.files.update({ fileId : brew.googleId, - resource : { name : `${brew.title}.txt`, - description : `${brew.description}`, - properties : { title : brew.title, - published : brew.published, - lastViewed : brew.lastViewed, - views : brew.views, - version : brew.version, - renderer : brew.renderer, - tags : brew.tags, - systems : brew.systems.join() } - }, - media : { mimeType : 'text/plain', - body : brew.text } + resource : { + name : `${brew.title}.txt`, + description : `${brew.description}`, + properties : { + title : brew.title, + published : brew.published, + version : brew.version, + renderer : brew.renderer, + tags : brew.tags, + systems : brew.systems.join() } + }, + media : { + mimeType : 'text/plain', + body : brew.text + } }) .catch((err)=>{ console.log('Error saving to google'); diff --git a/server/homebrew.api.js b/server/homebrew.api.js index 1f988761d..d838575e1 100644 --- a/server/homebrew.api.js +++ b/server/homebrew.api.js @@ -61,10 +61,20 @@ const newBrew = (req, res)=>{ }); }; +const cleanBrew = (brew)=>{ + // Remove undesired properties + const undesiredPropertyNames=['views', 'lastViewed']; + for (const undesiredProperty of undesiredPropertyNames) { + delete brew[undesiredProperty]; + }; + return brew; +}; + const updateBrew = (req, res)=>{ HomebrewModel.get({ editId: req.params.id }) .then((brew)=>{ - brew = _.merge(brew, req.body); + const updateBrew = cleanBrew(req.body); + brew = _.merge(brew, updateBrew); brew.text = mergeBrewText(brew.text, brew.style); // Compress brew text to binary before saving @@ -151,7 +161,7 @@ const updateGoogleBrew = async (req, res, next)=>{ try { oAuth2Client = GoogleActions.authCheck(req.account, res); } catch (err) { return res.status(err.status).send(err.message); } - const brew = req.body; + const brew = cleanBrew(req.body); brew.text = mergeBrewText(brew.text, brew.style); const updatedBrew = await GoogleActions.updateGoogleBrew(oAuth2Client, brew);