playbasis.js
Version:
Playbasis Javascript SDK
294 lines (80 loc) • 4.13 kB
JavaScript
;
module.exports=function(Playbasis){
var http=Playbasis.http;
var helpers=Playbasis.helpers;
var apiMethodUrl="Content";
var api=Playbasis.contentApi={};
api.retrieveContent=function(options)
{
var keys=["node_id","title","category","date_check","sort","order","offset","limit","full_html","pin","tags","status","player_id","only_new_content","only_new_feedback"];
var dvalues=[null,null,null,"true","title","asc",0,20,"false",null,null,null,null,null,null];
return http.getJsonAsync(helpers.createApiUrl(apiMethodUrl)+helpers.appendAndJoinIfNotNullAsUrlParam2(keys,dvalues,options));
};
api.countContent=function(options)
{
var keys=["title","category","date_check","pin","tags","status","player_id","only_new_content","only_new_feedback"];
var dvalues=[null,null,"false",null,null,null,null,null,null,null];
return http.getJsonAsync(helpers.createApiUrl(apiMethodUrl,"count")+helpers.appendAndJoinIfNotNullAsUrlParam2(keys,dvalues,options));
};
api.createContent=function(title,summary,detail,options)
{
var obj={token:Playbasis.env.global.token,title:title,summary:summary,detail:detail};
var selectedOptionsObj=helpers.createObjectFromTarget(options,["node_id","category","image","status","date_start","date_end","player_id","pin","tags","key","value"]);
var combineObj=helpers.combineObjects(obj,selectedOptionsObj);
return http.postJsonAsync(helpers.createApiUrl(apiMethodUrl,"addContent"),combineObj);
};
api.updateContent=function(nodeId,updates)
{
var obj={token:Playbasis.env.global.token};
var selectedOptionsObj=helpers.createObjectFromTarget(updates,["title","summary","detail","category","image","status","date_start","date_end","pin","tags","key","value"]);
var combineObj=helpers.combineObjects(obj,selectedOptionsObj);
return http.postJsonAsync(helpers.createApiUrl(apiMethodUrl,nodeId,"update"),obj);
};
api.deleteContent=function(nodeId)
{
var obj={token:Playbasis.env.global.token};
return http.postJsonAsync(helpers.createApiUrl(apiMethodUrl,nodeId,"delete"),obj);
};
api.retrieveCategory=function(options)
{
var keys=["id","name","sort","order","offset","limit"];
var dvalues=[null,null,null,null,null,null];
return http.getJsonAsync(helpers.createApiUrl(apiMethodUrl,"category")+helpers.appendAndJoinIfNotNullAsUrlParam2(keys,dvalues,options));
};
api.createCategory=function(name)
{
var obj={token:Playbasis.env.global.token,name:name};
return http.postJsonAsync(helpers.createApiUrl(apiMethodUrl,"category","create"),obj);
};
api.updateCategory=function(id,name)
{
var obj={token:Playbasis.env.global.token,id:id,name:name};
return http.postJsonAsync(helpers.createApiUrl(apiMethodUrl,"category","update"),obj);
};
api.deleteCategory=function(id)
{
var obj={token:Playbasis.env.global.token,id:id};
return http.postJsonAsync(helpers.createApiUrl(apiMethodUrl,"category","delete"),obj);
};
api.likeContent=function(nodeId,playerId,options)
{
var obj={token:Playbasis.env.global.token};
var selectedOptionsObj=helpers.createObjectFromTarget(options,["key","value"]);
var combineObj=helpers.combineObjects(obj,selectedOptionsObj);
return http.postJsonAsync(helpers.createApiUrl(apiMethodUrl,nodeId,"player",playerId,"like"),combineObj);
};
api.dislikeContent=function(nodeId,playerId,options)
{
var obj={token:Playbasis.env.global.token};
var selectedOptionsObj=helpers.createObjectFromTarget(options,["key","value"]);
var combineObj=helpers.combineObjects(obj,selectedOptionsObj);
return http.postJsonAsync(helpers.createApiUrl(apiMethodUrl,nodeId,"player",playerId,"dislike"),combineObj);
};
api.giveFeedbackContent=function(nodeId,playerId,feedback,options)
{
var obj={token:Playbasis.env.global.token,feedback:feedback};
var selectedOptionsObj=helpers.createObjectFromTarget(options,["key","value"]);
var combineObj=helpers.combineObjects(obj,selectedOptionsObj);
return http.postJsonAsync(helpers.createApiUrl(apiMethodUrl,nodeId,"player",playerId,"feedback"),combineObj);
};
};