from sqlalchemy.ext.asyncio import AsyncSession from sqlalchemy import select from typing import Optional, Union, List from db.models import Order, OrderItem, OrderStatus 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)