educa-sdk
Version:
A JavaScript SDK for interacting with the Educa backend API (Admin, Staff, and Student methods)
154 lines (142 loc) • 4.08 kB
JavaScript
import request from '../api/request.js';
export const account = (token) => ({
login: async ({ formData = {}, onSuccess, onError } = {}) => {
try {
const data = await request({
method: 'POST',
url: '/v3/auth/login/',
data: formData
});
onSuccess?.(data);
return data;
} catch (err) {
onError?.(err);
throw err;
}
},
getSchoolInfo: async ({ params = {}, onSuccess, onError } = {}) => {
try {
const data = await request({
url: '/v3/school/get_info/'
});
onSuccess?.(data);
return data;
} catch (err) {
onError?.(err);
throw err;
}
},
getSessions: async ({ params = {}, onSuccess, onError } = {}) => {
try {
const data = await request({
url: '/v3/school/get_sessions/',
params: params,
token: token
});
onSuccess?.(data);
return data;
} catch (err) {
onError?.(err);
throw err;
}
},
getTerms: async ({ params = {}, onSuccess, onError } = {}) => {
try {
const data = await request({
url: '/v3/school/get_terms/',
params: params,
token: token
});
onSuccess?.(data);
return data;
} catch (err) {
onError?.(err);
throw err;
}
},
getEvents: async ({ params = {}, onSuccess, onError } = {}) => {
try {
const data = await request({
url: '/v3/school/get_events/',
params: params,
token: token
});
onSuccess?.(data);
return data;
} catch (err) {
onError?.(err);
throw err;
}
},
getProfile: async ({ params = {}, onSuccess, onError } = {}) => {
try {
const data = await request({
url: '/v3/profile/get_profile/',
params: params,
token: token
});
onSuccess?.(data);
return data;
} catch (err) {
onError?.(err);
throw err;
}
},
uploadPassport: async ({ formData = {}, onSuccess, onError } = {}) => {
try {
const data = await request({
method: 'POST',
url: '/v3/profile/upload_passport/',
data: formData
});
onSuccess?.(data);
return data;
} catch (err) {
onError?.(err);
throw err;
}
},
changePassword: async ({ formData = {}, onSuccess, onError } = {}) => {
try {
const data = await request({
method: 'POST',
url: '/v3/profile/change_password/',
data: formData,
token: token
});
onSuccess?.(data);
return data;
} catch (err) {
onError?.(err);
throw err;
}
},
getStudentReport: async ({ params = {}, onSuccess, onError } = {}) => {
try {
const data = await request({
url: '/v3/profile/get_student_report/',
params: params,
token: token
});
onSuccess?.(data);
return data;
} catch (err) {
onError?.(err);
throw err;
}
},
getClassmates: async ({ params = {}, onSuccess, onError } = {}) => {
try {
const data = await request({
url: '/v3/classrooms/get_classmates/',
params: params,
token: token
});
onSuccess?.(data);
return data;
} catch (err) {
onError?.(err);
throw err;
}
},
})