From 7fd0a732b34474fc8c4ab7795837704aad981dea Mon Sep 17 00:00:00 2001 From: Vladislav Syrochkin Date: Thu, 21 Aug 2025 22:46:27 +0500 Subject: [PATCH] refactor(api): refactor imports --- api/api/__main__.py | 7 ++--- api/api/endpoints/account.py | 8 +++--- api/api/endpoints/keyring.py | 17 ++--------- api/api/endpoints/list_events.py | 28 ++++++------------- api/api/endpoints/process_schema.py | 25 ++++++----------- api/api/endpoints/profile.py | 12 +++----- api/api/schemas/account/account.py | 4 +-- api/api/schemas/account/account_keyring.py | 8 +++--- api/api/schemas/endpoints/account.py | 6 ++-- api/api/schemas/endpoints/account_keyring.py | 4 ++- api/api/schemas/endpoints/auth.py | 1 + api/api/schemas/endpoints/list_events.py | 6 ++-- api/api/schemas/endpoints/process_schema.py | 6 ++-- api/api/schemas/events/list_events.py | 7 +++-- api/api/schemas/process/node_link.py | 7 +++-- api/api/schemas/process/process_schema.py | 7 +++-- .../process/process_version_archive.py | 2 +- api/api/schemas/process/ps_node.py | 5 ++-- api/api/services/auth.py | 2 +- api/api/services/middleware.py | 12 ++++---- api/api/services/user_role_validation.py | 3 +- api/api/utils/init.py | 3 +- 22 files changed, 77 insertions(+), 103 deletions(-) diff --git a/api/api/__main__.py b/api/api/__main__.py index f00b342..739821d 100644 --- a/api/api/__main__.py +++ b/api/api/__main__.py @@ -1,15 +1,15 @@ -import sys import logging +import sys import loguru from fastapi import FastAPI from fastapi.middleware.cors import CORSMiddleware from uvicorn import run -from api.config import get_settings, DefaultSettings +from api.config import DefaultSettings, get_settings from api.endpoints import list_of_routes -from api.utils.common import get_hostname from api.services.middleware import MiddlewareAccessTokenValidadtion +from api.utils.common import get_hostname logger = logging.getLogger() logger.setLevel(logging.DEBUG) @@ -52,7 +52,6 @@ prod_origins = [""] origins = dev_origins if get_settings().ENV == "local" else prod_origins - if __name__ == "__main__": settings_for_application = get_settings() if settings_for_application.ENV == "prod": diff --git a/api/api/endpoints/account.py b/api/api/endpoints/account.py index 87ec25c..8952cd9 100644 --- a/api/api/endpoints/account.py +++ b/api/api/endpoints/account.py @@ -1,6 +1,7 @@ -from fastapi import APIRouter, Depends, HTTPException, status, Query +from typing import List, Optional -from typing import Optional, List +from fastapi import APIRouter, Depends, HTTPException, Query, status +from orm.tables.account import AccountStatus from sqlalchemy.ext.asyncio import AsyncConnection from api.db.connection.session import get_connection_dep @@ -12,10 +13,9 @@ from api.db.logic.account import ( update_user_by_id, ) from api.db.logic.keyring import create_password_key, update_password_key -from orm.tables.account import AccountStatus from api.schemas.account.account import User from api.schemas.base import bearer_schema -from api.schemas.endpoints.account import AllUserResponse, UserCreate, UserUpdate, UserFilterDTO +from api.schemas.endpoints.account import AllUserResponse, UserCreate, UserFilterDTO, UserUpdate from api.services.auth import get_current_user from api.services.user_role_validation import db_user_role_validation diff --git a/api/api/endpoints/keyring.py b/api/api/endpoints/keyring.py index f564e81..644bc4e 100644 --- a/api/api/endpoints/keyring.py +++ b/api/api/endpoints/keyring.py @@ -1,31 +1,20 @@ from fastapi import ( APIRouter, - Body, Depends, - Form, HTTPException, - Response, status, ) - - +from orm.tables.account import KeyStatus from sqlalchemy.ext.asyncio import AsyncConnection from api.db.connection.session import get_connection_dep - -from api.db.logic.keyring import get_key_by_id, create_key, update_key_by_id - - -from orm.tables.account import KeyStatus +from api.db.logic.keyring import create_key, get_key_by_id, update_key_by_id +from api.schemas.account.account_keyring import AccountKeyring from api.schemas.base import bearer_schema from api.schemas.endpoints.account_keyring import AccountKeyringUpdate - -from api.schemas.account.account_keyring import AccountKeyring from api.services.auth import get_current_user - from api.services.user_role_validation import db_user_role_validation - api_router = APIRouter( prefix="/keyring", tags=["User KeyringModel"], diff --git a/api/api/endpoints/list_events.py b/api/api/endpoints/list_events.py index 684fad3..dbd37ce 100644 --- a/api/api/endpoints/list_events.py +++ b/api/api/endpoints/list_events.py @@ -1,37 +1,27 @@ -from fastapi import APIRouter, Depends, HTTPException, status, Query - -from typing import Optional, List +from typing import List, Optional +from fastapi import APIRouter, Depends, HTTPException, Query, status +from orm.tables.events import EventStatus 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.list_events import ( - get_list_events_by_name, - get_list_events_by_id, create_list_events, - update_list_events_by_id, + get_list_events_by_id, + get_list_events_by_name, get_list_events_page_DTO, + update_list_events_by_id, ) - - -from api.schemas.events.list_events import ListEvent -from orm.tables.events import EventStatus - from api.schemas.base import bearer_schema - -from api.schemas.endpoints.list_events import ListEventUpdate, AllListEventResponse, ListEventFilterDTO - +from api.schemas.endpoints.list_events import AllListEventResponse, ListEventFilterDTO, ListEventUpdate +from api.schemas.events.list_events import ListEvent from api.services.auth import get_current_user - from api.services.user_role_validation import ( - db_user_role_validation_for_list_events_and_process_schema_by_list_event_id, db_user_role_validation_for_list_events_and_process_schema, + db_user_role_validation_for_list_events_and_process_schema_by_list_event_id, ) - api_router = APIRouter( prefix="/list_events", tags=["list events"], diff --git a/api/api/endpoints/process_schema.py b/api/api/endpoints/process_schema.py index 083f30d..44a864a 100644 --- a/api/api/endpoints/process_schema.py +++ b/api/api/endpoints/process_schema.py @@ -1,36 +1,27 @@ -from fastapi import APIRouter, Depends, HTTPException, status, Query +from typing import List, Optional -from typing import Optional, List +from fastapi import APIRouter, Depends, HTTPException, Query, status +from orm.tables.process import ProcessStatus 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.process_schema import ( - get_process_schema_by_title, create_process_schema, get_process_schema_by_id, - update_process_schema_by_id, + get_process_schema_by_title, get_process_schema_page_DTO, + update_process_schema_by_id, ) - -from api.schemas.process.process_schema import ProcessSchema - -from orm.tables.process import ProcessStatus - from api.schemas.base import bearer_schema - -from api.schemas.endpoints.process_schema import ProcessSchemaUpdate, AllProcessSchemaResponse, ProcessSchemaFilterDTO - +from api.schemas.endpoints.process_schema import AllProcessSchemaResponse, ProcessSchemaFilterDTO, ProcessSchemaUpdate +from api.schemas.process.process_schema import ProcessSchema from api.services.auth import get_current_user - from api.services.user_role_validation import ( - db_user_role_validation_for_list_events_and_process_schema_by_list_event_id, db_user_role_validation_for_list_events_and_process_schema, + db_user_role_validation_for_list_events_and_process_schema_by_list_event_id, ) - api_router = APIRouter( prefix="/process_schema", tags=["process schema"], diff --git a/api/api/endpoints/profile.py b/api/api/endpoints/profile.py index 2565936..24a74e7 100644 --- a/api/api/endpoints/profile.py +++ b/api/api/endpoints/profile.py @@ -4,18 +4,14 @@ from fastapi import ( HTTPException, status, ) - - from sqlalchemy.ext.asyncio import AsyncConnection from api.db.connection.session import get_connection_dep -from api.db.logic.account import get_user_by_id, update_user_by_id, get_user_by_login -from api.schemas.base import bearer_schema -from api.services.auth import get_current_user - -from api.schemas.endpoints.account import UserUpdate +from api.db.logic.account import get_user_by_id, get_user_by_login, update_user_by_id from api.schemas.account.account import User - +from api.schemas.base import bearer_schema +from api.schemas.endpoints.account import UserUpdate +from api.services.auth import get_current_user api_router = APIRouter( prefix="/profile", diff --git a/api/api/schemas/account/account.py b/api/api/schemas/account/account.py index cc763eb..f105c8d 100644 --- a/api/api/schemas/account/account.py +++ b/api/api/schemas/account/account.py @@ -1,8 +1,8 @@ -import datetime from datetime import datetime from typing import Optional -from pydantic import EmailStr, Field + from orm.tables.account import AccountRole, AccountStatus +from pydantic import EmailStr, Field from api.schemas.base import Base diff --git a/api/api/schemas/account/account_keyring.py b/api/api/schemas/account/account_keyring.py index ca16de7..9c2ca27 100644 --- a/api/api/schemas/account/account_keyring.py +++ b/api/api/schemas/account/account_keyring.py @@ -1,8 +1,8 @@ -import datetime -from typing import Optional -from pydantic import Field from datetime import datetime -from orm.tables.account import KeyType, KeyStatus +from typing import Optional + +from orm.tables.account import KeyStatus, KeyType +from pydantic import Field from api.schemas.base import Base diff --git a/api/api/schemas/endpoints/account.py b/api/api/schemas/endpoints/account.py index aea961a..8965f1e 100644 --- a/api/api/schemas/endpoints/account.py +++ b/api/api/schemas/endpoints/account.py @@ -1,9 +1,9 @@ from datetime import datetime -from typing import List, Optional, Dict - -from pydantic import EmailStr, Field, TypeAdapter +from typing import Dict, List, Optional from orm.tables.account import AccountRole, AccountStatus +from pydantic import EmailStr, Field, TypeAdapter + from api.schemas.base import Base diff --git a/api/api/schemas/endpoints/account_keyring.py b/api/api/schemas/endpoints/account_keyring.py index 2d02d2d..78728fc 100644 --- a/api/api/schemas/endpoints/account_keyring.py +++ b/api/api/schemas/endpoints/account_keyring.py @@ -1,6 +1,8 @@ from typing import Optional + +from orm.tables.account import KeyStatus, KeyType from pydantic import Field -from orm.tables.account import KeyType, KeyStatus + from api.schemas.base import Base diff --git a/api/api/schemas/endpoints/auth.py b/api/api/schemas/endpoints/auth.py index c9ccd53..0916169 100644 --- a/api/api/schemas/endpoints/auth.py +++ b/api/api/schemas/endpoints/auth.py @@ -1,5 +1,6 @@ from api.schemas.base import Base + # Таблица для получения информации из запроса diff --git a/api/api/schemas/endpoints/list_events.py b/api/api/schemas/endpoints/list_events.py index f84798e..4943f11 100644 --- a/api/api/schemas/endpoints/list_events.py +++ b/api/api/schemas/endpoints/list_events.py @@ -1,10 +1,10 @@ -from pydantic import Field, TypeAdapter -from typing import Optional, Dict, Any, List from datetime import datetime +from typing import Any, Dict, List, Optional +from orm.tables.events import EventState, EventStatus +from pydantic import Field, TypeAdapter from api.schemas.base import Base -from orm.tables.events import EventState, EventStatus class ListEventUpdate(Base): diff --git a/api/api/schemas/endpoints/process_schema.py b/api/api/schemas/endpoints/process_schema.py index b14589e..9716165 100644 --- a/api/api/schemas/endpoints/process_schema.py +++ b/api/api/schemas/endpoints/process_schema.py @@ -1,10 +1,10 @@ -from pydantic import Field, TypeAdapter -from typing import Optional, Dict, Any, List from datetime import datetime +from typing import Any, Dict, List, Optional +from orm.tables.process import ProcessStatus +from pydantic import Field, TypeAdapter from api.schemas.base import Base -from orm.tables.process import ProcessStatus class ProcessSchemaUpdate(Base): diff --git a/api/api/schemas/events/list_events.py b/api/api/schemas/events/list_events.py index 4a3ae6b..7c0245d 100644 --- a/api/api/schemas/events/list_events.py +++ b/api/api/schemas/events/list_events.py @@ -1,9 +1,10 @@ -from pydantic import Field -from typing import Dict, Any from datetime import datetime +from typing import Any, Dict + +from orm.tables.events import EventState, EventStatus +from pydantic import Field from api.schemas.base import Base -from orm.tables.events import EventState, EventStatus class ListEvent(Base): diff --git a/api/api/schemas/process/node_link.py b/api/api/schemas/process/node_link.py index e5e9005..b0f3c62 100644 --- a/api/api/schemas/process/node_link.py +++ b/api/api/schemas/process/node_link.py @@ -1,9 +1,10 @@ -from pydantic import Field -from typing import Dict, Any from datetime import datetime +from typing import Any, Dict + +from orm.tables.process import NodeStatus +from pydantic import Field from api.schemas.base import Base -from orm.tables.process import NodeStatus class MyModel(Base): diff --git a/api/api/schemas/process/process_schema.py b/api/api/schemas/process/process_schema.py index 89feddf..7395566 100644 --- a/api/api/schemas/process/process_schema.py +++ b/api/api/schemas/process/process_schema.py @@ -1,9 +1,10 @@ -from pydantic import Field -from typing import Dict, Any from datetime import datetime +from typing import Any, Dict + +from orm.tables.process import ProcessStatus +from pydantic import Field from api.schemas.base import Base -from orm.tables.process import ProcessStatus class ProcessSchema(Base): diff --git a/api/api/schemas/process/process_version_archive.py b/api/api/schemas/process/process_version_archive.py index 83afe3b..38d369e 100644 --- a/api/api/schemas/process/process_version_archive.py +++ b/api/api/schemas/process/process_version_archive.py @@ -1,5 +1,5 @@ -from typing import Dict, Any from datetime import datetime +from typing import Any, Dict from api.schemas.base import Base diff --git a/api/api/schemas/process/ps_node.py b/api/api/schemas/process/ps_node.py index 28ae0dc..d84ef29 100644 --- a/api/api/schemas/process/ps_node.py +++ b/api/api/schemas/process/ps_node.py @@ -1,8 +1,9 @@ from datetime import datetime -from typing import Dict, Any +from typing import Any, Dict + +from orm.tables.process import NodeStatus, NodeType from api.schemas.base import Base -from orm.tables.process import NodeType, NodeStatus class Ps_Node(Base): diff --git a/api/api/services/auth.py b/api/api/services/auth.py index 981026f..d462602 100644 --- a/api/api/services/auth.py +++ b/api/api/services/auth.py @@ -1,10 +1,10 @@ from typing import Optional from fastapi import HTTPException, Request +from orm.tables.account import AccountStatus from sqlalchemy.ext.asyncio import AsyncConnection from api.db.logic.auth import get_user -from orm.tables.account import AccountStatus from api.schemas.endpoints.account import AllUser from api.utils.hasher import hasher diff --git a/api/api/services/middleware.py b/api/api/services/middleware.py index 68e511c..ac3ce4e 100644 --- a/api/api/services/middleware.py +++ b/api/api/services/middleware.py @@ -1,15 +1,15 @@ -from fastapi_jwt_auth import AuthJWT -from starlette.middleware.base import BaseHTTPMiddleware +import re +from re import escape + from fastapi import ( Request, status, ) - from fastapi.responses import JSONResponse -from api.config import get_settings +from fastapi_jwt_auth import AuthJWT +from starlette.middleware.base import BaseHTTPMiddleware -import re -from re import escape +from api.config import get_settings class MiddlewareAccessTokenValidadtion(BaseHTTPMiddleware): diff --git a/api/api/services/user_role_validation.py b/api/api/services/user_role_validation.py index 8a5df48..bb1f86a 100644 --- a/api/api/services/user_role_validation.py +++ b/api/api/services/user_role_validation.py @@ -2,9 +2,10 @@ from fastapi import ( HTTPException, status, ) -from api.db.logic.account import get_user_by_login from orm.tables.account import AccountRole +from api.db.logic.account import get_user_by_login + async def db_user_role_validation(connection, current_user): authorize_user = await get_user_by_login(connection, current_user) diff --git a/api/api/utils/init.py b/api/api/utils/init.py index b35ec44..b3755d5 100644 --- a/api/api/utils/init.py +++ b/api/api/utils/init.py @@ -1,8 +1,9 @@ import asyncio import os -from api.db.connection.session import get_connection from orm.tables.account import account_keyring_table, account_table, AccountRole, KeyStatus, KeyType + +from api.db.connection.session import get_connection from api.utils.hasher import hasher from api.utils.key_id_gen import KeyIdGenerator