service_man/api/application/usecase/company/create_company.py

20 lines
817 B
Python

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.domain.company.repository import CompanyRepository
class CreateCompany:
def __init__(
self,
transaction: TransactionContextManager,
company_repository: CompanyRepository,
) -> None:
self.company_repository = company_repository
self.transaction = transaction
async def execute(self, request: CreateNewCompany) -> CompanyBaseResponse:
async with self.transaction as tr:
# companies = await self.company_repository.
return CompanyBaseResponse(name=request.name, email=request.email)