1
0
mirror of https://github.com/stolksdorf/homebrewery.git synced 2025-12-23 02:21:30 +00:00

Cleaned up the server file and added methodfs and statics to the model

This commit is contained in:
Scott Tolksdorf
2016-11-14 22:30:28 -05:00
parent 6672dff938
commit 8b3f9ac76a
5 changed files with 113 additions and 98 deletions

View File

@@ -7,6 +7,7 @@ var HomebrewSchema = mongoose.Schema({
editId : {type : String, default: shortid.generate, index: { unique: true }},
title : {type : String, default : ""},
text : {type : String, default : ""},
authors : [String],
createdAt : { type: Date, default: Date.now },
updatedAt : { type: Date, default: Date.now},
@@ -16,6 +17,40 @@ var HomebrewSchema = mongoose.Schema({
HomebrewSchema.methods.sanatize = function(full=false){
const brew = this.toJSON();
delete brew._id;
delete brew.__v;
if(full){
delete brew.editId;
}
return brew;
};
HomebrewSchema.methods.increaseView = function(){
return new Promise((resolve, reject) => {
this.lastViewed = new Date();
this.views = this.views + 1;
this.save((err) => {
if(err) return reject(err);
return resolve(this);
});
});
};
HomebrewSchema.statics.get = function(query){
return new Promise((resolve, reject) => {
Homebrew.find(query, (err, brews)=>{
if(err || !brews.length) return reject('Can not find brew');
return resolve(brews[0]);
});
});
};
var Homebrew = mongoose.model('Homebrew', HomebrewSchema);
module.exports = {