from sqlalchemy import select from .database import DatingOrm, new_session from .schemas import SDatingAdd, SDating class DatingRepository: @classmethod async def add_dating(cls, dating: SDatingAdd) -> int: async with new_session() as session: data = dating.model_dump() new_dating = DatingOrm(**data) session.add(new_dating) await session.flush() await session.commit() return new_dating.id @classmethod async def get_datings(cls) -> list[SDating]: async with new_session() as session: query = select(DatingOrm) result = await session.execute(query) dating_models = result.scalars().all() datings = [ SDating.model_validate(dating_model) for dating_model in dating_models ] return datings