@omegabigdata/honoplay-api-helper-node
Version:
117 lines (106 loc) • 2.72 kB
JavaScript
;
const { axiosClient } = require("./Helpers");
/**
* @param {!number} questionId
* @param {function} successCallback
* @param {function} errorCallback
*/
const getQuestion = (questionId, successCallback, errorCallback) => {
if (questionId == null || questionId == undefined) {
if (errorCallback) {
errorCallback("Missing Parameters");
}
throw new Error("Missing Parameters");
}
if (questionId <= 0) {
throw new Error("Value must be greater than zero");
}
let uri = `Question/${questionId}`;
axiosClient
.get(uri)
.then(success => {
successCallback(success);
})
.catch(error => {
errorCallback(error);
});
};
/**
* @param {!number} skip
* @param {!number} take
* @param {function} successCallback
* @param {function} errorCallback
*/
const getQuestions = (skip, take, successCallback, errorCallback) => {
if (skip < 0 || take < 0) {
throw new Error("Values must be positive");
}
let uri = `Question`;
if (skip) {
uri += `?Skip=${skip}`;
}
if (skip && take) {
uri += `&Take=${take}`;
}
if (!skip && take) {
uri += `?Take=${take}`;
}
axiosClient
.get(uri)
.then(success => {
successCallback(success);
})
.catch(error => {
errorCallback(error);
});
};
/**
* @param {!string} question.text
* @param {!number} question.duration
* @param {!string} question.updatedBy
* @param {!string} question.id
* @param {function} successCallback
* @param {function} errorCallback
*/
const putQuestion = (question, successCallback, errorCallback) => {
if (!question) {
if (errorCallback) {
errorCallback("Missing Parameters");
return;
}
throw new Error("Missing Parameters");
}
const uri = `Question`;
axiosClient
.put(uri, question)
.then(success => successCallback(success))
.catch(error => errorCallback(error));
};
/**
* @param {!string} question.text
* @param {!number} question.duration
* @param {!string} question.updatedBy
* @param {!string} question.id
* @param {function} successCallback
* @param {function} errorCallback
*/
const postQuestion = (question, successCallback, errorCallback) => {
if (!question) {
if (errorCallback) {
errorCallback("Missing Parameters");
return;
}
throw new Error("Missing Parameters");
}
const uri = `Question`;
axiosClient
.post(uri, question)
.then(success => successCallback(success))
.catch(error => errorCallback(error));
};
module.exports = {
getQuestions,
putQuestion,
postQuestion,
getQuestion
};