Files
encoach_backend/ielts_be/controllers/impl/exam/reading.py

29 lines
1.0 KiB
Python

import logging
from typing import Optional
from fastapi import UploadFile, Response
from ielts_be.controllers import IReadingController
from ielts_be.services import IReadingService
from ielts_be.dtos.reading import ReadingDTO
class ReadingController(IReadingController):
def __init__(self, reading_service: IReadingService):
self._service = reading_service
self._logger = logging.getLogger(__name__)
async def import_exam(self, exercises: UploadFile, solutions: UploadFile = None):
res = await self._service.import_exam(exercises, solutions)
if not res:
return Response(status_code=500)
else:
return res
async def generate_reading_passage(self, passage: int, topic: Optional[str], word_count: Optional[int]):
return await self._service.generate_reading_passage(passage, topic, word_count)
async def generate_reading_exercises(self, dto: ReadingDTO):
return await self._service.generate_reading_exercises(dto)