31 lines
687 B
Python
31 lines
687 B
Python
from abc import ABC, abstractmethod
|
|
from typing import Dict
|
|
from fastapi import BackgroundTasks
|
|
from fastapi.datastructures import FormData
|
|
|
|
|
|
class IGradeController(ABC):
|
|
|
|
@abstractmethod
|
|
async def grade_writing_task(
|
|
self,
|
|
task: int, dto: any,
|
|
background_tasks: BackgroundTasks
|
|
):
|
|
pass
|
|
|
|
@abstractmethod
|
|
async def grade_speaking_task(
|
|
self, task: int, form: FormData, background_tasks: BackgroundTasks
|
|
):
|
|
pass
|
|
|
|
@abstractmethod
|
|
async def grade_short_answers(self, data: Dict):
|
|
pass
|
|
|
|
@abstractmethod
|
|
async def grading_summary(self, data: Dict):
|
|
pass
|
|
|