educa-sdk
Version:
A JavaScript SDK for interacting with the Educa backend API (Admin, Staff, and Student methods)
107 lines (97 loc) • 2.79 kB
JavaScript
import request from '../api/request.js';
export const account = () => ({
login: async ({ formData = {}, onSuccess, onError } = {}) => {
try {
const data = await request({
method: 'POST',
url: '/v1/auth/login/',
data: formData
});
onSuccess?.(data);
return data;
} catch (err) {
onError?.(err);
throw err;
}
},
forgotPassword: async ({ formData = {}, onSuccess, onError } = {}) => {
try {
const data = await request({
method: 'POST',
url: '/v1/account/forgot_password/',
data: formData
});
onSuccess?.(data);
return data;
} catch (err) {
onError?.(err);
throw err;
}
},
getProfile: async ({ params = {}, onSuccess, onError } = {}) => {
try {
const data = await request({
url: '/v1/account/admin_profile/'
});
onSuccess?.(data);
return data;
} catch (err) {
onError?.(err);
throw err;
}
},
logout: async ({ formData = {}, onSuccess, onError } = {}) => {
try {
const data = await request({
method: 'POST',
url: '/v1/account/admin_logout/',
data: formData
});
onSuccess?.(data);
return data;
} catch (err) {
onError?.(err);
throw err;
}
},
loginStatus: async ({ params = {}, onSuccess, onError } = {}) => {
try {
const data = await request({
url: '/v1/account/auth_status/'
});
onSuccess?.(data);
return data;
} catch (err) {
onError?.(err);
throw err;
}
},
changePassword: async ({ formData = {}, onSuccess, onError } = {}) => {
try {
const data = await request({
method: 'POST',
url: '/v1/account/change_password/',
data: formData
});
onSuccess?.(data);
return data;
} catch (err) {
onError?.(err);
throw err;
}
},
updateProfile: async ({ formData = {}, onSuccess, onError } = {}) => {
try {
const data = await request({
method: 'POST',
url: '/v1/account/update_profile/',
data: formData
});
onSuccess?.(data);
return data;
} catch (err) {
onError?.(err);
throw err;
}
},
})