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);