sync
This commit is contained in:
@@ -1,6 +1,9 @@
|
||||
from sqlalchemy.exc import IntegrityError
|
||||
|
||||
from api.application.abstractions import UnitOfWork
|
||||
from api.application.contracts.auth.auth_request import UserCreateRequest
|
||||
from api.application.protocols.password_hasher import PasswordHasher
|
||||
from api.domain.user.error import UserAlreadyExistsError
|
||||
from api.domain.user.model import User
|
||||
from api.domain.user.repository import UserRepository
|
||||
|
||||
@@ -19,8 +22,18 @@ class CreateUser:
|
||||
async def execute(self, request: UserCreateRequest) -> None:
|
||||
user = User.create(
|
||||
name=request.name,
|
||||
last_name=request.last_name,
|
||||
email=request.email,
|
||||
hashed_password=self.hasher.hash_password(request.password),
|
||||
)
|
||||
await self.user_repository.create_user(user=user)
|
||||
await self.uow.commit()
|
||||
|
||||
try:
|
||||
await self.user_repository.create_user(user=user)
|
||||
await self.uow.commit()
|
||||
|
||||
except IntegrityError as e:
|
||||
msg = e.args[0].split("\n")[-1]
|
||||
msg = msg.split(":")[1].strip()
|
||||
|
||||
if "email" in msg:
|
||||
raise UserAlreadyExistsError(message=msg)
|
||||
|
12
api/application/usecase/company/create_company.py
Normal file
12
api/application/usecase/company/create_company.py
Normal file
@@ -0,0 +1,12 @@
|
||||
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, company_repository: CompanyRepository) -> None:
|
||||
self.company_repository = company_repository
|
||||
|
||||
async def execute(self, request: CreateNewCompany) -> CompanyBaseResponse:
|
||||
# companies = await self.company_repository.
|
||||
return CompanyBaseResponse(name=request.name, email=request.email)
|
Reference in New Issue
Block a user