fix: name,updated data, db data mapping

This commit is contained in:
TheNoxium
2025-07-29 22:57:31 +05:00
parent e0887c240f
commit b82960faf3
9 changed files with 77 additions and 135 deletions

View File

@@ -98,14 +98,13 @@ async def update_account(
if user_update.password is not None:
await update_password_key(connection, user.id, user_update.password)
update_values = update_user_data_changes(user_update, user)
if update_values is None:
updated_values = user_update.model_dump(by_alias=True, exclude_none=True)
if not updated_values:
return user
user_update_data = UserUpdate.model_validate({**user.model_dump(), **update_values})
await update_user_by_id(connection, update_values, user)
await update_user_by_id(connection, updated_values, user)
user = await get_user_by_id(connection, user_id)
@@ -126,12 +125,12 @@ async def delete_account(
user_update = UserUpdate(status=AccountStatus.DELETED.value)
update_values = update_user_data_changes(user_update, user)
updated_values = user_update.model_dump(by_alias=True, exclude_none=True)
if update_values is None:
if not updated_values:
return user
await update_user_by_id(connection, update_values, user)
await update_user_by_id(connection, updated_values, user)
user = await get_user_by_id(connection, user_id)

View File

@@ -87,14 +87,12 @@ async def update_keyring(
if keyring is None:
raise HTTPException(status_code=status.HTTP_404_NOT_FOUND, detail="keyring not found")
update_values = update_key_data_changes(keyring_update, keyring)
updated_values = keyring_update.model_dump(by_alias=True, exclude_none=True)
if update_values is None:
if not updated_values:
return keyring
keyring_update_data = AccountKeyring.model_validate({**keyring.model_dump(), **update_values})
await update_key_by_id(connection, update_values, keyring)
await update_key_by_id(connection, updated_values, keyring)
keyring = await get_key_by_id(connection, key_id)
@@ -116,12 +114,12 @@ async def delete_keyring(
keyring_update = AccountKeyringUpdate(status=KeyStatus.DELETED.value)
update_values = update_key_data_changes(keyring_update, keyring)
updated_values = keyring_update.model_dump(by_alias=True, exclude_none=True)
if update_values is None:
if not updated_values:
return keyring
await update_key_by_id(connection, update_values, keyring)
await update_key_by_id(connection, updated_values, keyring)
keyring = await get_key_by_id(connection, key_id)

View File

@@ -54,12 +54,12 @@ async def get_all_list_events(
authorize_user, page_flag = await db_user_role_validation_for_listevents_and_processschema(connection, current_user)
if page_flag:
list_eventspage = await get_listevents_page(connection, page, limit)
list_events_page = await get_listevents_page(connection, page, limit)
if list_eventspage is None:
if list_events_page is None:
raise HTTPException(status_code=status.HTTP_404_NOT_FOUND, detail="List events not found")
return list_eventspage
return list_events_page
else:
list_events_page = await get_listevents_page_by_creator_id(connection, authorize_user.id, page, limit)
@@ -126,14 +126,12 @@ async def update_list_events(
connection, current_user, listevents_validation.creator_id
)
update_values = update_listevents_data_changes(listevents_update, listevents_validation)
updated_values = listevents_update.model_dump(by_alias=True, exclude_none=True)
if update_values is None:
if not updated_values:
return listevents_validation
listevents_update_data = ListEvent.model_validate({**listevents_validation.model_dump(), **update_values})
await update_listevents_by_id(connection, update_values, listevents_validation)
await update_listevents_by_id(connection, updated_values, listevents_validation)
listevents = await get_listevents_by_id(connection, listevents_id)
@@ -157,12 +155,12 @@ async def delete_list_events(
listevents_update = ListEventUpdate(status=EventStatus.DELETED.value)
update_values = update_listevents_data_changes(listevents_update, listevents_validation)
updated_values = listevents_update.model_dump(by_alias=True, exclude_none=True)
if update_values is None:
if not updated_values:
return listevents_validation
await update_listevents_by_id(connection, update_values, listevents_validation)
await update_listevents_by_id(connection, updated_values, listevents_validation)
listevents = await get_listevents_by_id(connection, listevents_id)

View File

@@ -12,12 +12,12 @@ from api.db.connection.session import get_connection_dep
from api.db.logic.account import get_user_by_login
from api.db.logic.processschema import (
get_processschema_by_title,
create_processschema,
get_processschema_by_id,
update_processschema_by_id,
get_processschema_page_by_creator_id,
get_processschema_page
get_process_schema_by_title,
create_process_schema,
get_process_schema_by_id,
update_process_schema_by_id,
get_process_schema_page_by_creator_id,
get_process_schema_page
)
from api.schemas.process.process_schema import ProcessSchema
@@ -42,8 +42,6 @@ api_router = APIRouter(
tags=["process schema"],
)
@api_router.get("", dependencies=[Depends(bearer_schema)], response_model=AllProcessSchemaResponse)
async def get_all_process_schema(
page: int = 1,
@@ -54,14 +52,14 @@ async def get_all_process_schema(
authorize_user, page_flag = await db_user_role_validation_for_listevents_and_processschema(connection, current_user)
if page_flag:
process_schemapage = await get_processschema_page(connection, page, limit)
process_schema_page = await get_process_schema_page(connection, page, limit)
if process_schemapage is None:
if process_schema_page is None:
raise HTTPException(status_code=status.HTTP_404_NOT_FOUND, detail="Process schema not found")
return process_schemapage
return process_schema_page
else:
process_schema_page = await get_processschema_page_by_creator_id(connection, authorize_user.id, page, limit)
process_schema_page = await get_process_schema_page_by_creator_id(connection, authorize_user.id, page, limit)
if process_schema_page is None:
raise HTTPException(status_code=status.HTTP_404_NOT_FOUND, detail="Process schema not found")
@@ -75,7 +73,7 @@ async def get_process_schema(
connection: AsyncConnection = Depends(get_connection_dep),
current_user=Depends(get_current_user),
):
processschema_validation = await get_processschema_by_id(connection, processschema_id)
processschema_validation = await get_process_schema_by_id(connection, processschema_id)
if processschema_validation is None:
raise HTTPException(status_code=status.HTTP_404_NOT_FOUND, detail="Process schema not found")
@@ -90,17 +88,17 @@ async def get_process_schema(
return processschema_validation
@api_router.post("", dependencies=[Depends(bearer_schema)], response_model=ProcessSchema)
async def create_process_schema(
async def create_processschema(
processschema: ProcessSchemaUpdate,
connection: AsyncConnection = Depends(get_connection_dep),
current_user=Depends(get_current_user),
):
user_validation = await get_user_by_login(connection, current_user)
processschema_validation = await get_processschema_by_title(connection, processschema.title)
processschema_validation = await get_process_schema_by_title(connection, processschema.title)
if processschema_validation is None:
await create_processschema(connection, processschema, user_validation.id)
processschema_new = await get_processschema_by_title(connection, processschema.title)
await create_process_schema(connection, processschema, user_validation.id)
processschema_new = await get_process_schema_by_title(connection, processschema.title)
return processschema_new
else:
@@ -116,7 +114,7 @@ async def update_process_schema(
connection: AsyncConnection = Depends(get_connection_dep),
current_user=Depends(get_current_user),
):
processschema_validation = await get_processschema_by_id(connection, processschema_id)
processschema_validation = await get_process_schema_by_id(connection, processschema_id)
if processschema_validation is None:
raise HTTPException(status_code=status.HTTP_404_NOT_FOUND, detail="Process schema not found")
@@ -125,16 +123,14 @@ async def update_process_schema(
connection, current_user, processschema_validation.creator_id
)
update_values = update_processschema_data_changes(processschema_update, processschema_validation)
updated_values = processschema_update.model_dump(by_alias=True, exclude_none=True)
if update_values is None:
if not updated_values:
return processschema_validation
processschema_update_data = ProcessSchema.model_validate({**processschema_validation.model_dump(), **update_values})
await update_process_schema_by_id(connection, updated_values, processschema_validation)
await update_processschema_by_id(connection, update_values, processschema_validation)
processschema = await get_processschema_by_id(connection, processschema_id)
processschema = await get_process_schema_by_id(connection, processschema_id)
return processschema
@@ -144,7 +140,7 @@ async def delete_process_schema(
connection: AsyncConnection = Depends(get_connection_dep),
current_user=Depends(get_current_user),
):
processschema_validation = await get_processschema_by_id(connection, processschema_id)
processschema_validation = await get_process_schema_by_id(connection, processschema_id)
if processschema_validation is None:
raise HTTPException(status_code=status.HTTP_404_NOT_FOUND, detail="Process schema not found")
@@ -155,13 +151,13 @@ async def delete_process_schema(
processschema_update = ProcessSchemaUpdate(status=ProcessStatus.DELETED.value)
update_values = update_processschema_data_changes(processschema_update, processschema_validation)
updated_values = processschema_update.model_dump(by_alias=True, exclude_none=True)
if update_values is None:
if not updated_values:
return processschema_validation
await update_processschema_by_id(connection, update_values, processschema_validation)
await update_process_schema_by_id(connection, updated_values, processschema_validation)
processschema = await get_processschema_by_id(connection, processschema_id)
processschema = await get_process_schema_by_id(connection, processschema_id)
return processschema

View File

@@ -38,7 +38,7 @@ async def get_profile(
@api_router.put("", dependencies=[Depends(bearer_schema)], response_model=User)
async def update_profile(
user_updata: UserUpdate,
user_update: UserUpdate,
connection: AsyncConnection = Depends(get_connection_dep),
current_user=Depends(get_current_user),
):
@@ -46,15 +46,16 @@ async def update_profile(
if user is None:
raise HTTPException(status_code=status.HTTP_404_NOT_FOUND, detail="Account not found")
if user_updata.role == None and user_updata.login == None:
update_values = update_user_data_changes(user_updata, user)
if user_update.role is None and user_update.login is None:
if update_values is None:
updated_values = user_update.model_dump(by_alias=True, exclude_none=True)
if updated_values is None:
return user
await update_user_by_id(connection, update_values, user)
await update_user_by_id(connection, updated_values, user)
user = await get_user_by_id(connection, user.id)
user = await get_user_by_id(connection, user.id)
return user
else: