DFiP_Budget_planing/api/src/services/expense_item_service.py

17 lines
602 B
Python

from sqlalchemy.ext.asyncio import AsyncSession
from src.db.models.role import UserRoleEnum
from src.db.models.app_user import AppUser
from src.db.models.expense_item import ExpenseItem
from src.repository.expense_item_repository import ExpenseItemRepository
class ExpenseItemService:
def __init__(self, db: AsyncSession):
self.repo = ExpenseItemRepository(db)
async def get(self, item_id: int, user: AppUser | None = None) -> ExpenseItem | None:
if not user or user.role_id == UserRoleEnum.ADMIN:
return await self.repo.get(item_id=item_id)
return None