fix: account post route

This commit is contained in:
TheNoxium 2025-04-23 16:06:33 +03:00
parent 8271737ce2
commit f67ef7f96f
2 changed files with 10 additions and 10 deletions

View File

@ -73,12 +73,11 @@ async def put_user_id(connection: AsyncConnection, update_values, user) -> Optio
await connection.commit() await connection.commit()
async def post_add_user(connection: AsyncConnection, user: User, user_id: int, creator_id: int) -> Optional[User]: async def post_add_user(connection: AsyncConnection, user: User, creator_id: int) -> Optional[User]:
""" """
Создает нове поле в таблице account_table. Создает нове поле в таблице account_table.
""" """
query = insert(account_table).values( query = insert(account_table).values(
id=user_id,
name=user.name, name=user.name,
login=user.login, login=user.login,
email=user.email, email=user.email,
@ -90,9 +89,7 @@ async def post_add_user(connection: AsyncConnection, user: User, user_id: int, c
status=user.status.value status=user.status.value
) )
user.id = user_id
user.creator_id = creator_id
user.created_at = datetime.now(timezone.utc),
await connection.execute(query) await connection.execute(query)

View File

@ -19,7 +19,7 @@ from api.db.connection.session import get_connection_dep
from api.db.logic.account import get_user_id, put_user_id, post_add_user,get_user_login from api.db.logic.account import get_user_id, put_user_id, post_add_user,get_user_login
from api.schemas.account.account import Role,Status from api.schemas.account.account import User,Role,Status
from api.schemas.endpoints.account import UserUpdate from api.schemas.endpoints.account import UserUpdate
from api.services.access_token_validadtion import AccessTokenValidadtion from api.services.access_token_validadtion import AccessTokenValidadtion
@ -53,9 +53,8 @@ async def get_account(user_id: int,
return user return user
@api_router.post("/{user_id}") @api_router.post("")
async def post_account( async def post_account(
user_id: int,
user: UserUpdate, user: UserUpdate,
connection: AsyncConnection = Depends(get_connection_dep), connection: AsyncConnection = Depends(get_connection_dep),
Authorize: AuthJWT = Depends() Authorize: AuthJWT = Depends()
@ -64,11 +63,13 @@ async def post_account(
authorize_user = await db_user_role_validation(connection, current_user) authorize_user = await db_user_role_validation(connection, current_user)
user_validation = await get_user_id(connection, user_id) user_validation = await get_user_login(connection, user.login)
if user_validation is None: if user_validation is None:
user_new = await post_add_user(connection,user,user_id,authorize_user.id)
await post_add_user(connection,user,authorize_user.id)
user_new = await get_user_login(connection, user.login)
return user_new return user_new
else: else:
@ -103,6 +104,8 @@ async def put_account(
if update_values is None: if update_values is None:
return user return user
user_update_data = User.model_validate(update_values)
await put_user_id(connection, update_values, user) await put_user_id(connection, update_values, user)