UNPKG

playbasis

Version:
209 lines (64 loc) 2.73 kB
'use strict'; module.exports=function(Playbasis){ var http=Playbasis.http; var helpers=Playbasis.helpers; var apiMethodUrl="Quiz"; var api=Playbasis.quizApi={}; api.listOfActiveQuizzes=function(options) { var keys=["player_id","type","tags"]; var dvalues=[null,null,null]; return http.getJsonAsync(helpers.createApiUrl(apiMethodUrl,"list")+helpers.appendAndJoinIfNotNullAsUrlParam2(keys,dvalues,options)); }; api.detailOfQuiz=function(quizId,options) { var keys=["player_id"]; var dvalues=[null]; return http.getJsonAsync(helpers.createApiUrl(apiMethodUrl,quizId,"detail")+helpers.appendAndJoinIfNotNullAsUrlParam2(keys,dvalues,options)); }; api.randomQuizForPlayer=function(playerId,options) { var keys=["player_id","type","tags"]; var dvalues=[playerId,null,null]; return http.getJsonAsync(helpers.createApiUrl(apiMethodUrl,"random")+helpers.appendAndJoinIfNotNullAsUrlParam2(keys,dvalues,options)); }; api.listQuizDone=function(playerId,limit) { return http.getJsonAsync(helpers.createApiUrl(apiMethodUrl,"player",playerId,limit)); }; api.listPendingQuiz=function(playerId,limit) { return http.getJsonAsync(helpers.createApiUrl(apiMethodUrl,"player",playerId,"pending",limit)); }; api.getQuestionFromQuiz=function(quizId,playerId,options) { var keys=["player_id","question_id","random"]; var dvalues=[playerId,null,null]; return http.getJsonAsync(helpers.createApiUrl(apiMethodUrl,quizId,"question")+helpers.appendAndJoinIfNotNullAsUrlParam2(keys,dvalues,options)); }; api.getQuestionFromQuiz_resetTimeStamp=function(quizId,playerId,options) { var obj={token:Playbasis.env.global.token,player_id:playerId}; var selectedOptionsObj=helpers.createObjectFromTarget(options,["question_id","random"]); var combineObj=helpers.combineObjects(obj,selectedOptionsObj); return http.postJsonAsync(helpers.createApiUrl(apiMethodUrl,quizId,"question"),combineObj); }; api.answerQuestion=function(quizId,playerId,questionId,optionId,answer) { var obj={token:Playbasis.env.global.token,player_id:playerId,question_id:questionId,option_id:optionId,answer:answer}; return http.postJsonAsync(helpers.createApiUrl(apiMethodUrl,quizId,"answer"),obj); }; api.rankPlayersByScore=function(quizId,limit) { return http.getJsonAsync(helpers.createApiUrl(apiMethodUrl,quizId,"rank",limit)); }; api.quizStatistics=function(quizId) { return http.getJsonAsync(helpers.createApiUrl(apiMethodUrl,quizId,"stat")); }; api.resetQuiz=function(playerId,quizId) { var obj={token:Playbasis.env.global.token,player_id:playerId,quiz_id:quizId}; return http.postJsonAsync(helpers.createApiUrl(apiMethodUrl,"reset"),obj); }; };