create-admin-cli
Version:
A tool to create an admin user
68 lines (65 loc) • 1.39 kB
JavaScript
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);