Coverage for src/app/controllers/authentication_controller.py: 54%
13 statements
« prev ^ index » next coverage.py v7.7.0, created at 2025-04-03 00:51 +0200
« prev ^ index » next coverage.py v7.7.0, created at 2025-04-03 00:51 +0200
1from usecases.authentication_useCase import AuthenticationUseCase
2from dto.user_dto import UserDTO
3from models.user_model import UserModel
5class AuthenticationController:
7 def __init__(self, authentication_use_case: AuthenticationUseCase):
8 self.authentication_use_case = authentication_use_case
10 def login(self, user_dto : UserDTO) -> UserDTO:
11 """
12 Register a new user.
14 Args:
15 user_dto (UserDTO): The user data transfer object.
17 Returns:
18 bool: True if the user was registered successfully, False otherwise.
19 """
20 try:
22 user_model = UserModel(
23 username=user_dto.get_username(),
24 password=user_dto.get_password()
25 )
27 user_result = self.authentication_use_case.login(user_model)
29 return UserDTO(
30 id=user_result.get_id(),
31 username=user_result.get_username(),
32 password=user_result.get_password(),
33 email=user_result.get_email(),
34 phone=user_result.get_phone(),
35 first_name=user_result.get_first_name(),
36 last_name=user_result.get_last_name(),
37 is_admin=user_result.get_is_admin()
38 )
40 except Exception as e:
41 raise e