UNPKG

educa-sdk

Version:

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

188 lines (175 loc) 5.1 kB
import request from '../api/request.js'; export const exam = (site_id) => ({ getAssignedExams: async ({ params = {}, onSuccess, onError } = {}) => { try { const data = await request({ url: '/v2/exams/get_assigned_exams/', params, site_id }); onSuccess?.(data); return data; } catch (err) { onError?.(err); throw err; } }, getExamQuestions: async ({ params = {}, onSuccess, onError } = {}) => { try { const data = await request({ url: '/v2/exams/get_exam_questions/', params, site_id }); onSuccess?.(data); return data; } catch (err) { onError?.(err); throw err; } }, addExamQuestion: async ({ formData = {}, onSuccess, onError } = {}) => { try { const data = await request({ method: 'POST', url: '/v2/exams/add_exam_question/', data: formData, site_id }); onSuccess?.(data); return data; } catch (err) { onError?.(err); throw err; } }, generateExamQuestion: async ({ formData = {}, onSuccess, onError } = {}) => { try { const data = await request({ method: 'POST', url: '/v2/exams/generate_exam_question/', data: formData, site_id }); onSuccess?.(data); return data; } catch (err) { onError?.(err); throw err; } }, generateExamEssay: async ({ formData = {}, onSuccess, onError } = {}) => { try { const data = await request({ method: 'POST', url: '/v2/exams/generate_exam_essay/', data: formData, site_id }); onSuccess?.(data); return data; } catch (err) { onError?.(err); throw err; } }, updateExamQuestion: async ({ formData = {}, onSuccess, onError } = {}) => { try { const data = await request({ method: 'POST', url: '/v2/exams/update_exam_question/', data: formData, site_id }); onSuccess?.(data); return data; } catch (err) { onError?.(err); throw err; } }, updateExamEssay: async ({ formData = {}, onSuccess, onError } = {}) => { try { const data = await request({ method: 'POST', url: '/v2/exams/update_exam_essay/', data: formData, site_id }); onSuccess?.(data); return data; } catch (err) { onError?.(err); throw err; } }, deleteExamQuestion: async ({ formData = {}, onSuccess, onError } = {}) => { try { const data = await request({ method: 'POST', url: '/v2/exams/delete_exam_question/', data: formData, site_id }); onSuccess?.(data); return data; } catch (err) { onError?.(err); throw err; } }, examPDF: async ({ params = {}, onSuccess, onError } = {}) => { try { const data = await request({ url: '/v2/exams/download_exam_questions/', params, site_id }); onSuccess?.(data); return data; } catch (err) { onError?.(err); throw err; } }, scoreSheet: async ({ params = {}, onSuccess, onError } = {}) => { try { const data = await request({ url: '/v2/exams/score_sheet/', params: params, site_id }); onSuccess?.(data); return data; } catch (err) { onError?.(err); throw err; } }, getExamScores: async ({ params = {}, onSuccess, onError } = {}) => { try { const data = await request({ url: '/v2/exams/get_exam_scores/', params: params, site_id }); onSuccess?.(data); return data; } catch (err) { onError?.(err); throw err; } }, updateExamScores: async ({ formData = {}, onSuccess, onError } = {}) => { try { const data = await request({ method: 'POST', url: '/v2/exams/update_exam_scores/', data: formData, site_id }); onSuccess?.(data); return data; } catch (err) { onError?.(err); throw err; } }, })