2024.07.25 - [NodeJs] - Node js 회원가입 기능 구현(2)
Node js 회원가입 기능 구현(2)
model/user.js //회원가입exports.insertUser = async(data) => { const conn = await dbConnection() try { const query = "INSERT INTO user (id, name, email, phoneNumber, password) VALUES(?,?,?,?,?)" const values = [data.id, data.name, data.email, data.phon
dbsxo4083.tistory.com
코드 설명 및 구조 설명은 이전 포스팅을 참고하여 주시기 바랍니다.
model/user.js
exports.checkId = async (name,phoneNumber) =>{
let conn;
try{
conn = await dbConnection()
const query = "SELECT id FROM user WHERE name =? AND phoneNumber =?"
const [rows] = await conn.execute(query,[name,phoneNumber])
if(rows.length > 0){
return rows[0].id
}
else{
return null
}
} catch (error) {
console.error('Error executing query:', error.message);
throw error; // 오류 발생 시 예외를 던져 호출자에게 알림
} finally {
await conn.end(); // 연결 종료
}
}
service/userService.js
exports.checkId = async (name,phoneNumber) =>{
try{
if(!name){
return {error_message: 'Null Name'}
}
if(!phoneNumber){
return {error_message: 'Null PhoneNumber'}
}
const isValidCheckId = await userModel.checkId(name,phoneNumber)
if(isValidCheckId===null){
return {error_message: 'Null Data'}
}
else{
return { success: true, message: isValidCheckId};
}
} catch(error){
console.error('Error CheckId:', error.message);
return { success: false, error: error.message };
}
}
controller/userController.js
exports.checkId = async (req,res) =>{
const {name,phoneNumber} = req.body
try{
const result = await userService.checkId(name,phoneNumber)
if(result.success){
res.status(200).json({
status: 200,
success: true,
data: `${result.message}`,
})
}
if(result.error_message==='Null Name'){
res.status(400).json({
status: 400,
success: false,
message: result.error_message
})
}
if(result.error_message==='Null PhoneNumber'){
res.status(400).json({
status: 400,
success: false,
message: result.error_message
})
}
if(result.error_message==='Null Data'){
res.status(400).json({
status: 400,
success: false,
message: result.error_message
})
}
} catch (error) {
res.status(500).json({ error: 'Internal server error' });
}
}
routes/userRoutes.js
const express = require('express')
const router = express.Router()
const userController = require('../controller/userController')
router.post('/auth',userController.register)
router.post('/login',userController.login)
router.post('/checkId',userController.checkId)
module.exports = router;'NodeJs' 카테고리의 다른 글
| [Node JS] JWT 토큰 인증 구현 (0) | 2024.07.25 |
|---|---|
| [Node JS] JWT토큰 구현하기 (0) | 2024.07.25 |
| [Node JS] 로그인 기능 구현 (0) | 2024.07.25 |
| [Node JS] 회원가입 기능 구현(2) (0) | 2024.07.25 |
| [Node JS] 회원가입 기능 구현(1) (1) | 2024.07.24 |