educa-sdk
Version:
A JavaScript SDK for interacting with the Educa backend API (Admin, Staff, and Student methods)
131 lines (120 loc) • 3.55 kB
JavaScript
import request from '../api/request.js';
export const payroll = (token) => ({
getPayroll: async ({ params = {}, onSuccess, onError } = {}) => {
try {
const data = await request({
url: '/v1/payroll/payroll_list/',
params: params,
token: token
});
onSuccess?.(data);
return data;
} catch (err) {
onError?.(err);
throw err;
}
},
updatePayrollSettings: async ({ formData = {}, onSuccess, onError } = {}) => {
try {
const data = await request({
method: 'POST',
url: '/v1/payroll/payroll_settings/',
data: formData,
token: token
});
onSuccess?.(data);
return data;
} catch (err) {
onError?.(err);
throw err;
}
},
initiateSinglePayment: async ({ formData = {}, onSuccess, onError } = {}) => {
try {
const data = await request({
method: 'POST',
url: '/v1/payroll/initiate_transfer/',
data: formData,
token: token
});
onSuccess?.(data);
return data;
} catch (err) {
onError?.(err);
throw err;
}
},
makeSinglePayment: async ({ formData = {}, onSuccess, onError } = {}) => {
try {
const data = await request({
method: 'POST',
url: '/v1/payroll/make_transfer/',
data: formData,
token: token
});
onSuccess?.(data);
return data;
} catch (err) {
onError?.(err);
throw err;
}
},
initiateBulkPayment: async ({ formData = {}, onSuccess, onError } = {}) => {
try {
const data = await request({
method: 'POST',
url: '/v1/payroll/initiate_bulk_transfer/',
data: formData,
token: token
});
onSuccess?.(data);
return data;
} catch (err) {
onError?.(err);
throw err;
}
},
makeBulkPayment: async ({ formData = {}, onSuccess, onError } = {}) => {
try {
const data = await request({
method: 'POST',
url: '/v1/payroll/make_bulk_transfer/',
data: formData,
token: token
});
onSuccess?.(data);
return data;
} catch (err) {
onError?.(err);
throw err;
}
},
generatePaymentReceipt: async ({ params = {}, onSuccess, onError } = {}) => {
try {
const data = await request({
url: '/v1/payroll/generate_receipt/',
params: params,
token: token
});
onSuccess?.(data);
return data;
} catch (err) {
onError?.(err);
throw err;
}
},
getStaffPayrollHistory: async ({ params = {}, onSuccess, onError } = {}) => {
try {
const data = await request({
url: '/v1/payroll/payroll_history/',
params: params,
token: token
});
onSuccess?.(data);
return data;
} catch (err) {
onError?.(err);
throw err;
}
},
})