lpio
Version:
The last dashboard app you'll ever need
56 lines (44 loc) • 1.42 kB
HTML
<link rel="import" href="../../../bower_components/polymer/polymer.html">
<link rel="import" href="app-actions.html">
<link rel="import" href="../../lp-imports/jquery.html">
<link rel="import" href="../../lp-imports/q.html">
<script>
window.ApiBehaviors = window.ApiBehaviors || {};
/**
*
* @polymerBehavior ApiBehaviors.Crud
*
**/
ApiBehaviors.CrudImpl = {
getEntity: function(type,id){
},
createEntity: function(type,entity){
var self = this;
// @TODO: add validation
if(!type || !_.isObject(entity)){
console.error("create: invalid payload");
return;
}
var url = self.endpoint + "/v1/"+type;
var defer = Q.defer();
$.ajax({
url: url,
type : 'POST',
contentType: "application/json",
data: JSON.stringify(entity)
})
.done(function(data) {
defer.resolve(data);
})
.fail(function(jqXHR, textStatus) {
defer.reject(new Error(textStatus));
});
return defer.promise;
},
updateEntity: function(type,entity){
},
deleteEntity: function(type,entity){
}
};
ApiBehaviors.Crud = [ApiBehaviors.CrudImpl,ApiBehaviors.App];
</script>