0
0
mirror of https://github.com/naturalcrit/homebrewery.git synced 2025-12-24 12:02:48 +00:00

Cleanup; added more fields to DEFAULT_BREW

This commit is contained in:
Trevor Buckner
2023-01-04 17:33:23 -05:00
parent e1765cad41
commit e02bde5eed
3 changed files with 25 additions and 20 deletions

View File

@@ -407,7 +407,10 @@ if(isLocalEnvironment){
//Render the page
const templateFn = require('./../client/template.js');
app.use(asyncHandler(async (req, res, next)=>{
// Assuming we have not received a brew yet, populate with default values
const brew = _.defaults(req.brew, DEFAULT_BREW);
// Create configuration object
const configuration = {
local : isLocalEnvironment,

View File

@@ -1,30 +1,36 @@
const _ = require('lodash');
// Default brew properties in most cases
// Default properties for newly-created brews
const DEFAULT_BREW = {
text : '',
editId : null,
shareId : null,
title : 'Untitled Brew',
text : '',
style : undefined,
description : '',
editId : undefined,
shareId : undefined,
createdAt : undefined,
updatedAt : undefined,
renderer : 'V3',
theme : '5ePHB',
authors : [],
tags : [],
systems : [],
thumbnail : '',
published : false,
pageCount : 1,
theme : '5ePHB'
gDrive : false,
trashed : false
};
// Default brew properties for loading
const DEFAULT_BREW_LOAD = {};
_.defaults(DEFAULT_BREW_LOAD,
// Default values for older brews with missing properties
// e.g., missing "renderer" is assumed to be "legacy"
const DEFAULT_BREW_LOAD = _.defaults(
{
renderer : 'legacy',
published : true
renderer : 'legacy',
},
DEFAULT_BREW);
module.exports = {
DEFAULT_BREW,
DEFAULT_BREW_LOAD
};
};

View File

@@ -73,17 +73,13 @@ If you believe you should have access to this brew, ask the file owner to invite
throw 'Brew not found in Homebrewery database or Google Drive';
}
if(typeof stub?.tags === 'string') {
stub.tags = [];
}
// Clean up brew: fill in missing fields with defaults / fix old invalid values
stub.tags = stub.tags || undefined; // Clear empty strings
stub.renderer = stub.renderer || undefined; // Clear empty strings
stub = _.defaults(stub, DEFAULT_BREW_LOAD); // Fill in blank fields
// Use _.assignWith instead of _.defaults - does this need to be replicated at all other uses of _.defaults???
_.assignWith(stub, DEFAULT_BREW_LOAD, (objValue, srcValue)=>{
if(typeof objValue === 'boolean') return objValue;
return objValue || srcValue;
});
req.brew = stub;
next();
};
};