🚚 Refactor and simplify backend file structure (#609)

This commit is contained in:
Sebastián Ramírez
2024-02-25 18:48:02 +01:00
committed by GitHub
parent a065f9c9e8
commit 73b2884057
74 changed files with 29 additions and 29 deletions

View File

@@ -0,0 +1,38 @@
from .crud_item import item
from .crud_user import user
# For a new basic set of CRUD operations you could just do
# from .base import CRUDBase
# from app.models.item import Item
# from app.schemas.item import ItemCreate, ItemUpdate
# item = CRUDBase[Item, ItemCreate, ItemUpdate](Item)
from sqlmodel import Session, select
from app.core.security import get_password_hash, verify_password
from app.models import UserCreate, User
def create_user(*, session: Session, user_create: UserCreate) -> User:
db_obj = User.from_orm(
user_create, update={"hashed_password": get_password_hash(user_create.password)}
)
session.add(db_obj)
session.commit()
session.refresh(db_obj)
return db_obj
def get_user_by_email(*, session: Session, email: str) -> User | None:
statement = select(User).where(User.email == email)
session_user = session.exec(statement).first()
return session_user
def authenticate(*, session: Session, email: str, password: str) -> User | None:
user = get_user_by_email(session=session, email=email)
if not user:
return None
if not verify_password(password, user.hashed_password):
return None
return user