educa-sdk
Version:
A JavaScript SDK for interacting with the Educa backend API (Admin, Staff, and Student methods)
146 lines (134 loc) • 3.95 kB
JavaScript
import request from '../api/request.js';
export const course = (site_id) => ({
list: async ({ params = {}, onSuccess, onError } = {}) => {
try {
const data = await request({
url: '/v2/courses/subject_list/',
params: params,
site_id: site_id
});
onSuccess?.(data);
return data;
} catch (err) {
onError?.(err);
throw err;
}
},
classSubjects: async ({ params = {}, onSuccess, onError } = {}) => {
try {
const data = await request({
url: '/v2/courses/class_subject_list/',
params: params,
site_id: site_id
});
onSuccess?.(data);
return data;
} catch (err) {
onError?.(err);
throw err;
}
},
getAssignedSyllabus: async ({ params = {}, onSuccess, onError } = {}) => {
try {
const data = await request({
url: '/v2/courses/get_assigned_syllabus/',
params: params,
site_id: site_id
});
onSuccess?.(data);
return data;
} catch (err) {
onError?.(err);
throw err;
}
},
getTopics: async ({ params = {}, onSuccess, onError } = {}) => {
try {
const data = await request({
url: '/v2/courses/get_topics/',
params: params,
site_id: site_id
});
onSuccess?.(data);
return data;
} catch (err) {
onError?.(err);
throw err;
}
},
updateTopic: async ({ formData = {}, onSuccess, onError } = {}) => {
try {
const data = await request({
method: 'POST',
url: '/v2/courses/update_topic/',
data: formData,
site_id: site_id
});
onSuccess?.(data);
return data;
} catch (err) {
onError?.(err);
throw err;
}
},
generateTopics: async ({ formData = {}, onSuccess, onError } = {}) => {
try {
const data = await request({
method: 'POST',
url: '/v2/courses/generate_topics/',
data: formData,
site_id: site_id
});
onSuccess?.(data);
return data;
} catch (err) {
onError?.(err);
throw err;
}
},
downloadSyllabus: async ({ formData = {}, onSuccess, onError } = {}) => {
try {
const data = await request({
method: 'POST',
url: '/v2/courses/download_syllabus/',
data: formData,
site_id: site_id
});
onSuccess?.(data);
return data;
} catch (err) {
onError?.(err);
throw err;
}
},
generateAiNote: async ({ formData = {}, onSuccess, onError } = {}) => {
try {
const data = await request({
method: 'POST',
url: '/v2/courses/generate_content/',
data: formData,
site_id: site_id
});
onSuccess?.(data);
return data;
} catch (err) {
onError?.(err);
throw err;
}
},
generateNotePDF: async ({ formData = {}, onSuccess, onError } = {}) => {
try {
const data = await request({
method: 'POST',
url: '/v2/courses/generate_note_pdf/',
data: formData,
site_id: site_id
});
onSuccess?.(data);
return data;
} catch (err) {
onError?.(err);
throw err;
}
},
})