educa-sdk
Version:
A JavaScript SDK for interacting with the Educa backend API (Admin, Staff, and Student methods)
129 lines (120 loc) • 3.52 kB
JavaScript
import request from '../api/request.js';
export const exam = (token) => ({
getAssignedExams: async ({ params = {}, onSuccess, onError } = {}) => {
try {
const data = await request({
url: '/v2/exams/get_assigned_exams/',
params: params,
token: token
});
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: 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: '/v2/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: '/v2/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: '/v2/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: '/v2/exams/delete_exam_question/',
data: formData,
token: token
});
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,
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: '/v2/exams/update_exam_scores/',
data: formData,
token: token
});
onSuccess?.(data);
return data;
} catch (err) {
onError?.(err);
throw err;
}
},
})