UNPKG

playbasis

Version:
177 lines (57 loc) 2.32 kB
'use strict'; module.exports=function(Playbasis){ var http=Playbasis.http; var helpers=Playbasis.helpers; var apiMethod="Quest"; var api=Playbasis.questApi={}; api.questListInfo=function(options) { var keys=["tags"]; var dvalues=[null]; return http.getJsonAsync(helpers.createApiUrl(apiMethod)+helpers.appendAndJoinIfNotNullAsUrlParam2(keys,dvalues,options)); }; api.questInfo=function(questId) { return http.getJsonAsync(helpers.createApiUrl(apiMethod,questId)); }; api.missionInfo=function(questId,missionId) { return http.getJsonAsync(helpers.createApiUrl(apiMethod,questId,"mission",missionId)); }; api.questListAvailableForPlayer=function(playerId) { return http.getJsonAsync(helpers.createApiUrl(apiMethod,"available")+helpers.appendAndJoinIfNotNullAsUrlParam("player_id",playerId)); }; api.questAvailableForPlayer=function(questId,playerId) { return http.getJsonAsync(helpers.createApiUrl(apiMethod,questId,"available")+helpers.appendAndJoinIfNotNullAsUrlParam("player_id",playerId)); }; api.joinQuest=function(questId,playerId) { var obj={token:Playbasis.env.global.token,player_id:playerId}; return http.postJsonAsync(helpers.createApiUrl(apiMethod,questId,"join"),obj); }; api.joinAllQuests=function(playerId) { var obj={token:Playbasis.env.global.token,player_id:playerId}; return http.postJsonAsync(helpers.createApiUrl(apiMethod,"joinAll"),obj); }; api.cancelQuest=function(questId,playerId) { var obj={token:Playbasis.env.global.token,player_id:playerId}; return http.postJsonAsync(helpers.createApiUrl(apiMethod,questId,"cancel"),obj); }; api.resetQuest=function(playerId,options) { var obj={token:Playbasis.env.global.token,player_id:playerId}; var selectedOptionsObj=helpers.createObjectFromTarget(options,["quest_id"]); var combinedObj=helpers.combineObjects(obj,selectedOptionsObj); return http.postJsonAsync(helpers.createApiUrl(apiMethod,"reset"),combinedObj); }; api.questLeaderboard=function(questId,options) { var keys=["quest_id","completion_element_id","player_id","offset","limit","status"]; var dvalues=[questId,null,null,0,20,"all"]; return http.getJsonAsync(helpers.createApiUrl(apiMethod,"leader")+helpers.appendAndJoinIfNotNullAsUrlParam2(keys,dvalues,options)); }; };