from dependency_injector.wiring import Provide, inject from fastapi import APIRouter, Depends from app.dtos import TipsDTO from app.middlewares import Authorized, IsAuthenticatedViaBearerToken from app.controllers.abc import ITrainingController controller = "training_controller" training_router = APIRouter() @training_router.post( '/tips', dependencies=[Depends(Authorized([IsAuthenticatedViaBearerToken]))] ) @inject async def get_reading_passage( data: TipsDTO, training_controller: ITrainingController = Depends(Provide[controller]) ): return await training_controller.fetch_tips(data)