remove fucking uow and replace it by TransactionContextManager

This commit is contained in:
2024-04-23 08:10:17 +00:00
parent 12d61e01e1
commit ad92682eda
11 changed files with 108 additions and 89 deletions

View File

@@ -1,15 +1,18 @@
from api.application.abstractions import UnitOfWork
from api.application.abstractions.transaction import TransactionContextManager
from api.application.contracts.user import GetUserByEmailRequest, UserResponse
from api.domain.user.repository import UserRepository
class GetUserByEmail:
def __init__(self, uow: UnitOfWork, user_repository: UserRepository) -> None:
self.uow = uow
def __init__(
self, transaction: TransactionContextManager, user_repository: UserRepository
) -> None:
self.transaction = transaction
self.user_repository = user_repository
async def execute(self, request: GetUserByEmailRequest) -> UserResponse | None:
user = await self.user_repository.get_user(filter={"email": request.email})
if user:
async with self.transaction:
user = await self.user_repository.get_user(filter={"email": request.email})
if user:
return None
return None
return None