from uuid import UUID from sqlalchemy import select from sqlalchemy.orm import sessionmaker from src.models.database_models.model import User, engine from src.models.pydantic_models.model import UserOutDB class UsersCrudActions: def __init__(self) -> None: self.Session=sessionmaker(bind=engine) def get_user_by_email(self, email:str)->UserOutDB|None: with self.Session() as session: # noqa: SIM117 with session.begin(): query=select(User).where(User.email==email) response=session.scalars(query).one_or_none() if response is None: return None return UserOutDB.model_validate(response) def get_user_by_id(self, id:UUID)->UserOutDB|None: with self.Session() as session: # noqa: SIM117 with session.begin(): query=select(User).where(User.id==id) response=session.scalars(query).one_or_none() if response is None: return None return UserOutDB.model_validate(response)