Skip to content
Snippets Groups Projects

Finalproject2 rni4

Merged rni4 requested to merge finalproject2-rni4 into master
5 unresolved threads
8 files
+ 303
112
Compare changes
  • Side-by-side
  • Inline
Files
8
+ 90
63
@@ -84,90 +84,117 @@ router.post(
// @desc Get user profile by user ID
// @access Public
router.get('/me', auth,
async (req, res) => {
try {
const profile = await User.findOne({
_id: req.user.id
}).populate('user', ['name', 'avatar', 'password']);
if (!profile) return res.status(400).json({ errors: 'User not found' });
return res.json(profile);
} catch (err) {
console.error(err.message);
res.status(500).send('Server Error');
}
async (req, res) => {
try {
const profile = await User.findOne({
_id: req.user.id
}).populate('user', ['name', 'avatar', 'password']);
if (!profile) return res.status(400).json({ errors: 'User not found' });
return res.json(profile);
} catch (err) {
console.error(err.message);
res.status(500).send('Server Error');
}
}
);
// @route DELETE api/profile
// @desc Delete profile, user & posts
// @access Private
router.delete('/me', auth, async (req, res) => {
try {
// Remove user
await Promise.all([
User.findOneAndRemove({ _id: req.user.id })
]);
res.json({ msg: 'User deleted' });
} catch (err) {
console.error(err.message);
res.status(500).send('Server Error');
}
try {
// Remove user
await Promise.all([
User.findOneAndRemove({ _id: req.user.id })
]);
res.json({ msg: 'User deleted' });
} catch (err) {
console.error(err.message);
res.status(500).send('Server Error');
}
});
// @route PUT api/password
// @desc Update user password
// @access Private
router.put('/me/password', [auth,
check('password', 'Password is required').notEmpty()],
async (req, res) => {
const errors = validationResult(req);
if (!errors.isEmpty()) {
return res.status(400).json({ errors: errors.array() });
}
try {
const user = await User.findOne({ _id: req.user.id });
const salt = await bcrypt.genSalt(10);
const { password } = req.body;
user.password = await bcrypt.hash(password, salt);
await user.save();
res.json(user);
} catch (err) {
console.error(err.message);
res.status(500).send('Server Error');
}
check('password', 'Password is required').notEmpty()],
async (req, res) => {
const errors = validationResult(req);
if (!errors.isEmpty()) {
return res.status(400).json({ errors: errors.array() });
}
try {
const user = await User.findOne({ _id: req.user.id });
const salt = await bcrypt.genSalt(10);
const { password } = req.body;
user.password = await bcrypt.hash(password, salt);
await user.save();
res.json(user);
} catch (err) {
console.error(err.message);
res.status(500).send('Server Error');
}
}
);
// @route PUT api/user/avatar
// @desc Update user password
// @access Private
router.put('/me/avatar', [auth,
check('avatar', 'Avatar is required').notEmpty()],
async (req, res) => {
const errors = validationResult(req);
if (!errors.isEmpty()) {
return res.status(400).json({ errors: errors.array() });
}
try {
const user = await User.findOne({ _id: req.user.id });
const { avatar } = req.body;
user.avatar = avatar;
await user.save();
res.json(user);
} catch (err) {
console.error(err.message);
res.status(500).send('Server Error');
}
check('avatar', 'Avatar is required').notEmpty()],
async (req, res) => {
const errors = validationResult(req);
if (!errors.isEmpty()) {
return res.status(400).json({ errors: errors.array() });
}
try {
const user = await User.findOne({ _id: req.user.id });
const { avatar } = req.body;
user.avatar = avatar;
await user.save();
res.json(user);
} catch (err) {
console.error(err.message);
res.status(500).send('Server Error');
}
}
);
// @route PUT api/user/username
// @desc Update user password
// @access Private
router.put('/me/username', [auth,
check('name', 'name is required').notEmpty()],
async (req, res) => {
const errors = validationResult(req);
if (!errors.isEmpty()) {
return res.status(400).json({ errors: errors.array() });
}
try {
const user = await User.findOne({ _id: req.user.id });
const { name } = req.body;
user.name = name;
await user.save();
res.json(user);
} catch (err) {
console.error(err.message);
res.status(500).send('Server Error');
}
}
);
module.exports = router;
\ No newline at end of file
Loading