UNPKG

educa-sdk

Version:

A JavaScript SDK for interacting with the Educa backend API (Admin, Staff, and Student methods)

208 lines (194 loc) 5.64 kB
import request from '../api/request.js'; export const exam = (token) => ({ getExams: async ({ params = {}, onSuccess, onError } = {}) => { try { const data = await request({ url: '/v1/exams/exam_list/', params: params, token: token }); onSuccess?.(data); return data; } catch (err) { onError?.(err); throw err; } }, addExam: async ({ formData = {}, onSuccess, onError } = {}) => { try { const data = await request({ method: 'POST', url: '/v1/exams/add_exam/', data: formData, token: token }); onSuccess?.(data); return data; } catch (err) { onError?.(err); throw err; } }, updateExam: async ({ formData = {}, onSuccess, onError } = {}) => { try { const data = await request({ method: 'POST', url: '/v1/exams/update_exam/', data: formData, token: token }); onSuccess?.(data); return data; } catch (err) { onError?.(err); throw err; } }, updateExamStatus: async ({ formData = {}, onSuccess, onError } = {}) => { try { const data = await request({ method: 'POST', url: '/v1/exams/exam_status', data: formData, token: token }); onSuccess?.(data); return data; } catch (err) { onError?.(err); throw err; } }, deleteExam: async ({ formData = {}, onSuccess, onError } = {}) => { try { const data = await request({ method: 'POST', url: '/v1/exams/delete_exam/', data: formData, token: token }); onSuccess?.(data); return data; } catch (err) { onError?.(err); throw err; } }, getExamQuestions: async ({ params = {}, onSuccess, onError } = {}) => { try { const data = await request({ url: '/v1/exams/get_exam_questions/', params: params, token: token }); onSuccess?.(data); return data; } catch (err) { onError?.(err); throw err; } }, addExamQuestion: async ({ formData = {}, onSuccess, onError } = {}) => { try { const data = await request({ method: 'POST', url: '/v1/exams/add_exam_question/', data: formData, token: token }); onSuccess?.(data); return data; } catch (err) { onError?.(err); throw err; } }, updateExamQuestion: async ({ formData = {}, onSuccess, onError } = {}) => { try { const data = await request({ method: 'POST', url: '/v1/exams/update_exam_question/', data: formData, token: token }); onSuccess?.(data); return data; } catch (err) { onError?.(err); throw err; } }, updateExamEssay: async ({ formData = {}, onSuccess, onError } = {}) => { try { const data = await request({ method: 'POST', url: '/v1/exams/update_exam_essay/', data: formData, token: token }); onSuccess?.(data); return data; } catch (err) { onError?.(err); throw err; } }, deleteExamQuestion: async ({ formData = {}, onSuccess, onError } = {}) => { try { const data = await request({ method: 'POST', url: '/v1/exams/delete_exam_question/', data: formData, token: token }); onSuccess?.(data); return data; } catch (err) { onError?.(err); throw err; } }, downloadExamPDF: async ({ params = {}, onSuccess, onError } = {}) => { try { const data = await request({ url: '/v1/exams/download_exam_questions/', params: params, token: token }); onSuccess?.(data); return data; } catch (err) { onError?.(err); throw err; } }, getExamScores: async ({ params = {}, onSuccess, onError } = {}) => { try { const data = await request({ url: '/v1/exams/get_exam_scores/', params: params, token: token }); onSuccess?.(data); return data; } catch (err) { onError?.(err); throw err; } }, updateExamScores: async ({ formData = {}, onSuccess, onError } = {}) => { try { const data = await request({ method: 'POST', url: '/v1/exams/update_exam_scores/', data: formData, token: token }); onSuccess?.(data); return data; } catch (err) { onError?.(err); throw err; } }, })