Files
shveitechbot/repositories/orders.py

22 lines
610 B
Python

from sqlalchemy.ext.asyncio import AsyncSession
from sqlalchemy import select
from typing import Optional
from db.models import Order
class OrderRepository:
async def get_order_by_id(
self, session: AsyncSession, order_id: int
) -> Optional[Order]:
stmt = select(Order).where(Order.id == order_id)
return await session.scalar(stmt)
async def get_orders_by_user(
self, session: AsyncSession, user_id: int
) -> list[Order]:
stmt = select(Order).where(Order.customer == user_id)
result = await session.scalars(stmt)
return list(result)