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)