| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- import axios, { ResponseType } from 'axios'
- import { EXAM_MODULE } from './prefix'
- import {
- ExamSerializer,
- ReceivedData,
- Pageable,
- ID,
- ExamQuestionSerializer,
- LocalDateTime,
- ExamState,
- PageSerializer,
- ExamListSerializer
- } from '@/api/types'
- export const createExam = (exam: ExamSerializer) => {
- return axios.post<ReceivedData>(`${EXAM_MODULE}`, exam)
- }
- export const getAllExamList = (page: Pageable) => {
- return axios.get<ReceivedData<ExamListSerializer>>(
- `${EXAM_MODULE}/list?pageSize=${page.pageSize}&pageNum=${page.pageNum}`
- )
- }
- export const getExamById = (examId: ID) => {
- return axios.get<ReceivedData<ExamSerializer>>(`${EXAM_MODULE}/${examId}`)
- }
- export const extendExamTime = (examId: ID, endTime: LocalDateTime) => {
- return axios.put<ReceivedData>(
- `${EXAM_MODULE}/${examId}/time?endTime=${endTime}`
- )
- }
- export const getExamQuestions = (examId: ID) => {
- return axios.get<ReceivedData<ExamQuestionSerializer>>(
- `${EXAM_MODULE}/${examId}/question`
- )
- }
- export const joinExamByInviteCode = (inviteCode: string, examId: ID) => {
- return axios.put<ReceivedData>(
- `${EXAM_MODULE}/invite/code?inviteCode=${inviteCode}&examId=${examId}`
- )
- }
- export const setExamPaperFromSample = (examId: ID, sampleExamPaperId: ID) => {
- return axios.post<ReceivedData>(
- `${EXAM_MODULE}/question/sample/${examId}/?sampleExamPaperId=${sampleExamPaperId}`
- )
- }
- export const getExamsByStudentId = (page: Pageable, state: ExamState) => {
- return axios.get<ReceivedData<ExamListSerializer>>(
- `${EXAM_MODULE}/student/exams?pageSize=${page.pageSize}&pageNum=${page.pageNum}&state=${state}`
- )
- }
- export const getExamsByTeacherId = (page: Pageable, state: ExamState) => {
- return axios.get<ReceivedData<ExamListSerializer>>(
- `${EXAM_MODULE}/teacher/exams?pageSize=${page.pageSize}&pageNum=${page.pageNum}&state=${state}`
- )
- }
|