sheercms
Version:
Sheer Cliff CMS is a simple and powerful content management system (CMS) for Node JS.
30 lines (24 loc) • 758 B
JavaScript
var mongoose = require('mongoose');
var menuSchema = mongoose.Schema({
name: {type: String, required: 'Name is required.'},
items: mongoose.Schema.Types.Mixed,
itemCount: Number,
templateId: mongoose.Schema.Types.ObjectId,
created: Date,
modified: Date
});
var models = {
Menu: mongoose.model('menus', menuSchema)
};
//Unique Name Validation
models.Menu.schema.path('name').validate(function (value, respond) {
if (this.isNew == true) {
models.Menu.findOne({ name: value }, function (err, result) {
if (result) respond(false);
else respond(true);
});
}
else
respond(true);
}, 'A menu with this name already exists.');
module.exports = models;