diff --git a/app/users/router.py b/app/users/router.py index aa1c6d6..97cdeb9 100644 --- a/app/users/router.py +++ b/app/users/router.py @@ -132,7 +132,7 @@ async def resend_email_verification(user: SUser = Depends(get_current_user)): @router.get( - "/email_verification/{user_code}", + "/email_verification/link/{user_code}", status_code=status.HTTP_200_OK, response_model=SEmailVerification, ) @@ -149,6 +149,23 @@ async def email_verification(user_code: str, uow=Depends(UnitOfWork)): return {"email_verification": True} +@router.get( + "/email_verification/code/{user_code}", + status_code=status.HTTP_200_OK, + response_model=SEmailVerification, +) +async def email_verification(user_code: str, user: SUser = Depends(get_current_user), uow=Depends(UnitOfWork)): + redis_session = get_redis_session() + async with uow: + verification_code = await RedisService.get_verification_code(redis=redis_session, user_id=user.id) + if verification_code != user_code: + raise WrongCodeException + + await uow.user.change_data(user_id=user.id, role=settings.VERIFICATED_USER) + await uow.commit() + return {"email_verification": True} + + @router.post( "/login", status_code=status.HTTP_200_OK,