updated user controller - put and post
This commit is contained in:
parent
e3a527f5ec
commit
a830eb0ef4
1 changed files with 5 additions and 23 deletions
|
|
@ -5,7 +5,7 @@ const { body, validationResult } = require("express-validator");
|
||||||
const { default: mongoose } = require("mongoose");
|
const { default: mongoose } = require("mongoose");
|
||||||
|
|
||||||
// C
|
// C
|
||||||
exports.put = [
|
exports.post = [
|
||||||
// Validate and sanitize username
|
// Validate and sanitize username
|
||||||
body("username", "Please enter username!")
|
body("username", "Please enter username!")
|
||||||
.isLength({ min: 1 })
|
.isLength({ min: 1 })
|
||||||
|
|
@ -23,7 +23,7 @@ exports.put = [
|
||||||
// if there are validation errors, return them
|
// if there are validation errors, return them
|
||||||
if (!errors.isEmpty()) {
|
if (!errors.isEmpty()) {
|
||||||
return res.status(400).json({
|
return res.status(400).json({
|
||||||
message: "Comment produced validation errors!",
|
message: "There were validation errors!",
|
||||||
errors: errors.array(),
|
errors: errors.array(),
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
@ -48,7 +48,7 @@ exports.put = [
|
||||||
await User.findByIdAndUpdate(dbUser._id, user, {});
|
await User.findByIdAndUpdate(dbUser._id, user, {});
|
||||||
|
|
||||||
return res.status(200).json({
|
return res.status(200).json({
|
||||||
message: "User updated!",
|
message: "User created!",
|
||||||
});
|
});
|
||||||
}),
|
}),
|
||||||
];
|
];
|
||||||
|
|
@ -64,7 +64,7 @@ exports.get = asyncHandler(async (req, res, next) => {
|
||||||
});
|
});
|
||||||
|
|
||||||
// U
|
// U
|
||||||
exports.post = [
|
exports.put = [
|
||||||
// Validate and sanitize username
|
// Validate and sanitize username
|
||||||
body("username", "Please enter username!")
|
body("username", "Please enter username!")
|
||||||
.isLength({ min: 1 })
|
.isLength({ min: 1 })
|
||||||
|
|
@ -78,25 +78,7 @@ exports.post = [
|
||||||
.escape(),
|
.escape(),
|
||||||
|
|
||||||
asyncHandler(async (req, res, next) => {
|
asyncHandler(async (req, res, next) => {
|
||||||
// begin by authorizing token
|
// return any validation errors
|
||||||
const token = req.cookies.JWT_TOKEN;
|
|
||||||
// if token is not for this user - compares by creating another token
|
|
||||||
let opts = {
|
|
||||||
expiresIn: "1d",
|
|
||||||
};
|
|
||||||
const originalUsername = req.params.username;
|
|
||||||
const userToken = jwt.sign(
|
|
||||||
{ originalUsername },
|
|
||||||
process.env.SECRET_KEY,
|
|
||||||
opts
|
|
||||||
);
|
|
||||||
if (token != userToken) {
|
|
||||||
return res.status(403).json({
|
|
||||||
message: "Not authorized!",
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
// then return any validation errors
|
|
||||||
const errors = validationResult(req);
|
const errors = validationResult(req);
|
||||||
// if there are validation errors, return them
|
// if there are validation errors, return them
|
||||||
if (!errors.isEmpty()) {
|
if (!errors.isEmpty()) {
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue