feat: warehouse places accounting
This commit is contained in:
@@ -4,13 +4,20 @@ from dotenv import load_dotenv
|
||||
|
||||
load_dotenv()
|
||||
|
||||
# Database
|
||||
# FF database
|
||||
PG_LOGIN = os.environ.get('PG_LOGIN')
|
||||
PG_PASSWORD = os.environ.get('PG_PASSWORD')
|
||||
PG_PORT = os.environ.get('PG_PORT')
|
||||
PG_DATABASE = os.environ.get('PG_DATABASE')
|
||||
PG_HOST = os.environ.get('PG_HOST')
|
||||
|
||||
# WMS database
|
||||
WMS_PG_LOGIN = os.environ.get('WMS_PG_LOGIN')
|
||||
WMS_PG_PASSWORD = os.environ.get('WMS_PG_PASSWORD')
|
||||
WMS_PG_PORT = os.environ.get('WMS_PG_PORT')
|
||||
WMS_PG_DATABASE = os.environ.get('WMS_PG_DATABASE')
|
||||
WMS_PG_HOST = os.environ.get('WMS_PG_HOST')
|
||||
|
||||
# Telegram
|
||||
TELEGRAM_BOT_TOKEN = os.environ.get('TELEGRAM_BOT_TOKEN')
|
||||
|
||||
|
||||
@@ -4,12 +4,14 @@ from fastapi import Depends
|
||||
from sqlalchemy.ext.asyncio import AsyncSession
|
||||
|
||||
from backend.session import get_session
|
||||
from backend.wms_session import get_wms_session
|
||||
from models import User
|
||||
from schemas.base import PaginationSchema
|
||||
from services.auth import get_current_user, authorized_user, guest_user
|
||||
from utils.dependecies import pagination_parameters
|
||||
|
||||
SessionDependency = Annotated[AsyncSession, Depends(get_session)]
|
||||
WmsSessionDependency = Annotated[AsyncSession, Depends(get_wms_session)]
|
||||
PaginationDependency = Annotated[PaginationSchema, Depends(pagination_parameters)]
|
||||
CurrentUserDependency = Annotated[User, Depends(get_current_user)]
|
||||
AuthorizedUserDependency = Annotated[User, Depends(authorized_user)]
|
||||
|
||||
21
backend/wms_session.py
Normal file
21
backend/wms_session.py
Normal file
@@ -0,0 +1,21 @@
|
||||
from typing import AsyncGenerator
|
||||
|
||||
from sqlalchemy.ext.asyncio import create_async_engine, AsyncSession
|
||||
from sqlalchemy.orm import sessionmaker
|
||||
|
||||
from .config import WMS_PG_DATABASE, WMS_PG_HOST, WMS_PG_PASSWORD, WMS_PG_LOGIN
|
||||
|
||||
DATABASE_URL = f'postgresql+asyncpg://{WMS_PG_LOGIN}:{WMS_PG_PASSWORD}@{WMS_PG_HOST}/{WMS_PG_DATABASE}'
|
||||
engine = create_async_engine(DATABASE_URL)
|
||||
wms_session_maker = sessionmaker(
|
||||
engine,
|
||||
class_=AsyncSession,
|
||||
expire_on_commit=False,
|
||||
autocommit=False,
|
||||
autoflush=False,
|
||||
)
|
||||
|
||||
|
||||
async def get_wms_session() -> AsyncGenerator[AsyncSession, None]:
|
||||
async with wms_session_maker() as session:
|
||||
yield session
|
||||
Reference in New Issue
Block a user