6. Node 가계부 만들기 [ 유저 기능 (회원 가입) repository 코드 작성 ] - 3
2022. 5. 28. 17:59ㆍ프로젝트/가계부 - 제작 JavaScript
https://crispypotato.tistory.com/213 router, service 연결 포스트에 나오듯이 회원가입 부분에서
DB를 요청하는 부분은 중복 아이디 확인, 회원가입이다.
그러므로 아이디 찾기과 회원가입 기능에 대한 repository를 작성 할 것이다.
1. DB 연결
https://crispypotato.tistory.com/210 지난 번 생성 /models/user.js 파일을 require 한다.
// routes/users/users.repository.js
const Users = require('../../models/user')
2. 아이디 찾기 repository
id 값을 받아 DB에 select를 한다.
sequlize를 이용하여 실제 sql문을 작성 하지 않고 findOne메소드로 간단하게 데이터를 찾을 수 있다.
해당 유저가 있으면 true를 retrun 하고 없다면 false를 return 하는 코드를 작성한다.
// routes/users/users.repository.js
const Users = require('../../models/user')
const IdFind = async (id) => {
const user = await Users.findOne({ where: { id } })
if (user) {
return true
} else {
return false
}
}
3. 회원가입 repository
users.service.js에서 전달 받은 값 id, password, salt으로 계정을 생성한다.
// routes/users/users.repository.js
const UserCreate = async (data) => {
try {
const { id, password, salt } = data
await Users.create({
id,
password,
salt
})
return true
} catch (E) {
return false
}
}
4. 최종 users.repository.js
const Users = require('../../models/user')
const IdFind = async (id) => {
const user = await Users.findOne({ where: { id } })
if (user) {
return true
} else {
return false
}
}
const UserCreate = async (data) => {
try {
const { id, password, salt } = data
await Users.create({
id,
password,
salt
})
return true
} catch (E) {
return false
}
}
module.exports = { IdFind, UserCreate }
728x90
반응형
'프로젝트 > 가계부 - 제작 JavaScript' 카테고리의 다른 글
8. Node 가계부 만들기 [ 유저 기능 (회원 가입) 전송 받은 데이터 유효성 검사 ] - 5 (0) | 2022.05.28 |
---|---|
7. Node 가계부 만들기 [ 유저 기능 (회원 가입) Service코드 작성 ] - 4 (0) | 2022.05.28 |
5. Node 가계부 만들기 [ 유저 기능 (회원 가입) 필요 함수 구현 ] - 2 (0) | 2022.05.28 |
4. Node 가계부 만들기 [ 유저 기능 (회원 가입) 구현 ] - 1 (0) | 2022.05.28 |
3. Node 가계부 만들기 [ 데이터 / Error 전송 포맷 설정 함수 생성, http-errors 사용, Error 핸들러 ] (0) | 2022.05.23 |