diff --git a/server/homebrew.api.js b/server/homebrew.api.js index 59d4f6d68..ffaf6e91f 100644 --- a/server/homebrew.api.js +++ b/server/homebrew.api.js @@ -76,6 +76,7 @@ const updateBrew = (req, res)=>{ const updateBrew = excludePropsFromUpdate(req.body); brew = _.merge(brew, updateBrew); brew.text = mergeBrewText(brew.text, brew.style); + brew.tags = updateBrew.tags; // Compress brew text to binary before saving brew.textBin = zlib.deflateRawSync(brew.text); diff --git a/server/homebrew.model.js b/server/homebrew.model.js index acc78a624..4de2b6510 100644 --- a/server/homebrew.model.js +++ b/server/homebrew.model.js @@ -12,7 +12,7 @@ const HomebrewSchema = mongoose.Schema({ pageCount : { type: Number, default: 1 }, description : { type: String, default: '' }, - tags : { type: String, default: '' }, + tags : [String], systems : [String], renderer : { type: String, default: '' }, authors : [String], @@ -66,6 +66,24 @@ HomebrewSchema.statics.getByUser = function(username, allowAccess=false){ const Homebrew = mongoose.model('Homebrew', HomebrewSchema); +Homebrew.count({ tags: '' }, async (err, count)=>{ + if(!err) { + if(count > 0) { + Homebrew.updateMany({ tags: '' }, { tags: [] }, { multi: true }, function(err, data) { + if(!err) { + console.log('Successfully updated all brews to new schema definition'); + } else { + console.log('An error occurred while updating brews to the new schema', err); + } + }); + } else { + console.log('No brews to update'); + } + } else { + console.log('An error occurred while counting brews with the old schema', err); + } +}); + module.exports = { schema : HomebrewSchema, model : Homebrew,