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

1from usecases.authentication_useCase import AuthenticationUseCase 

2from dto.user_dto import UserDTO 

3from models.user_model import UserModel 

4 

5class AuthenticationController: 

6 

7 def __init__(self, authentication_use_case: AuthenticationUseCase): 

8 self.authentication_use_case = authentication_use_case 

9 

10 def login(self, user_dto : UserDTO) -> UserDTO: 

11 """ 

12 Register a new user. 

13  

14 Args: 

15 user_dto (UserDTO): The user data transfer object. 

16  

17 Returns: 

18 bool: True if the user was registered successfully, False otherwise. 

19 """ 

20 try: 

21 

22 user_model = UserModel( 

23 username=user_dto.get_username(), 

24 password=user_dto.get_password() 

25 ) 

26 

27 user_result = self.authentication_use_case.login(user_model) 

28 

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 ) 

39 

40 except Exception as e: 

41 raise e