diff --git a/app/services/user_service.py b/app/services/user_service.py index f5fe87f..c0eb45c 100644 --- a/app/services/user_service.py +++ b/app/services/user_service.py @@ -8,7 +8,7 @@ from app.utils.alert_type import AlertType from app.utils.errors.users.user_register_errors import UserRegisterErrors from app.utils.flash_message import FlashMessage from app.utils.flash_message_category import FlashMessageCategory -from app.utils.validators import UserValidators +from app.utils.validators.user_validators import UserValidators class UserService: @staticmethod diff --git a/app/utils/validators.py b/app/utils/validators/user_validators.py similarity index 74% rename from app/utils/validators.py rename to app/utils/validators/user_validators.py index fb0bdd0..f77b68c 100644 --- a/app/utils/validators.py +++ b/app/utils/validators/user_validators.py @@ -1,12 +1,13 @@ from datetime import date from typing import Optional from app.utils.errors.users.user_register_errors import UserRegisterErrors -import re +from app.utils.validators.validators import Validators + class UserValidators: @staticmethod def is_valid_user_name(name: Optional[str], isLastname=False): - if(UserValidators.is_valid_str_and_pattern(name, '^[A-Za-z ]{2,255}$')): + if(Validators.is_valid_str_and_pattern(name, '^[A-Za-z ]{2,255}$')): return name if(isLastname): raise UserRegisterErrors("Invalid user lastname") @@ -14,7 +15,7 @@ class UserValidators: @staticmethod def is_valid_birth_date(birth_date: Optional[str]): - if(UserValidators.is_valid_str_and_pattern(birth_date, '^\d{4}-\d{2}-\d{2}$')): + if(Validators.is_valid_str_and_pattern(birth_date, '^\d{4}-\d{2}-\d{2}$')): try: birth_date = [int(n) for n in (str(birth_date)).split("-")] return date(birth_date[0], birth_date[1], birth_date[2]) @@ -24,13 +25,13 @@ class UserValidators: @staticmethod def is_valid_phone_number(phone_number: Optional[str]): - if(UserValidators.is_valid_str_and_pattern(phone_number, '^(\+\d{1,3}){0,1}[0-9]{7,255}$')): + if(Validators.is_valid_str_and_pattern(phone_number, '^(\+\d{1,3}){0,1}[0-9]{7,255}$')): return phone_number raise UserRegisterErrors("Invalid user phone number") @staticmethod def is_valid_email(email: Optional[str]): - if(UserValidators.is_valid_str_and_pattern(email, '^[A-Za-z0-9._%+\-]+@[A-Za-z0-9.\-]+\.[A-Za-z]{2,}$')): + if(Validators.is_valid_str_and_pattern(email, '^[A-Za-z0-9._%+\-]+@[A-Za-z0-9.\-]+\.[A-Za-z]{2,}$')): if(len(email) <= 255): return email raise UserRegisterErrors("Invalid user email") @@ -40,14 +41,6 @@ class UserValidators: if(isinstance(address, str) and len(address) <= 255): return address raise UserRegisterErrors("Invalid user address") - - @staticmethod - def is_valid_str_and_pattern(string: Optional[str], pattern: str): - if(isinstance(string, str)): - regex = re.compile(pattern) - if(regex.match(string) is not None): - return True - return False @staticmethod def is_valid_password(password: str): diff --git a/app/utils/validators/validators.py b/app/utils/validators/validators.py new file mode 100644 index 0000000..a5e5d02 --- /dev/null +++ b/app/utils/validators/validators.py @@ -0,0 +1,12 @@ +import re +from typing import Optional + +class Validators: + + @staticmethod + def is_valid_str_and_pattern(string: Optional[str], pattern: str): + if(isinstance(string, str)): + regex = re.compile(pattern) + if(regex.match(string) is not None): + return True + return False \ No newline at end of file