/
items.js
34 lines (32 loc) · 1.08 KB
/
items.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
var _ = require('lodash'),
logger = require('../logger'),
EntityHelper = require('./entity_helper'),
Item = require('../entities/item'),
util = require('util')
var Items = EntityHelper.extend({
constructor: function(application, options) {
EntityHelper.call(this, application, _.extend({ entityName: 'Item', entityPlural: 'Items' }, options));
},
newItem: function(data, options) {
return new Item(this.application, data, options)
},
getItem: function(id, modifiedAfter) {
return this.getItems({ id: id, modifiedAfter: modifiedAfter })
.then(function(items) {
return _.first(items);
})
},
getItems: function(options) {
var self = this;
var clonedOptions = _.clone(options || {});
clonedOptions.entityConstructor = function(data) { return self.newItem(data) };
return this.getEntities(clonedOptions)
},
deleteItem: function(id) {
var options = {
id: id
};
return this.deleteEntities(options);
}
})
module.exports = Items;