Initial Commit
This commit is contained in:
21
repositories/orders.py
Normal file
21
repositories/orders.py
Normal file
@@ -0,0 +1,21 @@
|
||||
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)
|
||||
Reference in New Issue
Block a user