2323from api .utils .success_response import auth_response , success_response
2424from api .utils .send_mail import send_magic_link
2525from api .utils .settings import settings
26- from api .utils .session_helpers import get_session_schema_data
26+ from api .utils .session_helpers import create_session_for_user
2727from api .v1 .models import User
2828from api .v1 .schemas .user import Token , UserEmailSender
2929from api .v1 .schemas .user import (
3434 UserData2 ,
3535)
3636from api .v1 .schemas .token import TokenRequest
37- from api .v1 .schemas .session import SessionCreate
37+ # from api.v1.schemas.session import SessionCreate
3838from api .v1 .schemas .user import (MagicLinkRequest ,
3939 ChangePasswordSchema ,
4040 AuthMeResponse )
5353)
5454from api .v1 .services .totp import totp_service
5555from api .utils .settings import settings
56- from api .v1 .services .session import SessionService
56+ # from api.v1.services.session import SessionService
5757
5858auth = APIRouter (prefix = "/auth" , tags = ["Authentication" ])
5959
@@ -79,14 +79,9 @@ def register(
7979 # Create user account
8080 user = user_service .create (db = db , schema = user_schema )
8181
82-
8382 verification_token = user_service .create_verification_token (user .id )
8483 verification_link = f"{ base_url } /api/v1/auth/verify-email?token={ verification_token } "
8584
86- access_token = user_service .create_access_token (user_id = user .id )
87- refresh_token = user_service .create_refresh_token (user_id = user .id )
88- cta_link = "https://anchor-python.teams.hng.tech/about-us"
89-
9085 # create an organization for the user
9186 org = CreateUpdateOrganisation (
9287 name = f"{ user .email } 's Organisation" , email = user .email
@@ -98,15 +93,18 @@ def register(
9893 access_token = user_service .create_access_token (user_id = user .id )
9994 refresh_token = user_service .create_refresh_token (user_id = user .id )
10095 cta_link = f"{ settings .ANCHOR_PYTHON_BASE_URL } /about-us"
96+
97+ # create session for user
10198 expires = dt .datetime .now (dt .timezone .utc ) + (dt .timedelta (
10299 days = settings .JWT_REFRESH_EXPIRY ) - dt .timedelta (seconds = 1 )
103100 )
104- session_schema : SessionCreate = get_session_schema_data (
105- request ,
101+ background_tasks .add_task (
102+ create_session_for_user ,
103+ request = request ,
104+ user_id = user .id ,
106105 refresh_token = refresh_token ,
107- expires_at = expires )
108- session_service = SessionService (db )
109- session_service .create (db = db , schema = session_schema , user_id = user .id )
106+ expires_at = expires
107+ )
110108
111109 # Send email in the background
112110 background_tasks .add_task (
@@ -257,15 +255,18 @@ def login(request: Request, login_request: LoginRequest, background_tasks: Backg
257255 # Generate access and refresh tokens
258256 access_token = user_service .create_access_token (user_id = user .id )
259257 refresh_token = user_service .create_refresh_token (user_id = user .id )
258+
259+ # create session for user
260260 expires = dt .datetime .now (dt .timezone .utc ) + (dt .timedelta (
261261 days = settings .JWT_REFRESH_EXPIRY ) - dt .timedelta (seconds = 1 )
262262 )
263- session_schema : SessionCreate = get_session_schema_data (
264- request ,
263+ background_tasks .add_task (
264+ create_session_for_user ,
265+ request = request ,
266+ user_id = user .id ,
265267 refresh_token = refresh_token ,
266- expires_at = expires )
267- session_service = SessionService (db )
268- session_service .create (db = db , schema = session_schema , user_id = user .id )
268+ expires_at = expires
269+ )
269270
270271 # Background task for email notification
271272 logger .info (f"Queueing login notification for { user .email } in the background..." )
0 commit comments