This repository has been archived on 2025-12-11. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
Andrew Trieu a9b6ade2f4 Upload 4.23
2023-06-10 15:11:13 +03:00

30 lines
816 B
JavaScript

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