This is my auth.js code
const router = require('express').Router();
const { response } = require('express');
const {check, validationResult} = require('express-validator');
const User = require('../models/User');
const mongoose = require('mongoose');
mongoose.connect('mongodb://localhost:27017');
router.post('/login', (req,res) => {
});
router.post('/createuser', [
check("email", "Please Provide a unique and valid email").isEmail(),
check("password","Please Provide a Password that is min 6 characters length").isLength({
min: 6
})
], (req,res) => {
const email = req.body.email;
const password = req.body.password;
const username = req.body.username;
const errors = validationResult(req);
const sqlRegister = `INSERT INTO accounts (username, email, password)
VALUES ('${username}','${email}', '${password}')`;
const userExistQuery = `SELECT * FROM accounts WHERE email = ? AND password = ?`;
if(!errors.isEmpty()) {
res.status(400).json({
errors: errors.array()
})
}
const duplicate = User.findOne({email: email}).exec();
if(duplicate) return res.status(409);
else{
const result = User.create({
"username": username,
"password": password,
"email": email
})
res.send("User Created");
}
});
module.exports = router;
This is my User Model
const mongoose = require('mongoose');
const Schema = mongoose.Schema;
const userSchema = new Schema({
username: {
type: String,
required: true
},
email:{
type: String,
required: true
},
password : {
type: String,
required: true
},
roles:{
User: {
type: Number,
default: 2000
},
Admin: Number,
}
})
module.exports = mongoose.model('User', userSchema);