35 lines
1018 B
Python
35 lines
1018 B
Python
from dependency_injector.wiring import Provide, inject
|
|
from fastapi import APIRouter, Depends, Request
|
|
|
|
from app.dtos.training import FetchTipsDTO
|
|
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: FetchTipsDTO,
|
|
training_controller: ITrainingController = Depends(Provide[controller])
|
|
):
|
|
return await training_controller.fetch_tips(data)
|
|
|
|
|
|
@training_router.post(
|
|
'/',
|
|
dependencies=[Depends(Authorized([IsAuthenticatedViaBearerToken]))]
|
|
)
|
|
@inject
|
|
async def training_content(
|
|
request: Request,
|
|
training_controller: ITrainingController = Depends(Provide[controller])
|
|
):
|
|
data = await request.json()
|
|
return await training_controller.get_training_content(data)
|