Upload 4.23

This commit is contained in:
Andrew Trieu
2023-06-10 15:11:13 +03:00
parent 4b88f3958f
commit a9b6ade2f4
18 changed files with 740 additions and 39 deletions

View File

@@ -0,0 +1,30 @@
const bcrypt = require('bcrypt')
const usersRouter = require('express').Router()
const User = require('../models/user')
usersRouter.post('/', async (request, response) => {
const { username, name, password } = request.body
if (!password || password.length < 3) {
return response.status(400).json({ error: 'password must be at least 3 characters long' })
}
const saltRounds = 10
const passwordHash = await bcrypt.hash(password, saltRounds)
const user = new User({
username,
name,
passwordHash,
})
const savedUser = await user.save()
response.status(201).json(savedUser)
})
usersRouter.get('/', async (request, response) => {
const users = await User.find({}).populate('blogs', { title: 1, author: 1, url: 1, likes: 1 })
response.json(users)
})
module.exports = usersRouter