20 lines
886 B
Python
20 lines
886 B
Python
from fastapi import UploadFile, HTTPException
|
|
|
|
from ielts_be.controllers import IWritingController
|
|
from ielts_be.services import IWritingService
|
|
|
|
|
|
class WritingController(IWritingController):
|
|
|
|
def __init__(self, writing_service: IWritingService):
|
|
self._service = writing_service
|
|
|
|
async def get_writing_task_general_question(self, task: int, topic: str, difficulty: str):
|
|
return await self._service.get_writing_task_general_question(task, topic, difficulty)
|
|
|
|
async def get_writing_task_academic_question(self, task: int, attachment: UploadFile, difficulty: str):
|
|
if attachment.content_type not in ['image/jpeg', 'image/png']:
|
|
raise HTTPException(status_code=400, detail="Invalid file type. Only JPEG and PNG allowed.")
|
|
|
|
return await self._service.get_writing_task_academic_question(task, attachment, difficulty)
|