educa-sdk
Version:
A JavaScript SDK for interacting with the Educa backend API (Admin, Staff, and Student methods)
130 lines (119 loc) • 3.52 kB
JavaScript
import request from '../api/request.js';
export const classroom = (token) => ({
getClassrooms: async ({ params = {}, onSuccess, onError } = {}) => {
try {
const data = await request({
url: '/v1/classrooms/classroom_list/',
params: params,
token: token
});
onSuccess?.(data);
return data;
} catch (err) {
onError?.(err);
throw err;
}
},
addClassroom: async ({ formData = {}, onSuccess, onError } = {}) => {
try {
const data = await request({
method: 'POST',
url: '/v1/classrooms/add_classroom/',
data: formData,
token: token
});
onSuccess?.(data);
return data;
} catch (err) {
onError?.(err);
throw err;
}
},
updateClassroom: async ({ formData = {}, onSuccess, onError } = {}) => {
try {
const data = await request({
method: 'POST',
url: '/v1/classrooms/update_classroom/',
data: formData,
token: token
});
onSuccess?.(data);
return data;
} catch (err) {
onError?.(err);
throw err;
}
},
deleteClassroom: async ({ formData = {}, onSuccess, onError } = {}) => {
try {
const data = await request({
method: 'POST',
url: '/v1/classrooms/delete_classroom/',
data: formData,
token: token
});
onSuccess?.(data);
return data;
} catch (err) {
onError?.(err);
throw err;
}
},
getAttendanceData: async ({ params = {}, onSuccess, onError } = {}) => {
try {
const data = await request({
url: '/v1/attendance/get_attendance_data/',
params: params,
token: token
});
onSuccess?.(data);
return data;
} catch (err) {
onError?.(err);
throw err;
}
},
getAttendance: async ({ params = {}, onSuccess, onError } = {}) => {
try {
const data = await request({
url: '/v1/attendance/get_attendance/',
params: params,
token: token
});
onSuccess?.(data);
return data;
} catch (err) {
onError?.(err);
throw err;
}
},
getTodayAttendance: async ({ params = {}, onSuccess, onError } = {}) => {
try {
const data = await request({
url: '/v1/attendance/get_today_attendance/',
params: params,
token: token
});
onSuccess?.(data);
return data;
} catch (err) {
onError?.(err);
throw err;
}
},
updateAttendance: async ({ formData = {}, onSuccess, onError } = {}) => {
try {
const data = await request({
method: 'POST',
url: '/v1/attendance/submit_attendance/',
data: formData,
token: token
});
onSuccess?.(data);
return data;
} catch (err) {
onError?.(err);
throw err;
}
},
})