from rest_framework.exceptions import NotFound from university.api.base import Endpoint from university.models import OnlineExam, UserOnlineExam class AdminOnlineExamEndpoint(Endpoint): def convert_args(self, request, exam_id, *args, **kwargs): try: online_exam = OnlineExam.objects.get(id=exam_id) except Exception: raise NotFound kwargs['online_exam'] = online_exam return (args, kwargs) class AdminOnlineExamExamineeEndpoint(Endpoint): def convert_args(self, request, exam_id, user_id, *args, **kwargs): try: user_online_exam = UserOnlineExam.objects.get( user_id=user_id, online_exam_id=exam_id ) except Exception: raise NotFound kwargs['exam_user'] = user_online_exam.user kwargs['online_exam'] = user_online_exam.online_exam kwargs['user_online_exam'] = user_online_exam return (args, kwargs)