playbasis
Version:
Playbasis Javascript SDK
177 lines (57 loc) • 2.32 kB
JavaScript
;
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));
};
};