728x90
오늘은 처음에 만들었던 회원가입 기능을 조금 보완해보자
main.py
# 기존 코드
@app.post("/signup")
def signup(user: UserCreate, db: Session = Depends(get_db)):
create_user(db, user)
return JSONResponse(content={"message": "회원가입이 완료되었습니다."}, status_code=201)
# 변경 코드
@app.post("/signup")
def signup(user: UserCreate, db: Session = Depends(get_db)):
created_user = create_user(db, user)
if created_user is not False:
return JSONResponse(content={"message": "회원가입이 완료되었습니다."}, status_code=201)
else:
return JSONResponse(content={"message": "이메일 인증이 완료되지 않았습니다."}, status_code=401)
처럼 바꿔서 이메일 인증이 안됐을때를 걸러보자
crud.py
# 이전 코드
def create_user(db: Session, user: UserCreate):
hashed_password = bcrypt.hashpw(user.password.encode('utf-8'), bcrypt.gensalt()).decode('utf-8')
db_user = User(
email=user.email,
password=hashed_password,
nickname=user.nickname
)
db.add(db_user)
db.commit()
db.refresh(db_user)
return db_user
# 변경 코드
def create_user(db: Session, user: UserCreate):
find_email_auth = db.query(EmailAuth).filter(EmailAuth.email == user.email).first()
if find_email_auth.status == True:
hashed_password = bcrypt.hashpw(user.password.encode('utf-8'), bcrypt.gensalt()).decode('utf-8')
db_user = User(
email=user.email,
password=hashed_password,
nickname=user.nickname
)
db.add(db_user)
db.commit()
db.refresh(db_user)
return db_user
else:
return False
이메일 인증 되었을때는 db에 저장을 해주고 안됐을때는 리턴으로 False 를 던져주자
본 후기는 정보통신산업진흥원(NIPA)에서 주관하는 <AI 서비스완성! AI+웹개발 취업캠프 - 프론트엔드&백엔드> 과정 학습/프로젝트/과제 기록으로 작성되었습니다.
'코딩캠프 > AI 웹개발 취업캠프' 카테고리의 다른 글
[AI 웹개발 취업캠프] 75Day - 프로젝트 26일차 (2) | 2023.11.06 |
---|---|
[AI 웹개발 취업캠프] 74Day - 프로젝트 25일차 (0) | 2023.11.04 |
[AI 웹개발 취업캠프] 72Day - 프로젝트 23일차 (0) | 2023.11.01 |
[AI 웹개발 취업캠프] 71Day - 프로젝트 22일차 (0) | 2023.10.31 |
[AI 웹개발 취업캠프] 70Day - 프로젝트 21일차 (0) | 2023.10.30 |