UNPKG

educa-sdk

Version:

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

210 lines (194 loc) 5.65 kB
import request from '../api/request.js'; export const course = (token) => ({ getCourses: async ({ params = {}, onSuccess, onError } = {}) => { try { const data = await request({ url: '/v1/courses/course_list/', params: params, token: token }); onSuccess?.(data); return data; } catch (err) { onError?.(err); throw err; } }, addCourse: async ({ formData = {}, onSuccess, onError } = {}) => { try { const data = await request({ method: 'POST', url: '/v1/courses/add_course/', data: formData, token: token }); onSuccess?.(data); return data; } catch (err) { onError?.(err); throw err; } }, updateCourse: async ({ formData = {}, onSuccess, onError } = {}) => { try { const data = await request({ method: 'POST', url: '/v1/courses/update_course/', data: formData, token: token }); onSuccess?.(data); return data; } catch (err) { onError?.(err); throw err; } }, deleteCourse: async ({ formData = {}, onSuccess, onError } = {}) => { try { const data = await request({ method: 'POST', url: '/v1/courses/delete_course/', data: formData, token: token }); onSuccess?.(data); return data; } catch (err) { onError?.(err); throw err; } }, getCourseSyllabus: async ({ params = {}, onSuccess, onError } = {}) => { try { const data = await request({ url: '/v1/courses/get_course_syllabus/', params: params, token: token }); onSuccess?.(data); return data; } catch (err) { onError?.(err); throw err; } }, addSyllabus: async ({ formData = {}, onSuccess, onError } = {}) => { try { const data = await request({ method: 'POST', url: '/v1/courses/add_syllabus/', data: formData, token: token }); onSuccess?.(data); return data; } catch (err) { onError?.(err); throw err; } }, updateSyllabus: async ({ formData = {}, onSuccess, onError } = {}) => { try { const data = await request({ method: 'POST', url: '/v1/courses/update_syllabus/', data: formData, token: token }); onSuccess?.(data); return data; } catch (err) { onError?.(err); throw err; } }, downloadSyllabus: async ({ params = {}, onSuccess, onError } = {}) => { try { const data = await request({ url: '/v1/courses/download_syllabus/', params: params, token: token }); onSuccess?.(data); return data; } catch (err) { onError?.(err); throw err; } }, deleteSyllabus: async ({ formData = {}, onSuccess, onError } = {}) => { try { const data = await request({ method: 'POST', url: '/v1/courses/delete_syllabus/', data: formData, token: token }); onSuccess?.(data); return data; } catch (err) { onError?.(err); throw err; } }, getSyllabusTopics: async ({ params = {}, onSuccess, onError } = {}) => { try { const data = await request({ url: '/v1/courses/get_topics/', params: params, token: token }); onSuccess?.(data); return data; } catch (err) { onError?.(err); throw err; } }, addSyllabusTopic: async ({ formData = {}, onSuccess, onError } = {}) => { try { const data = await request({ method: 'POST', url: '/v1/courses/add_topic/', data: formData, token: token }); onSuccess?.(data); return data; } catch (err) { onError?.(err); throw err; } }, updateSyllabusTopic: async ({ formData = {}, onSuccess, onError } = {}) => { try { const data = await request({ method: 'POST', url: '/v1/courses/update_topic/', data: formData, token: token }); onSuccess?.(data); return data; } catch (err) { onError?.(err); throw err; } }, deleteSyllabusTopic: async ({ formData = {}, onSuccess, onError } = {}) => { try { const data = await request({ method: 'POST', url: '/v1/courses/delete_topic/', data: formData, token: token }); onSuccess?.(data); return data; } catch (err) { onError?.(err); throw err; } }, })