From 73167c15f66ffa734b474e305ac2da1b329e1a39 Mon Sep 17 00:00:00 2001 From: akhdanre Date: Sun, 27 Apr 2025 23:59:35 +0700 Subject: [PATCH] fix : issue on user not registered --- app/controllers/auth_controller.py | 4 ++++ app/mapper/user_mapper.py | 1 - app/services/auth_service.py | 11 ++++------- app/services/user_service.py | 4 ++++ 4 files changed, 12 insertions(+), 8 deletions(-) diff --git a/app/controllers/auth_controller.py b/app/controllers/auth_controller.py index 0b1b2e9..768602a 100644 --- a/app/controllers/auth_controller.py +++ b/app/controllers/auth_controller.py @@ -7,6 +7,7 @@ from schemas import LoginSchema from services import UserService, AuthService from exception import AuthException from mapper import UserMapper +from helpers import make_response import logging logging = logging.getLogger(__name__) @@ -22,6 +23,9 @@ class AuthController: data = request.get_json() dataSchema = LoginSchema(**data) response = self.auth_service.login(dataSchema) + + if response is None: + return make_response(message="User is not registered", status_code=401) return ( jsonify( ResponseSchema( diff --git a/app/mapper/user_mapper.py b/app/mapper/user_mapper.py index 13208c8..867ec4e 100644 --- a/app/mapper/user_mapper.py +++ b/app/mapper/user_mapper.py @@ -42,7 +42,6 @@ class UserMapper: @staticmethod def user_entity_to_response(user: UserEntity) -> UserResponseModel: - print(user.id) return UserResponseModel( id=str(user.id) if user.id else None, google_id=user.google_id, diff --git a/app/services/auth_service.py b/app/services/auth_service.py index f40e46e..2ad8707 100644 --- a/app/services/auth_service.py +++ b/app/services/auth_service.py @@ -5,7 +5,7 @@ from google.oauth2 import id_token from google.auth.transport import requests from configs import Config from exception import AuthException -from flask import current_app +from werkzeug.security import check_password_hash class AuthService: @@ -36,15 +36,12 @@ class AuthService: return self.user_repository.get_user_by_id(user_id=user_id) def login(self, data: LoginSchema): - - # current_app.logger.info(f"request data: {data}") user_data = self.user_repository.get_user_by_email(data.email) - # current_app.logger.info(f"user_data: {user_data}") - if user_data == None: + if user_data is None: return None - if user_data.password == data.password: - del user_data.password + if check_password_hash(user_data.password, data.password): + user_data.password = None return user_data return None diff --git a/app/services/user_service.py b/app/services/user_service.py index bc3f509..760f848 100644 --- a/app/services/user_service.py +++ b/app/services/user_service.py @@ -3,6 +3,7 @@ from repositories import UserRepository from schemas import RegisterSchema from mapper import UserMapper from exception import AlreadyExistException +from werkzeug.security import generate_password_hash class UserService: @@ -17,5 +18,8 @@ class UserService: if existData: raise AlreadyExistException(entity="Email") + encrypted_password = generate_password_hash(user_data.password) + user_data.password = encrypted_password + data = UserMapper.from_register(user_data) return self.user_repository.insert_user(data)