UNPKG

@omegabigdata/honoplay-api-helper-node

Version:
132 lines (119 loc) 3.13 kB
'use strict'; const { axiosClient } = require('./Helpers'); /** * @param {object} tagModel - tag Model for Post * @param {!string} tag.name * @param {!boolean} tag.toQuestion * @param {function} successCallback * @param {function} errorCallback */ const postTag = (tagModel, successCallback, errorCallback) => { if (!tagModel) { if (errorCallback) { errorCallback('Missing Parameters'); return; } throw new Error('Missing Parameters'); } const uri = `Tag`; axiosClient .post(uri, tagModel) .then(success => successCallback(success)) .catch(error => errorCallback(error)); }; /** * @param {object} tagModel - tag Modelfor Update * @param {!number} tagModel.id - tag id * @param {!string} tagModel.name - tag name * @param {!boolean} tag.toQuestion * @param {function} successCallback * @param {function} errorCallback */ const putTag = (tagModel, successCallback, errorCallback) => { if (!tagModel) { if (errorCallback) { errorCallback('Missing Parameters'); return; } throw new Error('Missing Parameters'); } const uri = `Tag`; axiosClient .put(uri, tagModel) .then(success => successCallback(success)) .catch(error => errorCallback(error)); }; /** * @param {!number} skip * @param {!number} take * @param {function} successCallback * @param {function} errorCallback */ const getTags = (skip = null, take = null, successCallback, errorCallback) => { if (typeof skip !== 'number' || typeof take !== 'number') { throw new Error('Values must be numeric'); } if (skip <= -1 && take <= -1) { throw new Error('Values must be positive'); } const uri = `Tag?Skip=${skip}&Take=${take}`; axiosClient .get(uri) .then(success => { successCallback(success); }) .catch(error => { errorCallback(error); }); }; /** * @param {!number} tagId - tag Id * @param {function} successCallback * @param {function} errorCallback */ const getTag = (tagId, successCallback, errorCallback) => { if (!tagId) { if (errorCallback) { errorCallback('Missing Parameters'); return; } throw new Error('Missing Parameters'); } const uri = `Tag/${tagId}`; axiosClient .get(uri) .then(success => { successCallback(success); }) .catch(error => { errorCallback(error); }); }; const getTagByquestionId = (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}/tag`; axiosClient .get(uri) .then(success => { successCallback(success); }) .catch(error => { errorCallback(error); }); }; module.exports = { postTag, putTag, getTags, getTag, getTagByquestionId };