From cccb6ded1d66b256a5eebc79f407a62dd06807dd Mon Sep 17 00:00:00 2001 From: belviskhoremk Date: Wed, 20 May 2026 23:59:58 +0000 Subject: [PATCH] Fixed issues after first dev test --- app/services/auth_service.py | 27 ++++++++++++++++++--------- 1 file changed, 18 insertions(+), 9 deletions(-) diff --git a/app/services/auth_service.py b/app/services/auth_service.py index 719145f..851fa93 100644 --- a/app/services/auth_service.py +++ b/app/services/auth_service.py @@ -17,8 +17,14 @@ def _admin_client() -> Client: async def register(req: RegisterRequest, db: asyncpg.Connection) -> dict: + # Use admin API to create user with email_confirm=True so no confirmation + # email is sent and the client can log in immediately after registration. try: - result = _client().auth.sign_up({"email": req.email, "password": req.password}) + result = _admin_client().auth.admin.create_user({ + "email": req.email, + "password": req.password, + "email_confirm": True, + }) except Exception as e: raise AppError("REGISTRATION_FAILED", str(e), 400) @@ -35,15 +41,18 @@ async def register(req: RegisterRequest, db: asyncpg.Connection) -> dict: user_id, req.email, req.resolved_name(), req.phone, ) - if result.session: - return { - "access_token": result.session.access_token, - "refresh_token": result.session.refresh_token, - "token_type": "bearer", - "expires_in": result.session.expires_in, - } + # Sign in immediately to return tokens + try: + login_result = _client().auth.sign_in_with_password({"email": req.email, "password": req.password}) + except Exception as e: + raise AppError("REGISTRATION_FAILED", str(e), 400) - return {"message": "Account created successfully."} + return { + "access_token": login_result.session.access_token, + "refresh_token": login_result.session.refresh_token, + "token_type": "bearer", + "expires_in": login_result.session.expires_in, + } async def login(req: LoginRequest) -> dict: