28 lines
755 B
Python
28 lines
755 B
Python
# app/crud/user.py
|
|
|
|
from sqlalchemy.orm import Session
|
|
from app.models.user import User
|
|
from app.schemas.user import UserCreate
|
|
from passlib.context import CryptContext
|
|
from datetime import datetime
|
|
|
|
# 비밀번호 해싱용 도구 설정
|
|
pwd_context = CryptContext(schemes=["bcrypt"], deprecated="auto")
|
|
|
|
def get_password_hash(password: str) -> str:
|
|
return pwd_context.hash(password)
|
|
|
|
def create_user(db: Session, user_create: UserCreate) -> User:
|
|
hashed_pw = get_password_hash(user_create.password)
|
|
now = datetime.utcnow()
|
|
db_user = User(
|
|
email=user_create.email,
|
|
password_hash=hashed_pw,
|
|
created_at=now,
|
|
updated_at=now
|
|
)
|
|
db.add(db_user)
|
|
db.commit()
|
|
db.refresh(db_user)
|
|
return db_user
|