TaskWeaver / services /auth_service.py
PocketSkye's picture
Initial deployment
0242ab2
Raw
History Blame Contribute Delete
834 Bytes
from sqlalchemy.orm import Session
from models.user import User
from core.security import (
hash_password,
verify_password
)
def get_user_by_email(
db: Session,
email: str
):
return (
db.query(User)
.filter(User.email == email)
.first()
)
def create_user(
db: Session,
name: str,
email: str,
password: str
):
user = User(
name=name,
email=email,
password_hash=hash_password(password)
)
db.add(user)
db.commit()
db.refresh(user)
return user
def authenticate_user(
db: Session,
email: str,
password: str
):
user = get_user_by_email(db, email)
if not user:
return None
if not verify_password(
password,
user.password_hash
):
return None
return user