Files
The_Great_Excel_Project/src/database/users/crud.py

30 lines
1.1 KiB
Python

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)