nodester 0.4.3 → 0.4.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -106,7 +106,7 @@ function _getIncludesTree(data=null) {
106
106
  for (const [ associationName, associationDefinition ] of associationEntries) {
107
107
  const formatted = { association: associationName };
108
108
 
109
- if (typeof data === 'object') {
109
+ if (!!data && typeof data === 'object') {
110
110
  // If data (for example during create)
111
111
  // is set, go deeper:
112
112
  const keys = Object.keys( data );
@@ -34,10 +34,11 @@ module.exports = traverse;
34
34
  * @param {ModelsTreeNode} queryNode
35
35
  * @param {NodesterFilter} filter
36
36
  * @param {Model} model
37
+ * @param {Object} association (optional)
37
38
  *
38
39
  * @access public
39
40
  */
40
- function traverse(queryNode, filter=null, model=null) {
41
+ function traverse(queryNode, filter=null, model=null, association=null) {
41
42
  const _model = model ?? filter.model;
42
43
 
43
44
  try {
@@ -236,21 +237,25 @@ function traverse(queryNode, filter=null, model=null) {
236
237
  const staticClausesEntries = Object.entries(filter.statics.clauses);
237
238
 
238
239
  for (let entry of staticClausesEntries) {
239
- const [clauseName, staticClauseValue] = entry;
240
+ const [ clauseName, staticClauseValue ] = entry;
240
241
 
241
242
  switch(clauseName) {
242
243
  case 'limit':
243
244
  newQuery.limit = staticClauseValue;
244
245
  continue;
246
+
245
247
  case 'skip':
246
248
  newQuery.offset = staticClauseValue;
247
249
  continue;
250
+
248
251
  case 'order':
249
252
  order.order = staticClauseValue;
250
253
  continue;
254
+
251
255
  case 'order_by':
252
256
  order.by = staticClauseValue;
253
257
  continue;
258
+
254
259
  default:
255
260
  break;
256
261
  }
@@ -378,7 +383,7 @@ function _traverseIncludes(includes, rootModel, filter, resultQuery) {
378
383
 
379
384
  const includeModel = association.target;
380
385
  // Build query for this include.
381
- const associationQuery = traverse(include, filter.includes[includeName], includeModel);
386
+ const associationQuery = traverse(include, filter.includes[includeName], includeModel, association);
382
387
 
383
388
  addAssociationQuery(associationQuery, includeName, resultQuery);
384
389
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nodester",
3
- "version": "0.4.3",
3
+ "version": "0.4.4",
4
4
  "description": "A versatile REST framework for Node.js",
5
5
  "directories": {
6
6
  "docs": "docs",