UNPKG

@omegabigdata/honoplay-api-helper-node

Version:
144 lines (129 loc) 3.38 kB
"use strict"; const { axiosClient } = require("./Helpers"); const getOptionByQuestionId = (questionId, successCallback, errorCallback) => { if (questionId == null || questionId == undefined) { if (errorCallback) { errorCallback("Missing Parameters"); return; } throw new Error("Missing Parameters"); } if (questionId <= 0) { throw new Error("Value must be greater than zero"); } let uri = `/question/${questionId}/option`; axiosClient .get(uri) .then(success => { successCallback(success); }) .catch(error => { errorCallback(error); }); }; /** * @param {!number} optionId * @param {function} successCallback * @param {function} errorCallback */ const getOption = (optionId, successCallback, errorCallback) => { if (optionId == null || optionId == undefined) { if (errorCallback) { errorCallback("Missing Parameters"); return; } throw new Error("Missing Parameters"); } if (optionId <= 0) { throw new Error("Value must be greater than zero"); } let uri = `Option/${optionId}`; axiosClient .get(uri) .then(success => { successCallback(success); }) .catch(error => { errorCallback(error); }); }; /** * @param {!number} skip * @param {!number} take * @param {function} successCallback * @param {function} errorCallback */ const getOptions = (skip, take, successCallback, errorCallback) => { if (skip < 0 || take < 0) { throw new Error("Values must be positive"); } let uri = `Option`; 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} optionModel.questionId * @param {!number} optionModel.text * @param {!number} optionModel.visibilityOrder * @param {!boolean} optionModel.isCorrect * @param {function} successCallback * @param {function} errorCallback */ const putOption = (optionModel, successCallback, errorCallback) => { if (!optionModel) { if (errorCallback) { errorCallback("Missing Parameters"); return; } throw new Error("Missing Parameters"); } const uri = `Option`; axiosClient .put(uri, optionModel) .then(success => successCallback(success)) .catch(error => errorCallback(error)); }; /** * @param {!string} optionModel.questionId * @param {!number} optionModel.text * @param {!number} optionModel.visibilityOrder * @param {!boolean} optionModel.isCorrect * @param {function} successCallback * @param {function} errorCallback */ const postOption = (optionModel, successCallback, errorCallback) => { if (!optionModel) { if (errorCallback) { errorCallback("Missing Parameters"); return; } throw new Error("Missing Parameters"); } const uri = `Option`; axiosClient .post(uri, optionModel) .then(success => successCallback(success)) .catch(error => errorCallback(error)); }; module.exports = { getOption, getOptions, postOption, putOption, getOptionByQuestionId };