UNPKG

oomph

Version:

Object Oriented javascript models for the client and the server

50 lines (43 loc) 1.49 kB
// 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);