UNPKG

playbasis

Version:
733 lines (234 loc) 9.36 kB
'use strict'; module.exports=function(Playbasis){ var http=Playbasis.http; var helpers=Playbasis.helpers; var apiMethod="Player"; var _api=Playbasis.playerApi={}; _api.playerPublicInfo=function(playerId) { return http.getJsonAsync(helpers.createApiUrl(apiMethod,playerId)); }; _api.playerInfo=function(playerId) { return http.postJsonAsync(helpers.createApiUrl(apiMethod,playerId),{token:Playbasis.env.global.token}); }; _api.listPlayer=function(playerIdArray) { var playerIds=playerIdArray.join(","); return http.postJsonAsync(helpers.createApiUrl(apiMethod,"list"),{token:Playbasis.env.global.token,list_player_id:playerIds}); }; _api.playerDetailedPublicInfo=function(playerId) { return http.getJsonAsync(helpers.createApiUrl(apiMethod,playerId,"data","all")); }; _api.playerDetailedInfo=function(playerId) { return http.postJsonAsync(helpers.createApiUrl(apiMethod,playerId,"data","all"),{token:Playbasis.env.global.token}); }; _api.listCustomFieldsOfPlayer=function(playerId) { return http.getJsonAsync(helpers.createApiUrl(apiMethod,playerId,"custom")); }; _api.setCustomFieldOfPlayer=function(playerId,key,value) { return http.postJsonAsync(helpers.createApiUrl(apiMethod,playerId,"custom"),{token:Playbasis.env.global.token,key:key,value:value}); }; _api.register=function(playerId,email,options) { var obj={token:Playbasis.env.global.token,username:playerId,email:email}; if(options!=null){ for(var k in options){ if(k!="token"&& k!="username"&& k!="email"){ obj[k]=options[k]; } } } return http.postJsonAsync(helpers.createApiUrl(apiMethod,playerId,"register"),obj); }; _api.referral=function(playerId,referralCode,options) { var obj={token:Playbasis.env.global.token,player_id:playerId,referral_code:referralCode}; if(options!=null){ for(var k in options){ if(k!="token"&& k!="player_id"&& k!="referral_code"){ obj[k]=options[k]; } } } return http.postJsonAsync(helpers.createApiUrl(apiMethod,"referral"),obj); }; _api.update=function(playerId,updates) { var obj={token:Playbasis.env.global.token}; var selectiveUpdatesObj=helpers.createObjectFromTarget(updates,["username","email","image","phone_number","exp","level","facebook_id","twitter_id","password","first_name","last_name","gender","birth_date","device_id"]); var combinedObj=helpers.combineObjects(obj,selectiveUpdatesObj); return http.postJsonAsync(helpers.createApiUrl(apiMethod,playerId,"update"),combinedObj); }; _api.resetPlayerPassword=function(email) { var postObj={token:Playbasis.env.global.token,email:email}; return http.postJsonAsync(helpers.createApiUrl(apiMethod,"password","email"),postObj); }; _api.verifyPlayerEmail=function(playerId) { return http.postJsonAsync(helpers.createApiUrl(apiMethod,playerId,"email","verify"),{token:Playbasis.env.global.token}); }; _api.delete=function(playerId) { return http.postJsonAsync(helpers.createApiUrl(apiMethod,playerId,"delete"),{token:Playbasis.env.global.token}); }; _api.login=function(playerId) { return http.postJsonAsync(helpers.createApiUrl(apiMethod,playerId,"login"),{token:Playbasis.env.global.token}); }; _api.requestOTP=function(playerId) { return http.postJsonAsync(helpers.createApiUrl(apiMethod,"auth",playerId,"requestOTPCode"),{token:Playbasis.env.global.token}); }; _api.requestOTPforSetupPhone=function(playerId,phoneNumber) { return http.postJsonAsync(helpers.createApiUrl(apiMethod,"auth",playerId,"setupPhone"),{token:Playbasis.env.global.token,phone_number:phoneNumber}); }; _api.performOTPVerification=function(playerId,OTPcode) { return http.postJsonAsync(helpers.createApiUrl(apiMethod,"auth",playerId,"verifyOTPCode"),{token:Playbasis.env.global.token,code:OTPcode}); }; _api.logout=function(playerId) { return http.postJsonAsync(helpers.createApiUrl(apiMethod,playerId,"logout"),{token:Playbasis.env.global.token}); }; _api.listActivePlayerSessions=function(playerId) { return http.getJsonAsync(helpers.createApiUrl(apiMethod,playerId,"sessions")); }; _api.findPlayerBySession=function(sessionId) { return http.getJsonAsync(helpers.createApiUrl(apiMethod,"session",sessionId)); }; _api.points=function(playerId) { return http.getJsonAsync(helpers.createApiUrl(apiMethod,playerId,"points")); }; _api.point=function(playerId,pointName) { return http.getJsonAsync(helpers.createApiUrl(apiMethod,playerId,"point",pointName)); }; _api.pointHistory=function(playerId,options) { var pointName=null; var offset=0; var limit=20; var order="desc"; var keys=["point_name","offset","limit","order"]; var dvalues=[null,0,20,"desc"]; return http.getJsonAsync(helpers.createApiUrl(apiMethod,playerId,"point_history")+helpers.appendAndJoinIfNotNullAsUrlParam2(keys,dvalues,options)); }; _api.actionTime=function(playerId,actionName) { return http.getJsonAsync(helpers.createApiUrl(apiMethod,playerId,"action",actionName,"time")); }; _api.lastAction=function(playerId) { return http.getJsonAsync(helpers.createApiUrl(apiMethod,playerId,"action","time")); }; _api.actionCount=function(playerId,actionName) { return http.getJsonAsync(helpers.createApiUrl(apiMethod,playerId,"action",actionName,"count")); }; _api.level=function(level) { return http.getJsonAsync(helpers.createApiUrl(apiMethod,"level",level)); }; _api.levels=function() { return http.getJsonAsync(helpers.createApiUrl(apiMethod,"levels")); }; _api.badge=function(playerId,options) { var keys=["tags"]; var defaultValues=[null]; return http.getJsonAsync(helpers.createApiUrl(apiMethod,playerId,"badge")+helpers.appendAndJoinIfNotNullAsUrlParam2(keys,defaultValues,options)); }; _api.allBadges=function(playerId,options) { var keys=["tags"]; var defaultValues=[null]; return http.getJsonAsync(helpers.createApiUrl(apiMethod,playerId,"badgeAll")+helpers.appendAndJoinIfNotNullAsUrlParam2(keys,defaultValues,options)); }; _api.rank=function(rankBy,limit,options) { var keys=["mode"]; var dvalues=["all-time"]; return http.getJsonAsync(helpers.createApiUrl(apiMethod,"rank",rankBy,limit)+helpers.appendAndJoinIfNotNullAsUrlParam2(keys,dvalues,options)); }; _api.ranks=function(limit,options) { var keys=["mode"]; var dvalues=["all-tiome"]; return http.getJsonAsync(helpers.createApiUrl(apiMethod,"ranks",limit)+helpers.appendAndJoinIfNotNullAsUrlParam2(keys,dvalues,options)); }; _api.goods=function(playerId,options) { var keys=["tags","status"]; var dvalues=[null,"active"]; return http.getJsonAsync(helpers.createApiUrl(apiMethod,playerId,"goods")+helpers.appendAndJoinIfNotNullAsUrlParam2(keys,dvalues,options)); }; _api.questOfPlayer=function(playerId,questId) { return http.getJsonAsync(helpers.createApiUrl(apiMethod,"quest",questId)+"&player_id="+playerId); }; _api.questListOfPlayer=function(playerId,options) { var keys=["player_id","tags"]; var dvalues=[playerId,null]; return http.getJsonAsync(helpers.createApiUrl(apiMethod,"quest")+helpers.appendAndJoinIfNotNullAsUrlParam2(keys,dvalues,options)); }; _api.allQuestsOfPlayer=function(playerId) { return http.getJsonAsync(helpers.createApiUrl(apiMethod,"questAll",playerId)); }; _api.questRewardHistory=function(playerId,options) { var keys=["offset","limit"]; var dvalues=[0,50]; return http.getJsonAsync(helpers.createApiUrl(apiMethod,playerId,"quest_reward_history")+helpers.appendAndJoinIfNotNullAsUrlParam2(keys,dvalues,options)); }; _api.deductReward=function(playerId,reward,amount,options) { var postObj={token:Playbasis.env.global.token,reward:reward,amount:amount}; var optionObj=helpers.createObjectFromTarget(options,["force"]); var combinedObj=helpers.combineObjects(postObj,optionObj); return http.postJsonAsync(helpers.createApiUrl(apiMethod,playerId,"deduct"),combinedObj); }; _api.deductBadge=function(playerId,badge,amount,options) { var postObj={token:Playbasis.env.global.token,badge:badge,amount:amount}; var optionObj=helpers.createObjectFromTarget(options,["force"]); var combinedObj=helpers.combineObjects(postObj,optionObj); return http.postJsonAsync(helpers.createApiUrl(apiMethod,playerId,"deduct","badge"),combinedObj); }; _api.giveGift=function(sentPlayerId,receivedPlayerId,giftId,type,amount) { var postObj={token:Playbasis.env.global.token,sent_player_id:sentPlayerId,received_player_id:receivedPlayerId,gift_id:giftId,type:type,amount:amount}; return http.postJsonAsync(helpers.createApiUrl(apiMethod,sentPlayerId,"giveGift",type),postObj); }; _api.playerReferralCode=function(playerId) { return http.getJsonAsync(helpers.createApiUrl(apiMethod,playerId,"code")); }; _api.goodsCount=function(playerId,options) { var keys=["tags","status"]; var dvalues=[null,"active"]; return http.getJsonAsync(helpers.createApiUrl(apiMethod,playerId,"goods/count")+helpers.appendAndJoinIfNotNullAsUrlParam2(keys,dvalues,options)); }; _api.favoriteGoods=function(playerId,goodsId,status) { var postObj={token:Playbasis.env.global.token,goods_id:goodsId,status:status?"true":"false"}; return http.postJsonAsync(helpers.createApiUrl(apiMethod,playerId,"goods","favorite"),postObj); }; };