from sqlalchemy import select
from sqlalchemy.ext.asyncio import AsyncSession

from src.db.models.expense_item import ExpenseItem


class ExpenseItemRepository:
    def __init__(self, db: AsyncSession):
        self.db = db

    async def get(self, item_id: int) -> ExpenseItem | None:
        query = select(ExpenseItem).where(ExpenseItem.id == item_id).limit(1)
        return (await self.db.execute(query)).scalar_one_or_none()
