123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109 |
- const router = require('express').Router()
- const User = require('../models/user')
- const virifyToken = require('../middlewares/verify-token')
- const jwt = require('jsonwebtoken')
- router.post('/auth/signup', async (req, res) => {
- if (!req.body.email || !req.body.password) {
- res.json({ success: false, message: 'please enter email or password' })
- } else {
- try {
- let newUser = new User()
- newUser.name = req.body.name
- newUser.email = req.body.email
- newUser.password = req.body.password
- await newUser.save()
- let token = jwt.sign(newUser.toJSON(), process.env.SECRET, {
- expiresIn: 604800
- })
- res.json({
- success: true,
- token,
- message: 'Succes created a new User'
- })
- } catch (err) {
- res.status(500).json({
- success: false,
- message: err.message
- })
- }
- }
- })
- router.get('/auth/user', virifyToken, async (req, res) => {
- try {
- let foundUser = await (await User.findOne({ _id: req.decoded._id })).populate('address')
- if (foundUser) {
- res.json({
- success: true,
- user: foundUser
- })
- }
- } catch (err) {
- res.status(500).json({
- success: false,
- message: err.message
- })
- }
- })
- router.put('/auth/user', virifyToken, async (req, res) => {
- try {
- let foundUser = await User.findOne({ _id: req.decoded._id })
- if(foundUser) {
- if(req.body.name) foundUser.name = req.body.name
- if(req.body.email) foundUser.email = req.body.email
- if(req.body.password) foundUser.password = req.body.password
- await foundUser.save()
- res.json({
- success: true,
- // user: foundUser
- message: 'Successfulu update'
- })
- }
- } catch (err) {
- res.status(500).json({
- success: false,
- message: err.message
- })
- }
- })
- router.post('/auth/login', async (req, res) => {
- try {
- let foundUser = await User.findOne({ email: req.body.email})
- console.log(foundUser)
- if (!foundUser) {
- res.status(403).json({
- success: false,
- message: 'Authentication failed, User not found '
- })
- } else {
- if (foundUser.comparePassword(req.body.password)) {
- let token = jwt.sign(foundUser.toJSON(), process.env.SECRET, {
- expiresIn: 604800
- })
- res.json({ success: true, token})
- } else {
- res.status(403).json({
- success: false,
- message: 'Authentication failed, Wrong password'
- })
- }
- }
- } catch (err) {
- res.status(500).json({
- success: false,
- message: err.message
- })
- }
- })
- module.exports = router
|