user repo/usecases/session/di
This commit is contained in:
23
api/app_builder/dependencies.py
Normal file
23
api/app_builder/dependencies.py
Normal file
@@ -0,0 +1,23 @@
|
||||
from fastapi import FastAPI
|
||||
from sqlalchemy.ext.asyncio import AsyncEngine, AsyncSession, async_sessionmaker
|
||||
|
||||
from api.application.abstractions.uow import UnitOfWork
|
||||
from api.application.usecase.create_user import CreateUser
|
||||
from api.domain.user.repository import UserRepository
|
||||
from api.infrastructure.dependencies.adapters import (
|
||||
create_engine,
|
||||
create_session_maker,
|
||||
new_session,
|
||||
new_unit_of_work,
|
||||
)
|
||||
from api.infrastructure.dependencies.repositories import get_user_repository
|
||||
from api.infrastructure.dependencies.usecases import provide_create_user
|
||||
|
||||
|
||||
def init_dependencies(app: FastAPI) -> None:
|
||||
app.dependency_overrides[AsyncEngine] = create_engine
|
||||
app.dependency_overrides[async_sessionmaker[AsyncSession]] = create_session_maker
|
||||
app.dependency_overrides[AsyncSession] = new_session
|
||||
app.dependency_overrides[UserRepository] = get_user_repository
|
||||
app.dependency_overrides[UnitOfWork] = new_unit_of_work
|
||||
app.dependency_overrides[CreateUser] = provide_create_user
|
@@ -1,9 +1,13 @@
|
||||
from fastapi import FastAPI
|
||||
|
||||
from api.app_builder.dependencies import init_dependencies
|
||||
|
||||
from .routers import init_routers
|
||||
|
||||
|
||||
def app_factory() -> FastAPI:
|
||||
app = FastAPI()
|
||||
init_dependencies(app)
|
||||
init_routers(app)
|
||||
|
||||
return app
|
||||
|
Reference in New Issue
Block a user