[feat] add fastapi adapter

This commit is contained in:
Azamat 2026-03-20 15:06:39 +03:00
parent 05543bbbbb
commit a930185754
12 changed files with 220 additions and 16 deletions

View file

@ -0,0 +1,19 @@
from typing import cast
from adapter.di.container import AppContainer
from fastapi import Depends, Request
from usecase.user import GetUser
APP_CONTAINER_STATE = 'container'
APP_CONFIG_STATE = 'config'
def get_container(request: Request) -> AppContainer:
container = getattr(request.app.state, APP_CONTAINER_STATE, None)
if container is None:
raise RuntimeError('container unavailable')
return cast(AppContainer, container)
def get_get_user(container: AppContainer = Depends(get_container)) -> GetUser:
return container.usecases.get_user