oomph
Version:
Object Oriented javascript models for the client and the server
50 lines (43 loc) • 1.49 kB
JavaScript
// Generated by CoffeeScript 1.9.3
(function() {
var _, _utilities, ajaxObjectClassDataStore, ajaxUtilities;
_ = require('lodash');
ajaxUtilities = require('./ajaxUtilities');
_utilities = require('../publicModules/utilities');
ajaxObjectClassDataStore = {
moduleName: "ajaxObjectClassDataStore",
ajax: {
get: function(path, args) {
return ajaxUtilities.httpRequest('GET', path, args, true);
},
post: function(path, args) {
return ajaxUtilities.httpRequest('POST', path, args, true);
},
put: function(path, args) {
return ajaxUtilities.httpRequest('PUT', path, args);
},
"delete": function(path, args) {
return ajaxUtilities.httpRequest('DELETE', path, args);
}
},
findBy: function(opts) {
return this.ajax.get('/api/' + _.kebabCase(this.name), opts);
},
find: function(id) {
return this.ajax.get('/api/' + _.kebabCase(this.name) + '/' + id);
},
all: function() {
return this.ajax.get('/api/' + _utilities.pluralKebabCase(this.name));
},
where: function(opts) {
return this.ajax.get('/api/' + _utilities.pluralKebabCase(this.name), opts);
},
create: function(opts) {
return this.ajax.post('/api/' + _.kebabCase(this.name), opts);
},
update: function(id, opts) {
return this.ajax.put('/api/' + _.kebabCase(this.name) + '/' + id, opts);
}
};
module.exports = ajaxObjectClassDataStore;
}).call(this);