from database import get_db from services.jwtService import create_jwt_token from services.userServices import UserServices from utils.password_utils import verify_password from schemas.CreateSchemas import UserCreate from exceptions.unauthorized_exception import UnauthorizedException class AuthService: def __init__(self): self.user_service = UserServices() async def login(self, email, password) -> str: # get user user = await self.user_service.get_user_by_email(email) # verify password if not verify_password(password, user.password): raise UnauthorizedException("Invalid credentials") # remove password from user dict user_dict = user.__dict__.copy() user_dict.pop("password", None) # create token token = create_jwt_token(user_dict) return token async def register(self, user_data: UserCreate) -> None: await self.user_service.create_user(user_data) return