diff options
| author | l3wdfut4pwr <l3wdfut4pwr@gmail.com> | 2026-04-04 00:03:04 +0300 |
|---|---|---|
| committer | l3wdfut4pwr <l3wdfut4pwr@gmail.com> | 2026-04-04 00:03:04 +0300 |
| commit | 63e87a3ed84ee9e9e4a4ff329a40d2b7ce5e5d0d (patch) | |
| tree | c24731c200df3b5854a5abc14f7a5481a33d838a /app/routes/register.py | |
| parent | d835d79eb24c730ec8148415113e846a01cefd19 (diff) | |
add profile
Diffstat (limited to 'app/routes/register.py')
| -rw-r--r-- | app/routes/register.py | 28 |
1 files changed, 27 insertions, 1 deletions
diff --git a/app/routes/register.py b/app/routes/register.py index ffcd336..779cf73 100644 --- a/app/routes/register.py +++ b/app/routes/register.py @@ -4,8 +4,10 @@ from typing import Optional from fastapi import APIRouter, Depends, HTTPException, Response from sqlalchemy.ext.asyncio import AsyncSession from sqlalchemy.future import select +from sqlalchemy.orm import selectinload from app.auth.jwt import create_access_token, create_refresh_token +from app.models.profile import Profile from app.models.user import User from app.schemas.user import UserCreate, UserRead from app.utils.db import get_async_session @@ -69,8 +71,32 @@ async def register_user( new_user = User(username=user.username, email=email, password=hashed_password) session.add(new_user) + await session.flush() + + new_profile = Profile(user_id=new_user.id) + session.add(new_profile) + + from app.models.integrations import UserIntegration + + new_integrations = UserIntegration(user_id=new_user.id) + session.add(new_integrations) + await session.commit() - await session.refresh(new_user) + + result = await session.execute( + select(User) + .options( + selectinload(User.profile), + selectinload(User.integrations), + ) + .where(User.id == new_user.id) + ) + new_user = result.scalars().first() + + result = await session.execute( + select(User).options(selectinload(User.profile)).where(User.id == new_user.id) + ) + new_user = result.scalars().first() logger.success( "User successfully registered | id={} username={} email={}", |
