remove fucking uow and replace it by TransactionContextManager
This commit is contained in:
@@ -1,12 +1,20 @@
|
||||
from api.application.abstractions.transaction import TransactionContextManager
|
||||
from api.application.contracts.company.company_request import CreateNewCompany
|
||||
from api.application.contracts.company.company_response import CompanyBaseResponse
|
||||
from api.application.contracts.company.company_response import \
|
||||
CompanyBaseResponse
|
||||
from api.domain.company.repository import CompanyRepository
|
||||
|
||||
|
||||
class CreateCompany:
|
||||
def __init__(self, company_repository: CompanyRepository) -> None:
|
||||
def __init__(
|
||||
self,
|
||||
transaction: TransactionContextManager,
|
||||
company_repository: CompanyRepository,
|
||||
) -> None:
|
||||
self.company_repository = company_repository
|
||||
self.transaction = transaction
|
||||
|
||||
async def execute(self, request: CreateNewCompany) -> CompanyBaseResponse:
|
||||
# companies = await self.company_repository.
|
||||
return CompanyBaseResponse(name=request.name, email=request.email)
|
||||
async with self.transaction as tr:
|
||||
# companies = await self.company_repository.
|
||||
return CompanyBaseResponse(name=request.name, email=request.email)
|
||||
|
@@ -1,12 +1,26 @@
|
||||
from api.application.contracts.company.company_request import CompanyByOwnerEmail
|
||||
from api.application.contracts.company.company_response import CompanyBaseResponse
|
||||
from api.application.abstractions.transaction import TransactionContextManager
|
||||
from api.application.contracts.company.company_request import \
|
||||
CompanyByOwnerEmail
|
||||
from api.application.contracts.company.company_response import \
|
||||
CompanyBaseResponse
|
||||
from api.domain.company.repository import CompanyRepository
|
||||
|
||||
|
||||
class GetCompaniesByOwnerEmail:
|
||||
def __init__(self, company_repository: CompanyRepository) -> None:
|
||||
def __init__(
|
||||
self,
|
||||
transaction: TransactionContextManager,
|
||||
company_repository: CompanyRepository,
|
||||
) -> None:
|
||||
self.company_repository = company_repository
|
||||
self.transaction = transaction
|
||||
|
||||
async def execute(self, request: CompanyByOwnerEmail) -> list[CompanyBaseResponse]:
|
||||
companies = await self.company_repository.get_companies_by_owner_email(filter={"email": request.email})
|
||||
return [CompanyBaseResponse(name=comp.name.value, email=comp.email.value) for comp in companies]
|
||||
async with self.transaction:
|
||||
companies = await self.company_repository.get_companies_by_owner_email(
|
||||
filter={"email": request.email}
|
||||
)
|
||||
return [
|
||||
CompanyBaseResponse(name=comp.name.value, email=comp.email.value)
|
||||
for comp in companies
|
||||
]
|
||||
|
Reference in New Issue
Block a user