@omegabigdata/honoplay-api-helper-node
Version:
154 lines (139 loc) • 4.3 kB
JavaScript
;
const { axiosClient } = require('./Helpers');
/**
* @param {object} traineeModel - Trainee Model for Post
* @param {!string} traineeModel.name - Traniee name
* @param {!string} traineeModel.surname - Traniee surname
* @param {!string} traineeModel.nationalIdentitynumber - Traniee nationalIdentitynumber
* @param {!string} traineeModel.phonenumber - Traniee phonenumber
* @param {!number} traineeModel.gender - Traniee gender
* @param {!number} traineeModel.workingStatusId - Traniee workingStatusId departmentId
* @param {!number} traineeModel.departmentId - Traniee departmentId
* @param {function} successCallback
* @param {function} errorCallback
*/
const postTrainee = (traineeModel, successCallback, errorCallback) => {
if (!traineeModel) {
if (errorCallback) {
errorCallback('Invalid Trainee Model');
return;
}
throw new Error('Invalid Trainee Model');
}
const uri = `Traineeuser`;
axiosClient
.post(uri, traineeModel)
.then(success => successCallback(success))
.catch(error => errorCallback(error));
};
/**
* @param {object} traineeModel - Trainee Model for Update
* @param {!number} traineeModel.id - Trainee id
* @param {!string} traineeModel.name - Traniee name
* @param {!string} traineeModel.surname - Traniee surname
* @param {!string} traineeModel.nationalIdentitynumber - Traniee nationalIdentitynumber
* @param {!string} traineeModel.phonenumber - Traniee phonenumber
* @param {!number} traineeModel.gender - Traniee gender
* @param {!number} traineeModel.workingStatusId - Traniee workingStatusId departmentId
* @param {!number} traineeModel.departmentId - Traniee departmentId
* @param {function} successCallback
* @param {function} errorCallback
*/
const putTrainee = (traineeModel, successCallback, errorCallback) => {
if (!traineeModel) {
if (errorCallback) {
errorCallback('Invalid Trainee Model');
return;
}
throw new Error('Invalid Trainee Model');
}
const uri = `Traineeuser`;
axiosClient
.put(uri, traineeModel)
.then(success => successCallback(success))
.catch(error => errorCallback(error));
};
/**
* @param {!number} skip
* @param {!number} take
* @param {function} successCallback
* @param {function} errorCallback
*/
const getTrainees = (skip, take, successCallback, errorCallback) => {
if (typeof skip !== 'number' || typeof skip !== 'number') {
throw new Error('Values must be numeric');
}
if (skip < 0 || take < 0) {
throw new Error('Values must be positive');
}
const uri = `Traineeuser?Skip=${skip}&Take=${take}`;
axiosClient
.get(uri)
.then(success => {
successCallback(success);
})
.catch(error => {
errorCallback(error);
});
};
/**
* @param {!number} traineeId - Trainee Id
* @param {function} successCallback
* @param {function} errorCallback
*/
const getTrainee = (traineeId, successCallback, errorCallback) => {
if (!traineeId) {
if (errorCallback) {
errorCallback('Missing Parameter');
return;
}
throw new Error('Missing Parameters');
}
if (typeof traineeId !== 'number') {
throw new Error('must be number');
}
if (traineeId < 0) {
throw new Error('must be positive number');
}
const uri = `Traineeuser/${traineeId}`;
axiosClient
.get(uri)
.then(success => {
successCallback(success);
})
.catch(error => {
errorCallback(error);
});
};
const getTraineeUserByClassroomId = (
classroomId,
successCallback,
errorCallback
) => {
if (classroomId == null || classroomId == undefined) {
if (errorCallback) {
errorCallback('Missing Parameters');
return;
}
throw new Error('Missing Parameters');
}
if (classroomId <= 0) {
throw new Error('Value must be greater than zero');
}
let uri = `classroom/${classroomId}/traineeuser`;
axiosClient
.get(uri)
.then(success => {
successCallback(success);
})
.catch(error => {
errorCallback(error);
});
};
module.exports = {
getTrainees,
getTrainee,
putTrainee,
postTrainee,
getTraineeUserByClassroomId
};