VORKOUT-19 #17

Merged
vlad.dev merged 3 commits from VORKOUT-19 into master 2025-08-22 10:54:57 +05:00
36 changed files with 169 additions and 406 deletions
Showing only changes of commit 7fd0a732b3 - Show all commits

View File

@@ -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":

View File

@@ -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

View File

@@ -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"],

View File

@@ -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"],

View File

@@ -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"],

View File

@@ -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",

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -1,5 +1,6 @@
from api.schemas.base import Base
# Таблица для получения информации из запроса

View File

@@ -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):

View File

@@ -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):

View File

@@ -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):

View File

@@ -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):

View File

@@ -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):

View File

@@ -1,5 +1,5 @@
from typing import Dict, Any
from datetime import datetime
from typing import Any, Dict
from api.schemas.base import Base

View File

@@ -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):

View File

@@ -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

View File

@@ -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):

View File

@@ -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)

View File

@@ -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