From 3c300f7c7aeb33e555afb8fde0de5b99b7cdf686 Mon Sep 17 00:00:00 2001 From: TheNoxium Date: Sat, 2 Aug 2025 22:05:29 +0500 Subject: [PATCH] fix: rename process schema --- .../{processschema.py => process_schema.py} | 36 ++++----- api/api/endpoints/__init__.py | 2 +- .../{processschema.py => process_schema.py} | 76 +++++++++---------- api/api/schemas/endpoints/list_events.py | 13 +--- 4 files changed, 61 insertions(+), 66 deletions(-) rename api/api/db/logic/{processschema.py => process_schema.py} (84%) rename api/api/endpoints/{processschema.py => process_schema.py} (67%) diff --git a/api/api/db/logic/processschema.py b/api/api/db/logic/process_schema.py similarity index 84% rename from api/api/db/logic/processschema.py rename to api/api/db/logic/process_schema.py index f737432..907be98 100644 --- a/api/api/db/logic/processschema.py +++ b/api/api/db/logic/process_schema.py @@ -117,59 +117,59 @@ async def get_process_schema_by_title(connection: AsyncConnection, title: str) - """ query = select(process_schema_table).where(process_schema_table.c.title == title) - processschema_db_cursor = await connection.execute(query) + process_schema_db_cursor = await connection.execute(query) - processschema_data = processschema_db_cursor.mappings().one_or_none() - if not processschema_data: + process_schema_data = process_schema_db_cursor.mappings().one_or_none() + if not process_schema_data: return None - return ProcessSchema.model_validate(processschema_data) + return ProcessSchema.model_validate(process_schema_data) async def get_process_schema_by_id(connection: AsyncConnection, id: int) -> Optional[ProcessSchema]: """ - Получает processschema по id. + Получает process_schema по id. """ query = select(process_schema_table).where(process_schema_table.c.id == id) - processschema_db_cursor = await connection.execute(query) + process_schema_db_cursor = await connection.execute(query) - processschema_data = processschema_db_cursor.mappings().one_or_none() - if not processschema_data: + process_schema_data = process_schema_db_cursor.mappings().one_or_none() + if not process_schema_data: return None - return ProcessSchema.model_validate(processschema_data) + return ProcessSchema.model_validate(process_schema_data) -async def update_process_schema_by_id(connection: AsyncConnection, update_values, processschema): +async def update_process_schema_by_id(connection: AsyncConnection, update_values, process_schema): """ Вносит изменеия в нужное поле таблицы process_schema_table. """ await connection.execute( - process_schema_table.update().where(process_schema_table.c.id == processschema.id).values(**update_values) + process_schema_table.update().where(process_schema_table.c.id == process_schema.id).values(**update_values) ) await connection.commit() async def create_process_schema( - connection: AsyncConnection, processschema: ProcessSchema, creator_id: int + connection: AsyncConnection, process_schema: ProcessSchema, creator_id: int ) -> Optional[ProcessSchema]: """ Создает нове поле в таблице process_schema_table. """ query = insert(process_schema_table).values( - title=processschema.title, - description=processschema.description, - owner_id=processschema.owner_id, + title=process_schema.title, + description=process_schema.description, + owner_id=process_schema.owner_id, creator_id=creator_id, created_at=datetime.now(timezone.utc), - settings=processschema.settings, - status=processschema.status.value, + settings=process_schema.settings, + status=process_schema.status.value, ) await connection.execute(query) await connection.commit() - return processschema + return process_schema diff --git a/api/api/endpoints/__init__.py b/api/api/endpoints/__init__.py index be25e82..f131470 100644 --- a/api/api/endpoints/__init__.py +++ b/api/api/endpoints/__init__.py @@ -3,7 +3,7 @@ from api.endpoints.profile import api_router as profile_router from api.endpoints.account import api_router as account_router from api.endpoints.keyring import api_router as keyring_router from api.endpoints.listevents import api_router as listevents_router -from api.endpoints.processschema import api_router as processschema_router +from api.endpoints.process_schema import api_router as processschema_router list_of_routes = [auth_router, profile_router, account_router, keyring_router, listevents_router, processschema_router] diff --git a/api/api/endpoints/processschema.py b/api/api/endpoints/process_schema.py similarity index 67% rename from api/api/endpoints/processschema.py rename to api/api/endpoints/process_schema.py index b7e5522..b5e1f81 100644 --- a/api/api/endpoints/processschema.py +++ b/api/api/endpoints/process_schema.py @@ -1,13 +1,13 @@ from fastapi import APIRouter, Depends, HTTPException, status, Query -from typing import Optional, Dict, Any, List +from typing import Optional, List from sqlalchemy.ext.asyncio import AsyncConnection 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 ( +from api.db.logic.process_schema import ( get_process_schema_by_title, create_process_schema, get_process_schema_by_id, @@ -32,7 +32,7 @@ from api.services.user_role_validation import ( api_router = APIRouter( - prefix="/process-schema", + prefix="/process_schema", tags=["process schema"], ) @@ -78,40 +78,40 @@ async def get_all_process_schema( return process_schema_page -@api_router.get("/{processschema_id}", dependencies=[Depends(bearer_schema)], response_model=ProcessSchema) +@api_router.get("/{process_schema_id}", dependencies=[Depends(bearer_schema)], response_model=ProcessSchema) async def get_process_schema( - processschema_id: int, + process_schema_id: int, connection: AsyncConnection = Depends(get_connection_dep), current_user=Depends(get_current_user), ): - processschema_validation = await get_process_schema_by_id(connection, processschema_id) + process_schema_validation = await get_process_schema_by_id(connection, process_schema_id) - if processschema_validation is None: + if process_schema_validation is None: raise HTTPException(status_code=status.HTTP_404_NOT_FOUND, detail="Process schema not found") authorize_user = await db_user_role_validation_for_listevents_and_processschema_by_listevent_id( - connection, current_user, processschema_validation.creator_id + connection, current_user, process_schema_validation.creator_id ) - if processschema_id is None: + if process_schema_id is None: raise HTTPException(status_code=status.HTTP_404_NOT_FOUND, detail="Process schema not found") - return processschema_validation + return process_schema_validation @api_router.post("", dependencies=[Depends(bearer_schema)], response_model=ProcessSchema) async def create_processschema( - processschema: ProcessSchemaUpdate, + process_schema: 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_process_schema_by_title(connection, processschema.title) + process_schema_validation = await get_process_schema_by_title(connection, process_schema.title) - if processschema_validation is None: - await create_process_schema(connection, processschema, user_validation.id) - processschema_new = await get_process_schema_by_title(connection, processschema.title) - return processschema_new + if process_schema_validation is None: + await create_process_schema(connection, process_schema, user_validation.id) + process_schema_new = await get_process_schema_by_title(connection, process_schema.title) + return process_schema_new else: raise HTTPException( @@ -119,58 +119,58 @@ async def create_processschema( ) -@api_router.put("/{processschema_id}", dependencies=[Depends(bearer_schema)], response_model=ProcessSchema) +@api_router.put("/{process_schema_id}", dependencies=[Depends(bearer_schema)], response_model=ProcessSchema) async def update_process_schema( - processschema_id: int, - processschema_update: ProcessSchemaUpdate, + process_schema_id: int, + process_schema_update: ProcessSchemaUpdate, connection: AsyncConnection = Depends(get_connection_dep), current_user=Depends(get_current_user), ): - processschema_validation = await get_process_schema_by_id(connection, processschema_id) + process_schema_validation = await get_process_schema_by_id(connection, process_schema_id) - if processschema_validation is None: + if process_schema_validation is None: raise HTTPException(status_code=status.HTTP_404_NOT_FOUND, detail="Process schema not found") authorize_user = await db_user_role_validation_for_listevents_and_processschema_by_listevent_id( - connection, current_user, processschema_validation.creator_id + connection, current_user, process_schema_validation.creator_id ) - updated_values = processschema_update.model_dump(by_alias=True, exclude_none=True) + updated_values = process_schema_update.model_dump(by_alias=True, exclude_none=True) if not updated_values: - return processschema_validation + return process_schema_validation - await update_process_schema_by_id(connection, updated_values, processschema_validation) + await update_process_schema_by_id(connection, updated_values, process_schema_validation) - processschema = await get_process_schema_by_id(connection, processschema_id) + process_schema = await get_process_schema_by_id(connection, process_schema_id) - return processschema + return process_schema -@api_router.delete("/{processschema_id}", dependencies=[Depends(bearer_schema)], response_model=ProcessSchema) +@api_router.delete("/{process_schema_id}", dependencies=[Depends(bearer_schema)], response_model=ProcessSchema) async def delete_process_schema( - processschema_id: int, + process_schema_id: int, connection: AsyncConnection = Depends(get_connection_dep), current_user=Depends(get_current_user), ): - processschema_validation = await get_process_schema_by_id(connection, processschema_id) + process_schema_validation = await get_process_schema_by_id(connection, process_schema_id) - if processschema_validation is None: + if process_schema_validation is None: raise HTTPException(status_code=status.HTTP_404_NOT_FOUND, detail="Process schema not found") authorize_user = await db_user_role_validation_for_listevents_and_processschema_by_listevent_id( - connection, current_user, processschema_validation.creator_id + connection, current_user, process_schema_validation.creator_id ) - processschema_update = ProcessSchemaUpdate(status=ProcessStatus.DELETED.value) + process_schema_update = ProcessSchemaUpdate(status=ProcessStatus.DELETED.value) - updated_values = processschema_update.model_dump(by_alias=True, exclude_none=True) + updated_values = process_schema_update.model_dump(by_alias=True, exclude_none=True) if not updated_values: - return processschema_validation + return process_schema_validation - await update_process_schema_by_id(connection, updated_values, processschema_validation) + await update_process_schema_by_id(connection, updated_values, process_schema_validation) - processschema = await get_process_schema_by_id(connection, processschema_id) + process_schema = await get_process_schema_by_id(connection, process_schema_id) - return processschema + return process_schema diff --git a/api/api/schemas/endpoints/list_events.py b/api/api/schemas/endpoints/list_events.py index 75a9e79..6f41a3e 100644 --- a/api/api/schemas/endpoints/list_events.py +++ b/api/api/schemas/endpoints/list_events.py @@ -38,12 +38,7 @@ all_list_event_adapter = TypeAdapter(List[AllListEvent]) class ListEventFilterDTO(Base): - pagination: Dict[str, int] = Field( - default={"page": 1, "limit": 10}, - description="Пагинация (номер страницы и количество элементов)", - ) - search: Optional[str] = Field(default=None, description="Поиск по текстовым полям (name, title)") - order: Optional[Dict[str, str]] = Field( - default={"field": "id", "direction": "asc"}, description="Сортировка (поле и направление)" - ) - filters: Optional[Dict[str, List[str]]] = Field(default=None, description="Фильтрация по точным значениям") + pagination: Dict[str, int] + search: Optional[str] = None + order: Optional[Dict[str, str]] = None + filters: Optional[Dict[str, List[str]]] = None