models/user.js (38 lines of code) (raw):

// Copyright (c) 2017 Chandan B N. All rights reserved. const mongoose = require('mongoose'); const UserSchema = mongoose.Schema({ name: { type: String, required: true, validate: [/[a-zA-Z0-9]{3,}/, 'Need atleast three letters in a name'] }, username: { type: String, required: true, lowercase: true, index: true, validate: [/^[a-zA-Z0-9]{3,}$/, 'Usernames should have atleast three alphanumeric characters'] }, email: { type: String, required: true, validate: [/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/, 'Invalid email address'] }, emoji: { type: String, required: true }, password: { type: String, required: true }, priv: { type: Number, required: true, default: 1 }, group: { type: String, required: false } }); //0 admin //1 read/write //2 read const User = module.exports = mongoose.model('User', UserSchema);