@omegabigdata/honoplay-api-helper-node
Version:
149 lines (134 loc) • 3.67 kB
JavaScript
;
const { axiosClient } = require("./Helpers");
const getSessionByClassroomId = (
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}/session`;
axiosClient
.get(uri)
.then(success => {
successCallback(success);
})
.catch(error => {
errorCallback(error);
});
};
/**
* @param {object} sessionModel - Session Model for Post
* @param {!number} sessionModel.gameId - Session Model game id
* @param {!number} sessionModel.classroomId - Session Model classroom id
* @param {!string} sessionModel.name - Session Model name
* @param {function} successCallback
* @param {function} errorCallback
*/
const postSession = (sessionModel, successCallback, errorCallback) => {
if (!sessionModel) {
if (errorCallback) {
errorCallback("Missing Parameters");
return;
}
throw new Error("Missing Parameters");
}
const uri = `Session`;
axiosClient
.post(uri, sessionModel)
.then(success => successCallback(success))
.catch(error => errorCallback(error));
};
/**
* @param {object} sessionModel - Session Model for Update
* @param {!number} sessionModel.id - Session Model id
* @param {!number} sessionModel.gameId - Session Model game id
* @param {!number} sessionModel.classroomId - Session Model classroom id
* @param {!string} sessionModel.name - Session Model name
* @param {function} successCallback
* @param {function} errorCallback
*/
const putSession = (sessionModel, successCallback, errorCallback) => {
if (!sessionModel) {
if (errorCallback) {
errorCallback("Missing Parameters");
return;
}
throw new Error("Missing Parameters");
}
const uri = `Session`;
axiosClient
.put(uri, sessionModel)
.then(success => successCallback(success))
.catch(error => errorCallback(error));
};
/**
* @param {!number} skip
* @param {!number} take
* @param {function} successCallback
* @param {function} errorCallback
*/
const getSessionList = (skip, take, successCallback, errorCallback) => {
if (skip < 0 || take < 0) {
throw new Error("Values must be positive");
}
let uri = `Session`;
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 {!number} sessionId - Session Id
* @param {function} successCallback
* @param {function} errorCallback
*/
const getSession = (sessionId, successCallback, errorCallback) => {
if (sessionId == null || sessionId == undefined) {
if (errorCallback) {
errorCallback("Missing Parameters");
return;
}
throw new Error("Missing Parameters");
}
if (sessionId <= 0) {
throw new Error("Value must be greater than zero");
}
let uri = `Session/${sessionId}`;
axiosClient
.get(uri)
.then(success => {
successCallback(success);
})
.catch(error => {
errorCallback(error);
});
};
module.exports = {
getSessionList,
putSession,
postSession,
getSession,
getSessionByClassroomId
};