VORKOUT-19 #17
@@ -1,15 +1,15 @@
|
|||||||
import sys
|
|
||||||
import logging
|
import logging
|
||||||
|
import sys
|
||||||
|
|
||||||
import loguru
|
import loguru
|
||||||
from fastapi import FastAPI
|
from fastapi import FastAPI
|
||||||
from fastapi.middleware.cors import CORSMiddleware
|
from fastapi.middleware.cors import CORSMiddleware
|
||||||
from uvicorn import run
|
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.endpoints import list_of_routes
|
||||||
from api.utils.common import get_hostname
|
|
||||||
from api.services.middleware import MiddlewareAccessTokenValidadtion
|
from api.services.middleware import MiddlewareAccessTokenValidadtion
|
||||||
|
from api.utils.common import get_hostname
|
||||||
|
|
||||||
logger = logging.getLogger()
|
logger = logging.getLogger()
|
||||||
logger.setLevel(logging.DEBUG)
|
logger.setLevel(logging.DEBUG)
|
||||||
@@ -52,7 +52,6 @@ prod_origins = [""]
|
|||||||
|
|
||||||
origins = dev_origins if get_settings().ENV == "local" else prod_origins
|
origins = dev_origins if get_settings().ENV == "local" else prod_origins
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
settings_for_application = get_settings()
|
settings_for_application = get_settings()
|
||||||
if settings_for_application.ENV == "prod":
|
if settings_for_application.ENV == "prod":
|
||||||
|
@@ -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 sqlalchemy.ext.asyncio import AsyncConnection
|
||||||
|
|
||||||
from api.db.connection.session import get_connection_dep
|
from api.db.connection.session import get_connection_dep
|
||||||
@@ -12,10 +13,9 @@ from api.db.logic.account import (
|
|||||||
update_user_by_id,
|
update_user_by_id,
|
||||||
)
|
)
|
||||||
from api.db.logic.keyring import create_password_key, update_password_key
|
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.account.account import User
|
||||||
from api.schemas.base import bearer_schema
|
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.auth import get_current_user
|
||||||
from api.services.user_role_validation import db_user_role_validation
|
from api.services.user_role_validation import db_user_role_validation
|
||||||
|
|
||||||
|
@@ -1,31 +1,20 @@
|
|||||||
from fastapi import (
|
from fastapi import (
|
||||||
APIRouter,
|
APIRouter,
|
||||||
Body,
|
|
||||||
Depends,
|
Depends,
|
||||||
Form,
|
|
||||||
HTTPException,
|
HTTPException,
|
||||||
Response,
|
|
||||||
status,
|
status,
|
||||||
)
|
)
|
||||||
|
from orm.tables.account import KeyStatus
|
||||||
|
|
||||||
from sqlalchemy.ext.asyncio import AsyncConnection
|
from sqlalchemy.ext.asyncio import AsyncConnection
|
||||||
|
|
||||||
from api.db.connection.session import get_connection_dep
|
from api.db.connection.session import get_connection_dep
|
||||||
|
from api.db.logic.keyring import create_key, get_key_by_id, update_key_by_id
|
||||||
from api.db.logic.keyring import get_key_by_id, create_key, update_key_by_id
|
from api.schemas.account.account_keyring import AccountKeyring
|
||||||
|
|
||||||
|
|
||||||
from orm.tables.account import KeyStatus
|
|
||||||
from api.schemas.base import bearer_schema
|
from api.schemas.base import bearer_schema
|
||||||
from api.schemas.endpoints.account_keyring import AccountKeyringUpdate
|
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.auth import get_current_user
|
||||||
|
|
||||||
from api.services.user_role_validation import db_user_role_validation
|
from api.services.user_role_validation import db_user_role_validation
|
||||||
|
|
||||||
|
|
||||||
api_router = APIRouter(
|
api_router = APIRouter(
|
||||||
prefix="/keyring",
|
prefix="/keyring",
|
||||||
tags=["User KeyringModel"],
|
tags=["User KeyringModel"],
|
||||||
|
@@ -1,37 +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.events import EventStatus
|
||||||
from sqlalchemy.ext.asyncio import AsyncConnection
|
from sqlalchemy.ext.asyncio import AsyncConnection
|
||||||
|
|
||||||
from api.db.connection.session import get_connection_dep
|
from api.db.connection.session import get_connection_dep
|
||||||
|
|
||||||
from api.db.logic.account import get_user_by_login
|
from api.db.logic.account import get_user_by_login
|
||||||
|
|
||||||
from api.db.logic.list_events import (
|
from api.db.logic.list_events import (
|
||||||
get_list_events_by_name,
|
|
||||||
get_list_events_by_id,
|
|
||||||
create_list_events,
|
create_list_events,
|
||||||
update_list_events_by_id,
|
get_list_events_by_id,
|
||||||
|
get_list_events_by_name,
|
||||||
get_list_events_page_DTO,
|
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.base import bearer_schema
|
||||||
|
from api.schemas.endpoints.list_events import AllListEventResponse, ListEventFilterDTO, ListEventUpdate
|
||||||
from api.schemas.endpoints.list_events import ListEventUpdate, AllListEventResponse, ListEventFilterDTO
|
from api.schemas.events.list_events import ListEvent
|
||||||
|
|
||||||
from api.services.auth import get_current_user
|
from api.services.auth import get_current_user
|
||||||
|
|
||||||
from api.services.user_role_validation import (
|
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,
|
||||||
|
db_user_role_validation_for_list_events_and_process_schema_by_list_event_id,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
api_router = APIRouter(
|
api_router = APIRouter(
|
||||||
prefix="/list_events",
|
prefix="/list_events",
|
||||||
tags=["list events"],
|
tags=["list events"],
|
||||||
|
@@ -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 sqlalchemy.ext.asyncio import AsyncConnection
|
||||||
|
|
||||||
from api.db.connection.session import get_connection_dep
|
from api.db.connection.session import get_connection_dep
|
||||||
|
|
||||||
from api.db.logic.account import get_user_by_login
|
from api.db.logic.account import get_user_by_login
|
||||||
|
|
||||||
from api.db.logic.process_schema import (
|
from api.db.logic.process_schema import (
|
||||||
get_process_schema_by_title,
|
|
||||||
create_process_schema,
|
create_process_schema,
|
||||||
get_process_schema_by_id,
|
get_process_schema_by_id,
|
||||||
update_process_schema_by_id,
|
get_process_schema_by_title,
|
||||||
get_process_schema_page_DTO,
|
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.base import bearer_schema
|
||||||
|
from api.schemas.endpoints.process_schema import AllProcessSchemaResponse, ProcessSchemaFilterDTO, ProcessSchemaUpdate
|
||||||
from api.schemas.endpoints.process_schema import ProcessSchemaUpdate, AllProcessSchemaResponse, ProcessSchemaFilterDTO
|
from api.schemas.process.process_schema import ProcessSchema
|
||||||
|
|
||||||
from api.services.auth import get_current_user
|
from api.services.auth import get_current_user
|
||||||
|
|
||||||
from api.services.user_role_validation import (
|
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,
|
||||||
|
db_user_role_validation_for_list_events_and_process_schema_by_list_event_id,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
api_router = APIRouter(
|
api_router = APIRouter(
|
||||||
prefix="/process_schema",
|
prefix="/process_schema",
|
||||||
tags=["process schema"],
|
tags=["process schema"],
|
||||||
|
@@ -4,18 +4,14 @@ from fastapi import (
|
|||||||
HTTPException,
|
HTTPException,
|
||||||
status,
|
status,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
from sqlalchemy.ext.asyncio import AsyncConnection
|
from sqlalchemy.ext.asyncio import AsyncConnection
|
||||||
|
|
||||||
from api.db.connection.session import get_connection_dep
|
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.db.logic.account import get_user_by_id, get_user_by_login, update_user_by_id
|
||||||
from api.schemas.base import bearer_schema
|
|
||||||
from api.services.auth import get_current_user
|
|
||||||
|
|
||||||
from api.schemas.endpoints.account import UserUpdate
|
|
||||||
from api.schemas.account.account import User
|
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(
|
api_router = APIRouter(
|
||||||
prefix="/profile",
|
prefix="/profile",
|
||||||
|
@@ -1,8 +1,8 @@
|
|||||||
import datetime
|
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
from typing import Optional
|
from typing import Optional
|
||||||
from pydantic import EmailStr, Field
|
|
||||||
from orm.tables.account import AccountRole, AccountStatus
|
from orm.tables.account import AccountRole, AccountStatus
|
||||||
|
from pydantic import EmailStr, Field
|
||||||
|
|
||||||
from api.schemas.base import Base
|
from api.schemas.base import Base
|
||||||
|
|
||||||
|
@@ -1,8 +1,8 @@
|
|||||||
import datetime
|
|
||||||
from typing import Optional
|
|
||||||
from pydantic import Field
|
|
||||||
from datetime import datetime
|
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
|
from api.schemas.base import Base
|
||||||
|
|
||||||
|
@@ -1,9 +1,9 @@
|
|||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
from typing import List, Optional, Dict
|
from typing import Dict, List, Optional
|
||||||
|
|
||||||
from pydantic import EmailStr, Field, TypeAdapter
|
|
||||||
|
|
||||||
from orm.tables.account import AccountRole, AccountStatus
|
from orm.tables.account import AccountRole, AccountStatus
|
||||||
|
from pydantic import EmailStr, Field, TypeAdapter
|
||||||
|
|
||||||
from api.schemas.base import Base
|
from api.schemas.base import Base
|
||||||
|
|
||||||
|
|
||||||
|
@@ -1,6 +1,8 @@
|
|||||||
from typing import Optional
|
from typing import Optional
|
||||||
|
|
||||||
|
from orm.tables.account import KeyStatus, KeyType
|
||||||
from pydantic import Field
|
from pydantic import Field
|
||||||
from orm.tables.account import KeyType, KeyStatus
|
|
||||||
from api.schemas.base import Base
|
from api.schemas.base import Base
|
||||||
|
|
||||||
|
|
||||||
|
@@ -1,5 +1,6 @@
|
|||||||
from api.schemas.base import Base
|
from api.schemas.base import Base
|
||||||
|
|
||||||
|
|
||||||
# Таблица для получения информации из запроса
|
# Таблица для получения информации из запроса
|
||||||
|
|
||||||
|
|
||||||
|
@@ -1,10 +1,10 @@
|
|||||||
from pydantic import Field, TypeAdapter
|
|
||||||
from typing import Optional, Dict, Any, List
|
|
||||||
from datetime import datetime
|
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 api.schemas.base import Base
|
||||||
from orm.tables.events import EventState, EventStatus
|
|
||||||
|
|
||||||
|
|
||||||
class ListEventUpdate(Base):
|
class ListEventUpdate(Base):
|
||||||
|
@@ -1,10 +1,10 @@
|
|||||||
from pydantic import Field, TypeAdapter
|
|
||||||
from typing import Optional, Dict, Any, List
|
|
||||||
from datetime import datetime
|
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 api.schemas.base import Base
|
||||||
from orm.tables.process import ProcessStatus
|
|
||||||
|
|
||||||
|
|
||||||
class ProcessSchemaUpdate(Base):
|
class ProcessSchemaUpdate(Base):
|
||||||
|
@@ -1,9 +1,10 @@
|
|||||||
from pydantic import Field
|
|
||||||
from typing import Dict, Any
|
|
||||||
from datetime import datetime
|
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 api.schemas.base import Base
|
||||||
from orm.tables.events import EventState, EventStatus
|
|
||||||
|
|
||||||
|
|
||||||
class ListEvent(Base):
|
class ListEvent(Base):
|
||||||
|
@@ -1,9 +1,10 @@
|
|||||||
from pydantic import Field
|
|
||||||
from typing import Dict, Any
|
|
||||||
from datetime import datetime
|
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 api.schemas.base import Base
|
||||||
from orm.tables.process import NodeStatus
|
|
||||||
|
|
||||||
|
|
||||||
class MyModel(Base):
|
class MyModel(Base):
|
||||||
|
@@ -1,9 +1,10 @@
|
|||||||
from pydantic import Field
|
|
||||||
from typing import Dict, Any
|
|
||||||
from datetime import datetime
|
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 api.schemas.base import Base
|
||||||
from orm.tables.process import ProcessStatus
|
|
||||||
|
|
||||||
|
|
||||||
class ProcessSchema(Base):
|
class ProcessSchema(Base):
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
from typing import Dict, Any
|
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
|
from typing import Any, Dict
|
||||||
|
|
||||||
from api.schemas.base import Base
|
from api.schemas.base import Base
|
||||||
|
|
||||||
|
@@ -1,8 +1,9 @@
|
|||||||
from datetime import datetime
|
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 api.schemas.base import Base
|
||||||
from orm.tables.process import NodeType, NodeStatus
|
|
||||||
|
|
||||||
|
|
||||||
class Ps_Node(Base):
|
class Ps_Node(Base):
|
||||||
|
@@ -1,10 +1,10 @@
|
|||||||
from typing import Optional
|
from typing import Optional
|
||||||
|
|
||||||
from fastapi import HTTPException, Request
|
from fastapi import HTTPException, Request
|
||||||
|
from orm.tables.account import AccountStatus
|
||||||
from sqlalchemy.ext.asyncio import AsyncConnection
|
from sqlalchemy.ext.asyncio import AsyncConnection
|
||||||
|
|
||||||
from api.db.logic.auth import get_user
|
from api.db.logic.auth import get_user
|
||||||
from orm.tables.account import AccountStatus
|
|
||||||
from api.schemas.endpoints.account import AllUser
|
from api.schemas.endpoints.account import AllUser
|
||||||
from api.utils.hasher import hasher
|
from api.utils.hasher import hasher
|
||||||
|
|
||||||
|
@@ -1,15 +1,15 @@
|
|||||||
from fastapi_jwt_auth import AuthJWT
|
import re
|
||||||
from starlette.middleware.base import BaseHTTPMiddleware
|
from re import escape
|
||||||
|
|
||||||
from fastapi import (
|
from fastapi import (
|
||||||
Request,
|
Request,
|
||||||
status,
|
status,
|
||||||
)
|
)
|
||||||
|
|
||||||
from fastapi.responses import JSONResponse
|
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 api.config import get_settings
|
||||||
from re import escape
|
|
||||||
|
|
||||||
|
|
||||||
class MiddlewareAccessTokenValidadtion(BaseHTTPMiddleware):
|
class MiddlewareAccessTokenValidadtion(BaseHTTPMiddleware):
|
||||||
|
@@ -2,9 +2,10 @@ from fastapi import (
|
|||||||
HTTPException,
|
HTTPException,
|
||||||
status,
|
status,
|
||||||
)
|
)
|
||||||
from api.db.logic.account import get_user_by_login
|
|
||||||
from orm.tables.account import AccountRole
|
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):
|
async def db_user_role_validation(connection, current_user):
|
||||||
authorize_user = await get_user_by_login(connection, current_user)
|
authorize_user = await get_user_by_login(connection, current_user)
|
||||||
|
@@ -1,8 +1,9 @@
|
|||||||
import asyncio
|
import asyncio
|
||||||
import os
|
import os
|
||||||
|
|
||||||
from api.db.connection.session import get_connection
|
|
||||||
from orm.tables.account import account_keyring_table, account_table, AccountRole, KeyStatus, KeyType
|
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.hasher import hasher
|
||||||
from api.utils.key_id_gen import KeyIdGenerator
|
from api.utils.key_id_gen import KeyIdGenerator
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user