mirror of
https://github.com/kuhyx/WUT_Computer_Science.git
synced 2026-07-04 22:23:11 +02:00
51 lines
1.3 KiB
JavaScript
51 lines
1.3 KiB
JavaScript
const router = require("express").Router();
|
|
const User = require("../models/User");
|
|
const bcrypt = require('bcrypt');
|
|
|
|
//REGISTERING
|
|
router.post("/register", async (request, response)=>{
|
|
try{
|
|
const salt = await bcrypt.genSalt(10);
|
|
const hashedPassword = await bcrypt.hash(request.body.password, salt);
|
|
const newUser = new User({
|
|
login: request.body.login,
|
|
email: request.body.email,
|
|
password: hashedPassword,
|
|
blogTitle: request.body.blogTitle,
|
|
});
|
|
|
|
const user = await newUser.save();
|
|
response.status(200).json(user);
|
|
} catch(err){
|
|
response.status(500).json(err);
|
|
}
|
|
});
|
|
|
|
|
|
// login
|
|
router.post("/login", async (request, response) => {
|
|
try {
|
|
const user = await User.findOne({ login: request.body.login });
|
|
if(!user)
|
|
{
|
|
response.status(400).json("Wrong login!");
|
|
return;
|
|
}
|
|
|
|
|
|
const validated = await bcrypt.compare(request.body.password, user.password);
|
|
if(!validated)
|
|
{
|
|
response.status(400).json("Wrong password!");
|
|
return;
|
|
}
|
|
|
|
const {password, ...others} = user._doc;
|
|
response.status(200).json(others);
|
|
return;
|
|
} catch (err) {
|
|
response.status(500).json(err);
|
|
}
|
|
})
|
|
|
|
module.exports = router;
|