diff --git a/server/googleActions.js b/server/googleActions.js index feb0db401..6b62bb246 100644 --- a/server/googleActions.js +++ b/server/googleActions.js @@ -141,7 +141,14 @@ const GoogleActions = { name : `${brew.title}.txt`, description : `${brew.description}`, properties : { - title : brew.title + 'title' : brew.title, + 'shareId' : brew.shareId || nanoid(12), + 'editId' : brew.editId || nanoid(12), + 'views' : brew.views, + 'pageCount' : brew.pageCount, + 'renderer' : brew.renderer || 'legacy', + 'isStubbed' : true, + 'updatedAt' : new Date().toISOString(), } }, media : { @@ -173,9 +180,15 @@ const GoogleActions = { 'description' : `${brew.description}`, 'parents' : [folderId], 'properties' : { //AppProperties is not accessible - 'shareId' : brew.shareId || nanoid(12), - 'editId' : brew.editId || nanoid(12), - 'title' : brew.title + 'shareId' : brew.shareId || nanoid(12), + 'editId' : brew.editId || nanoid(12), + 'title' : brew.title, + 'views' : '0', + 'pageCount' : brew.pageCount, + 'renderer' : brew.renderer || 'legacy', + 'isStubbed' : true, + 'createdAt' : new Date().toISOString(), + 'version' : 1 } }; diff --git a/server/homebrew.api.js b/server/homebrew.api.js index c192010a5..688cb5a58 100644 --- a/server/homebrew.api.js +++ b/server/homebrew.api.js @@ -92,12 +92,20 @@ const excludePropsFromUpdate = (brew)=>{ return brew; }; -const excludeGoogleProps = (brew)=>{ - const propsToExclude = ['views', 'lastViewed', 'pageCount', 'renderer', 'tags', 'systems', 'published', 'version', 'authors']; +const excludeStubProps = (brew)=>{ + const propsToExclude = ['text', 'textBin', 'renderer', 'pageCount', 'views', 'version']; for (const prop of propsToExclude) { - delete brew[prop]; + brew[prop] = undefined; } - return brew; +}; + +const excludeGoogleProps = (brew)=>{ + const modified = brew.toObject ? brew.toObject() : brew; + const propsToExclude = ['tags', 'systems', 'published', 'authors', 'owner']; + for (const prop of propsToExclude) { + delete modified[prop]; + } + return modified; }; const beforeNewSave = (account, brew)=>{ @@ -137,8 +145,7 @@ const newBrew = async (req, res)=>{ .catch((err)=>{ res.status(err?.status || err?.response?.status || 500).send(err?.message || err); }); - newHomebrew.textBin = undefined; - newHomebrew.text = undefined; + excludeStubProps(newHomebrew); } else { // Compress brew text to binary before saving newHomebrew.textBin = zlib.deflateRawSync(newHomebrew.text); @@ -211,8 +218,7 @@ const updateBrew = async (req, res)=>{ } if(brew.googleId) { - brew.textBin = undefined; - brew.text = undefined; + excludeStubProps(brew); } else { // Compress brew text to binary before saving brew.textBin = zlib.deflateRawSync(brew.text);