mirror of
https://github.com/naturalcrit/homebrewery.git
synced 2026-01-10 22:12:48 +00:00
add exclusions for stub props
This commit is contained in:
@@ -141,7 +141,14 @@ const GoogleActions = {
|
|||||||
name : `${brew.title}.txt`,
|
name : `${brew.title}.txt`,
|
||||||
description : `${brew.description}`,
|
description : `${brew.description}`,
|
||||||
properties : {
|
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 : {
|
media : {
|
||||||
@@ -173,9 +180,15 @@ const GoogleActions = {
|
|||||||
'description' : `${brew.description}`,
|
'description' : `${brew.description}`,
|
||||||
'parents' : [folderId],
|
'parents' : [folderId],
|
||||||
'properties' : { //AppProperties is not accessible
|
'properties' : { //AppProperties is not accessible
|
||||||
'shareId' : brew.shareId || nanoid(12),
|
'shareId' : brew.shareId || nanoid(12),
|
||||||
'editId' : brew.editId || nanoid(12),
|
'editId' : brew.editId || nanoid(12),
|
||||||
'title' : brew.title
|
'title' : brew.title,
|
||||||
|
'views' : '0',
|
||||||
|
'pageCount' : brew.pageCount,
|
||||||
|
'renderer' : brew.renderer || 'legacy',
|
||||||
|
'isStubbed' : true,
|
||||||
|
'createdAt' : new Date().toISOString(),
|
||||||
|
'version' : 1
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -92,12 +92,20 @@ const excludePropsFromUpdate = (brew)=>{
|
|||||||
return brew;
|
return brew;
|
||||||
};
|
};
|
||||||
|
|
||||||
const excludeGoogleProps = (brew)=>{
|
const excludeStubProps = (brew)=>{
|
||||||
const propsToExclude = ['views', 'lastViewed', 'pageCount', 'renderer', 'tags', 'systems', 'published', 'version', 'authors'];
|
const propsToExclude = ['text', 'textBin', 'renderer', 'pageCount', 'views', 'version'];
|
||||||
for (const prop of propsToExclude) {
|
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)=>{
|
const beforeNewSave = (account, brew)=>{
|
||||||
@@ -137,8 +145,7 @@ const newBrew = async (req, res)=>{
|
|||||||
.catch((err)=>{
|
.catch((err)=>{
|
||||||
res.status(err?.status || err?.response?.status || 500).send(err?.message || err);
|
res.status(err?.status || err?.response?.status || 500).send(err?.message || err);
|
||||||
});
|
});
|
||||||
newHomebrew.textBin = undefined;
|
excludeStubProps(newHomebrew);
|
||||||
newHomebrew.text = undefined;
|
|
||||||
} else {
|
} else {
|
||||||
// Compress brew text to binary before saving
|
// Compress brew text to binary before saving
|
||||||
newHomebrew.textBin = zlib.deflateRawSync(newHomebrew.text);
|
newHomebrew.textBin = zlib.deflateRawSync(newHomebrew.text);
|
||||||
@@ -211,8 +218,7 @@ const updateBrew = async (req, res)=>{
|
|||||||
}
|
}
|
||||||
|
|
||||||
if(brew.googleId) {
|
if(brew.googleId) {
|
||||||
brew.textBin = undefined;
|
excludeStubProps(brew);
|
||||||
brew.text = undefined;
|
|
||||||
} else {
|
} else {
|
||||||
// Compress brew text to binary before saving
|
// Compress brew text to binary before saving
|
||||||
brew.textBin = zlib.deflateRawSync(brew.text);
|
brew.textBin = zlib.deflateRawSync(brew.text);
|
||||||
|
|||||||
Reference in New Issue
Block a user