Coverage for src/app/services/registration_service.py: 100%
17 statements
« prev ^ index » next coverage.py v7.7.0, created at 2025-04-03 00:42 +0200
« prev ^ index » next coverage.py v7.7.0, created at 2025-04-03 00:42 +0200
2from usecases.registration_useCase import RegistrationUseCase
3from ports.registration_port import RegistrationPort
4from services.validation_service import ValidationService
5from models.user_model import UserModel
7from flask_bcrypt import Bcrypt
9class RegistrationService(RegistrationUseCase):
11 def __init__(self, registration_port: RegistrationPort, validation_service: ValidationService, bcrypt: Bcrypt):
12 self.bcrypt = bcrypt
13 self.validation_service = validation_service
14 self.registration_port = registration_port
16 def register(self, user_model : UserModel) -> bool:
17 """
18 Register a new user.
20 Args:
21 user_dto (UserModel): The user data transfer object.
23 Returns:
24 bool: True if the user was registered successfully, False otherwise.
25 """
26 try:
27 self.validation_service.validate_registration(user_model)
29 user_model.set_password(self.bcrypt.generate_password_hash(user_model.get_password()).decode('utf-8'))
31 return self.registration_port.register(user_model)
33 except Exception as e:
34 raise e