user.controller.js 1.59 KB
Newer Older
Kim, Chaerin's avatar
Kim, Chaerin committed
1
import { User } from "../models/index.js";
Kim, Chaerin's avatar
a    
Kim, Chaerin committed
2
import jwt from "jsonwebtoken";
Kim, Chaerin's avatar
Kim, Chaerin committed
3
import config from "../config/app.config.js";
seoyeon's avatar
0716    
seoyeon committed
4
5
import isLength from 'validator/lib/isLength.js'
import bcrypt from "bcryptjs";
Kim, Chaerin's avatar
Kim, Chaerin committed
6

Kim, Chaerin's avatar
.    
Kim, Chaerin committed
7
8
9
10
11
12
13
14
15
16
const test = async (req, res) => {
  try {
    console.log(req);
    res.json("안녕");
  } catch (error) {
    console.log(error);
    return res.status(500).send("test 중 에러");
  }
};

Kim, Chaerin's avatar
Kim, Chaerin committed
17
18
19
20
const login = async (req, res) => {
  try {
    console.log("login= ", req.body);
    const { email, password } = req.body;
Kim, Chaerin's avatar
.    
Kim, Chaerin committed
21
    const user = await User.findOne({ where: { email: email } });
Kim, Chaerin's avatar
Kim, Chaerin committed
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
    if (!user)
      return res.status(422).send(`${email} 사용자가 존재하지 않습니다.`);

    const passworMatch = await user.comparePassword(password);
    if (passworMatch) {
      const token = jwt.sign({ userID: user.id }, config.jwtSecret, {
        expiresIn: config.jwtExpires,
      });
      res.cookie(config.cookieName, token, {
        path: "/",
        httpOnly: true,
        secure: true,
      });
      res.json({ user });
    } else {
      res.status(401).send("비밀번호가 일치하지 않습니다.");
    }
  } catch (error) {
    console.log(error);
    return res.status(500).send("로그인 중 에러");
  }
};

seoyeon's avatar
0716    
seoyeon committed
45
46
const signup = async (req, res) => {
  try {
Kim, Chaerin's avatar
.    
Kim, Chaerin committed
47
    console.log("sign up= ", req.body);
Kim, Chaerin's avatar
서버    
Kim, Chaerin committed
48
49
    const { id, name, email, password, gender, phone } = req.body;
    const user = User.create({ id, name, email, password, gender, phone });
Kim, Chaerin's avatar
.    
Kim, Chaerin committed
50
51
52
53
54
55
  } catch (error) {
    console.log(error);
    return res.status(500).send("회원가입 중 에러");
  }
};

Kim, Chaerin's avatar
Kim, Chaerin committed
56
export default {
Kim, Chaerin's avatar
.    
Kim, Chaerin committed
57
  test,
Kim, Chaerin's avatar
Kim, Chaerin committed
58
  login,
Kim, Chaerin's avatar
.    
Kim, Chaerin committed
59
  signup,
Kim, Chaerin's avatar
Kim, Chaerin committed
60
};