28 lines
589 B
Python
28 lines
589 B
Python
from abc import ABC, abstractmethod
|
|
|
|
from fastapi import UploadFile
|
|
from typing import Dict, Optional
|
|
|
|
|
|
class ILevelController(ABC):
|
|
|
|
@abstractmethod
|
|
async def generate_exercises(self, dto):
|
|
pass
|
|
|
|
@abstractmethod
|
|
async def get_level_exam(self):
|
|
pass
|
|
|
|
@abstractmethod
|
|
async def get_level_utas(self):
|
|
pass
|
|
|
|
@abstractmethod
|
|
async def upload_level(self, file: UploadFile, solutions: Optional[UploadFile] = None):
|
|
pass
|
|
|
|
@abstractmethod
|
|
async def get_custom_level(self, data: Dict):
|
|
pass
|