30 lines
1009 B
Python
30 lines
1009 B
Python
from schemas import LoginSchema
|
|
from repositories import UserRepository
|
|
from models import ApiResponse
|
|
|
|
|
|
class AuthService:
|
|
def __init__(self, userRepository: UserRepository):
|
|
self.user_repository = userRepository
|
|
|
|
def login(self, data: LoginSchema):
|
|
try:
|
|
|
|
user_data = self.user_repository.get_user_by_email(data.email)
|
|
|
|
if user_data == None:
|
|
return ApiResponse(success=False, message="User not found", data=None)
|
|
|
|
if user_data["password"] == data.password:
|
|
del user_data["password"]
|
|
return ApiResponse(
|
|
success=True, message="Login success", data=user_data
|
|
)
|
|
|
|
return ApiResponse(success=False, message="Invalid password", data=None)
|
|
except Exception as e:
|
|
print(f"the issue is {e}")
|
|
return ApiResponse(
|
|
success=False, message="Internal server error", data=None
|
|
)
|