Commit cb8b006f authored by seoyeon's avatar seoyeon
Browse files

0726

parent 477e56fd
......@@ -9,6 +9,7 @@
"@testing-library/user-event": "^12.1.10",
"axios": "^0.21.1",
"bootstrap": "^5.0.2",
"nanoid": "^3.1.23",
"node-sass": "^6.0.1",
"react": "^17.0.2",
"react-dom": "^17.0.2",
......
......@@ -42,12 +42,14 @@ const Signup = () => {
async function handleSubmit() {
try {
const data = await axios.post("/api/room/1/1",user)
// setLoading(true);
// setError("");
const data = await userApi.signup(user)
// const data = await axios.post("https://localhost:8080/api/room/1/1",user)
setLoading(true);
setError("");
// const success = await login(user.email, user.password);
// const data = await axios.post("/api/room/1/1",user)
console.log(data);
// sestSuccess(success);
setSuccess(true);
} catch (error) {
// catchErrors(error, setError);
} finally {
......
import { User } from "../models/index.js";
import jwt from "jsonwebtoken";
import config from "../config/app.config.js";
import { User } from '../models/index.js'
import jwt from 'jsonwebtoken'
import config from '../config/app.config.js'
import isLength from 'validator/lib/isLength.js'
import bcrypt from "bcryptjs";
const test = async (req, res) => {
try {
console.log(req);
res.json("안녕");
} catch (error) {
console.log(error);
return res.status(500).send("test 중 에러");
}
};
import bcrypt from 'bcryptjs'
const login = async (req, res) => {
try {
console.log("login= ", req.body);
const { email, password } = req.body;
const user = await User.findOne({ where: { email: email } });
console.log('login= ', req.body)
const { email, password } = req.body
const user = await User.findOne({ where: { email: email } })
if (!user)
return res.status(422).send(`${email} 사용자가 존재하지 않습니다.`);
return res.status(422).send(`${email} 사용자가 존재하지 않습니다.`)
const passworMatch = await user.comparePassword(password);
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: "/",
path: '/',
httpOnly: true,
secure: true,
});
res.json({ user });
})
res.json({ user })
} else {
res.status(401).send("비밀번호가 일치하지 않습니다.");
res.status(401).send('비밀번호가 일치하지 않습니다.')
}
} catch (error) {
console.log(error);
return res.status(500).send("로그인 중 에러");
console.log(error)
return res.status(500).send('로그인 중 에러')
}
};
}
const signup = async (req, res) => {
try {
console.log("sign up= ", req.body);
const { name, email, password, gender, phone } = req.body;
const id = Math.floor(( Math.random() * (9999 - 1000) + 1000 ));
console.log('sign up= ', req.body)
const { name, email, password, gender, phone } = req.body
const id = Math.floor(Math.random() * (9999 - 1000) + 1000)
console.log('id:', id)
const Id = await User.findOne({ where: { id: id }})
console.log("Id 중복확인:", Id)
const Id = await User.findOne({ where: { id: id } })
console.log('Id 중복확인:', Id)
while (Id) {
const id = Math.floor((Math.random() * (9999 - 1000) + 1000 ));
const Id = await User.findOne({ where: {id: id}});
const id = Math.floor(Math.random() * (9999 - 1000) + 1000)
const Id = await User.findOne({ where: { id: id } })
}
const user = await User.findOne({ where: { email: email } });
const user = await User.findOne({ where: { email: email } })
if (user)
return res.status(422).send(`${email} 이미 존재하는 사용자입니다.`);
return res.status(422).send(`${email} 이미 존재하는 사용자입니다.`)
if (!isLength(name, {min:3, max:10})) {
if (!isLength(name, { min: 3, max: 10 })) {
return res.status(422).send('이름은 3-10자 사이입니다')
} else if (!isLength(password, { min: 6 })){
} else if (!isLength(password, { min: 6 })) {
return res.status(422).send('비밀번호는 6자이상 입니다')
} else if (!isLength(email,{ min:3, max:10 })) {
} else if (!isLength(email, { min: 3, max: 10 })) {
return res.status(422).send('아이디는 3-10자 사이입니다')
}
const newUser = User.create({
const hash = await bcrypt.hash(password, 10)
const newUser = await User.create({
id: id,
name: name,
email: email,
password: password,
password: hash,
gender: gender,
phone: phone,
});
}).then (_ =>
console.log("회원가입 정보",id, name, email, hash, gender, phone)
)
} catch (error) {
console.log(error);
return res.status(500).send("회원가입 중 에러");
console.log(error)
return res.status(500).send('회원가입 중 에러')
}
};
}
export default {
test,
login,
signup,
};
}
......@@ -24,12 +24,12 @@ const UserModel = (sequelize) => {
phone: {
type: DataTypes.INTEGER,
},
img: {
type: DataTypes.STRING,
},
roomNumber: {
type: DataTypes.ARRAY(DataTypes.STRING),
},
// img: {
// type: DataTypes.STRING,
// },
// roomNumber: {
// type: DataTypes.ARRAY(DataTypes.STRING),
// },
},
{ timestamps: true }
);
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment