UNPKG

create-admin-cli

Version:
68 lines (65 loc) 1.39 kB
const mongoose = require("mongoose"); const passportLocalMongoose = require("passport-local-mongoose"); const Schema = mongoose.Schema; const UserSchema = new Schema( { email: { type: String, unique: true, lowercase: true, required: true, trim: true, }, username: { type: String, unique: true, lowercase: true, required: true, trim: true, }, firstName: { type: String, lowercase: true, required: true, trim: true, }, lastName: { type: String, lowercase: true, required: true, trim: true, }, isVerified: { type: Boolean, required: true, }, roles: { dev_admin: { type: Boolean, default: false, }, admin: { type: Boolean, default: false, }, manager: { type: Boolean, default: false, }, basic: { type: Boolean, default: true, }, } }, { timestamps: true } ); UserSchema.plugin(passportLocalMongoose, { limitAttempts: true, interval: 100, // 300000ms is 5 min maxInterval: 300000, // This will completely lock out an account and requires user intervention. maxAttempts: 10, }); module.exports = mongoose.model("User", UserSchema);